Skip to content

chore: remove stale validate_coverage.py; decide whether mypy gates CI #157

Open

Description

@andrewbartels1

Two dev-tooling leftovers that no longer match how the repo works.

1. src/utils/validate_coverage.py is stale and crashes

  • Stale: it expects test files the repo no longer has (test_tools_modeling.py, test_adapters.py and others). Tests now mirror src/, and tests/integration/test_test_layout.py enforces that.
  • Crashes: on Windows it fails at startup: printing an emoji raises UnicodeEncodeError with the default cp1252 console encoding.
  • Unused: nothing references it, not CI, not dev-commands.ps1, not the docs.

Proposed: delete it. Coverage is already enforced by pytest-cov (100%) and the layout by test_test_layout.py. If anything in it is still wanted, move that into those.

2. mypy is configured but not enforced

pyproject.toml and dev-commands.ps1 configure mypy, but CI doesn't run it. It reports errors on main: 40 in adapters/solidworks/documentation.py alone. Most are lambdas passed to _attempt ("Cannot infer type of lambda") and Any returns. New code adds more of the same, and nobody notices.

Proposed: decide whether mypy should gate:

  • If yes: fix the existing errors module by module. Typing _attempt generically (def _attempt[T](self, op: Callable[[], T], default: T) -> T) should clear most of them. Then add a CI step.
  • If no: remove the mypy config, so editors stop flagging errors nobody will fix.

Acceptance

  • validate_coverage.py is removed, or rewritten so it runs and matches the current layout.
  • mypy either gates in CI with zero errors, or is removed from the config.
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions