pyproject: add [hessian] to dev extras for CI test parity

The earlier audit found one observation: pyproject.toml's `dev`
extras includes arborist[math] (sympy for ticket #000030's
SymPy substrate) but NOT arborist[hessian] (numpy + scipy for
#000034's φ_linear alignment probe).

Without this, fresh checkouts running `make bootstrap` (which uses
`pip install -e '.[dev]'`) skip tests/test_phi_alignment_probe.py
via pytest.importorskip("numpy") + pytest.importorskip(
"scipy.sparse.linalg") at module top. Tests show as
collected-but-skipped instead of actively running. Phase 1a
regressions (algorithm drift, KAT fixture corruption,
threshold-band drift) would only surface when an operator
deliberately ran `pip install '.[hessian]'` first.

Following fox's pattern with `[math]` in dev — arborist[math]
pulls sympy (~30 MB) into every fresh dev checkout so CI runs
test_canonical_projection.py + math π* tests by default.
arborist[hessian] adds ~80 MB combined (numpy + scipy) — a real
cost, but numpy/scipy are nearly universal Python deps and
already installed on most modern dev environments.

Verification:

- ``pip install -e '.[dev]' --dry-run`` now resolves numpy>=1.26
  + scipy>=1.11 (previously did not).
- ``make test`` → 1986 passed, 45 skipped (no new failures; no
  test count change since I already had the extras locally
  installed for #000034 Phase 1a development).

Effect:
- New dev checkout: phi_alignment_probe's 23 tests run by
  default (no skip).
- CI catches algorithm drift / KAT corruption / threshold drift
  in #000034 Phase 1a code on every push, same as how the
  [math] inclusion catches drift in canonical_cache /
  canonical_projection tests.

Test/code ratio (per cookbook appendix § "Unit-test density"):
phi_alignment_probe at 419 test LOC / 200 code LOC = 2.10×
puts it firmly in the "contract-defining foundation" bracket
(≥1× threshold fox flagged for substrate-paper-spec'd
primitives). Matches the discipline.
This commit is contained in:
russell@unturf.com 2026-05-10 15:05:51 -04:00
parent 6cbbf9505e
commit 0274be9e0c
No known key found for this signature in database

View file

@ -74,6 +74,7 @@ dev = [
"arborist[mesh]",
"arborist[crawler]",
"arborist[math]",
"arborist[hessian]",
]
[project.scripts]