Summary
CI's mypy invocations target only examples/typed_consumer.py, never the actual package.
Details
.github/workflows/tests.yml:43 and :63 both run mypy only against examples/typed_consumer.py. The package (lib/python/base_cli, ~9,450 lines, fully annotated with from __future__ import annotations, shipping a py.typed marker per pyproject.toml:82-83) is never type-checked by CI. The py.typed marker is a PEP 561 promise to consumers that the library's types are correct.
Impact
Type errors inside the library itself can land undetected indefinitely while downstream consumers rely on its type stubs being accurate.
Suggested fix
Add python -m mypy --strict lib/python/base_cli (or at least non-strict) to the quality job.
Summary
CI's mypy invocations target only
examples/typed_consumer.py, never the actual package.Details
.github/workflows/tests.yml:43and:63both run mypy only againstexamples/typed_consumer.py. The package (lib/python/base_cli, ~9,450 lines, fully annotated withfrom __future__ import annotations, shipping apy.typedmarker perpyproject.toml:82-83) is never type-checked by CI. Thepy.typedmarker is a PEP 561 promise to consumers that the library's types are correct.Impact
Type errors inside the library itself can land undetected indefinitely while downstream consumers rely on its type stubs being accurate.
Suggested fix
Add
python -m mypy --strict lib/python/base_cli(or at least non-strict) to the quality job.