Skip to content

ty: re-enable the nine blanket-ignored rules with per-file ignores #290

Description

@jayhesselberth

Tier P3 · effort M · from the 2026-09-13 review (CLI F7)

pyproject.toml [tool.ty.rules] ignores unresolved-attribute,
unresolved-import, possibly-missing-attribute, invalid-argument-type,
invalid-method-override, not-subscriptable, no-matching-overload,
too-many-positional-arguments, missing-argument, call-non-callable.
uvx ty check src/leech/ reports "All checks passed"; with those rules as
warnings it reports 218 diagnostics (136 invalid-argument-type, 36
unresolved-attribute, 15 call-non-callable, 10 possibly-missing-attribute,
9 invalid-method-override, 6 not-subscriptable, 3 missing-argument, 2
too-many-positional-arguments). The two at signal_refine.py:733,736 are the
union-dispatch false positive the config comment names; the rest are
unexamined. CI runs uvx ty at latest (ci.yml:53) while the dev pin is
ty>=0.0.64 (lock 0.0.78).

Acceptance criteria

  • The nine rules are enabled globally; each remaining false positive carries a # ty: ignore[rule] with a one-line reason; real defects found on the way are fixed in separate small commits (list them in the PR).
  • CI pins ty to the locked version (uv run ty, not uvx ty).
  • uv run ty check src/leech/ passes with zero diagnostics and no blanket ignores.

Non-goals

  • Typing tests/.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood first issueGood for newcomersreview-2026-09Findings from the 2026-09-13 codebase review

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions