fix(mypy): clear Annotation-debt bucket for in-scope codes (closes #117) #119
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!119
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/117-annotation-tidy-rebased"
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?
Rebase of PR #118 (
fix/annotation-tidy-t_5df1a1a4@7e9a485) onto currentmain, opened as a new branch because the original head required a history rewrite to land.Why a new PR
PR #118 was
mergeable=false: its head was 15 commits behindmainand conflicted in two files. Both conflicts were cases wheremainhad already landed an equivalent-or-better version of the same change:backend/app/modules/base.py— #118 proposedrequires_config: ClassVar[list[str]] = [];mainalready hasClassVar[tuple[str, ...]] = ()(immutable, prevents config leaking across module classes). Resolved in favour ofmain.backend/app/services/investigations/orchestrator_enhanced.py— both sides fix the sameorder_bytyping;main'sdesc(cast(ColumnElement, ...))form is equivalent. Resolved in favour ofmain.Residual value after rebase
Five files still carry non-redundant fixes not present on
main:modules/registry.py—list_module_detailsreturn type used the builtinanyinstead oftyping.Any.routers/investigations.py— twoorder_by(...)sites cast toColumnElement[Any].services/investigations/async_executor.py—order_bycast.services/investigations/orchestrator_v3_llm.py—order_bycast.services/investigations/state_machine.py—order_bycast.Verification (Python 3.12 — repo requires >=3.12)
origin/mainmypy backend/app/ruff check .pytest(full suite)The two failure sets are identical (
common the sortedFAILEDlists yields empty in both directions) — this branch introduces no regressions and fixes 7 mypy errors.Also fixed one defect carried by the original commit: it left
sqlalchemyimports out of order inasync_executor.pyandorchestrator_v3_llm.py, which failedruffI001. Corrected viaruff check --fix.Note on the 83 pre-existing failures
Unrelated to this PR and present on
main. ~19 aretest_module_metadatacases still asserting the old list form, e.g.:These are fallout from the
ClassVar[tuple[...]]change already onmain; the tests were never updated. Tracked separately — not in scope for #117.Supersedes #118.