Add type hints across the backend, ship a `py.typed` marker so consumers get types, and run mypy in CI. Acceptance: mypy passes at an agreed strictness; the package is typed for consumers.
Add type hints across the backend, ship a
py.typedmarker so consumers get types, and run mypy in CI.Acceptance: mypy passes at an agreed strictness; the package is typed for consumers.