Migrated from the deleted docs/open-work.md (items 11, 12). Both are contributor-experience issues.
pyright is not installed by default and nothing says to install it. CI type-checks on 3.12 only and it appears in no local instruction, so an entire branch was once written type-blind. It is pinned in pyproject.toml, and tools/pyright_baseline.py reproduces the CI gate exactly — run that, not bare pyright, which uses a different file set and can report a false zero.
Worth adding to the README or a CONTRIBUTING file, alongside python -m ruff check ..
Fast-lane budget. Against a ~5 min target on a two-core runner, recent additions cost about 25 s. tests/test_fit_candidate.py shows the pattern for keeping it down: search tests against a cheap analytic model with a known minimum, and one real-solver test behind @pytest.mark.slow.
Migrated from the deleted
docs/open-work.md(items 11, 12). Both are contributor-experience issues.pyright is not installed by default and nothing says to install it. CI type-checks on 3.12 only and it appears in no local instruction, so an entire branch was once written type-blind. It is pinned in
pyproject.toml, andtools/pyright_baseline.pyreproduces the CI gate exactly — run that, not barepyright, which uses a different file set and can report a false zero.Worth adding to the README or a CONTRIBUTING file, alongside
python -m ruff check ..Fast-lane budget. Against a ~5 min target on a two-core runner, recent additions cost about 25 s.
tests/test_fit_candidate.pyshows the pattern for keeping it down: search tests against a cheap analytic model with a known minimum, and one real-solver test behind@pytest.mark.slow.