Skip to content

Enforce annotation coverage going forward (ruff ANN rules) #533

Description

@tschm

Problem

mypy currently passes clean on all 21 source files, but annotations are not enforced on new code — ruff's `ANN` rule family is not selected. Nothing prevents new untyped functions from landing (there is already one untyped-function note in `language_validators.py:152`).

Proposal

  • Enable ruff `ANN` rules (at least `ANN001`, `ANN201`/`ANN2xx`) to lock in the now-clean type coverage.
  • Optionally add `--check-untyped-defs` to the mypy config.
  • Triage/ignore any existing gaps explicitly so the gate stays green.

Context

Surfaced in repository analysis (2026-06-14). Type safety scored 9/10; this closes the remaining gap.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions