ci(backend-lint): add mypy as a gating step (closes #109) #158
No reviewers
Labels
No labels
agentic-osint
audit
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:preflight
blocked:verify-failed
bug
chore
deferred
enhancement
feature-request
in-progress
lint-baseline
lint-cleanup
needs-decompose
needs-triage
performance
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/osint-hub!158
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/109-mypy-gating"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Re-enables mypy as a required (gating) step in the
backend-lintCI job. The step was removed entirely in5184b67("fix(ci): trim workflow to a deterministic 3-job lint gate") because the single-job-serial runner's dispatch window could not fit the full 9-job matrix. Now that mypy debt is at zero (PR #155), the step can be re-added without breaking the runner's dispatch budget — mypy is deterministic, network-light, and matches the lint profile.Baseline → current
9176d7f) — real-bug bucket21c1aba) — var-annotated bucket5c26589etc.) — Optional/None + union + dict-item + redundant-cast + unused-ignore + index + operator + arg-type + no-redef + truthy-function + misc + unreachable + no-any-return428b01aetc.) — attr-defined + union-attr + assignmentLocal run on
d9dc0f8+ this PR's diff:Changes
.forgejo/workflows/ci.yml— add amypystep insidebackend-lint, after the existing ruff format check. Nocontinue-on-errorso the step is gating. Pinsmypy==1.13.0to match the version that achieved zero errors locally and is documented inpyproject.toml.7 ruff format drift files folded in from PR #155 — purely cosmetic line-wrap fixes (no semantic edits), to keep
ruff format --checkgreen:backend/app/modules/osint_playbook.pybackend/app/modules/pdf_analyzer.pybackend/app/routers/investigations.pybackend/app/services/investigations/async_executor.pybackend/app/services/investigations/entity_tools.pybackend/app/services/investigations/pipeline/runner.pybackend/app/services/investigations/queue_manager.pyVerification
ruff check app/ --config ../pyproject.tomlruff format --check app/ --config ../pyproject.tomlmypy app/ --config-file ../pyproject.tomlgit diff --check origin/main...HEADCI will run on PR open; expected: backend-lint green (ruff + mypy), frontend-lint green, all-checks-pass green.
Acceptance (matches task body)
Both criteria are met by the diff in this PR. Awaiting CI confirmation on PR open.
Task linkage
t_43b6c15ct_11d64463Refs: PR #155 (mypy cleanup), PR #157 (closes #120)
Closes #109.