Problem
The CI workflow runs `make check-format`, `make lint`, and `make test` but does NOT run `make typecheck` (mypy). Type errors can be merged without detection.
Solution
- Add `make typecheck` step to the CI workflow for both Linux/macOS and Windows jobs