core/Makefile
Shay d388fc9e2c feat: close ADR-0241/0242 post-Accept backlog (local-first mastery)
Complete remaining W5/post-pivot backlog without Docker CI: INV-21 allowlist
dedup, -n auto fast/full defaults, frozen f64 GP Python SOT suite, real
sensorium compiler → ψ → algebraic ρ feed, V2 fib/dyadic/log fixed-replay
evidence without production energy promotion, and project doctrine restored to
local-first + ubuntu-latest:host (no Docker CI for merge).

[Verification]: Smoke suite passed locally (145s, 176 passed); make test-fast
(-n auto) passed twice (11709 passed, 108 skipped each ~11–12 min).
2026-07-16 15:25:43 -07:00

51 lines
2.5 KiB
Makefile

# Test lanes — see docs/testing-lanes.md.
#
# Slow tests are classified in conftest.py (SLOW_FILES / SLOW_TESTS), not via
# in-file decorators. Classification adds the `slow` marker only; it never
# skips, so the lanes below are selected explicitly by marker expression.
#
# Parallel (`-n auto`) is the default for fast/full after #46 xdist polluter
# isolation. Serial escape hatch: `make test-fast-serial` / `test-full-serial`
# for debugging. See docs/testing-lanes.md.
#
# CLOSE flywheel Claim-B determinism (post-#791 hardening): after any
# CLOSE/idle_tick/realize_derived/consolidate/vault/determine change, also run
# uv run python -m evals.close_derived_climb
# uv run python -m pytest tests/test_derived_close_proposals.py tests/test_architectural_invariants.py -q
# See docs/testing-lanes.md "Recommended determinism / teaching regression invocation".
.PHONY: test-fast test-fast-serial test-slow test-full test-full-serial test-close-flywheel
# Fast dev lane — excludes the slow soak/bench/proof/eval-matrix registry.
test-fast:
uv run pytest -n auto -m "not quarantine and not slow" -q
# Serial escape hatch when debugging xdist-specific failures.
test-fast-serial:
uv run pytest -m "not quarantine and not slow" -q
# Slow lane — only the heavyweight registry tests (serial: long soaks).
test-slow:
uv run pytest -m "slow and not quarantine" -q
# Full lane — everything except known-failing quarantine (what CI runs).
test-full:
uv run pytest -n auto -m "not quarantine" -q
test-full-serial:
uv run pytest -m "not quarantine" -q
# Dedicated CLOSE Flywheel Regression Surface (Claim-B Level)
# High-signal, intentional regression target for heavier determinism
# regressions and teaching/anti-regression verification flows (not fast
# local dev or CI). Exercises the full hardened Claim-B yardstick:
# - lived ChatRuntime.idle_tick() + IdleTickResult.derived_close_proposals_emitted
# - semantic determine() + Determined(..., rule='direct') asserts
# - content_replay_checksum (canonical closures + proposal bodies)
# - wrong_total=0, 1/5/8 growth, full determinism, hermeticity
# See docs/testing-lanes.md "Dedicated CLOSE Flywheel Regression Surface..."
# Explicitly heavy (real runtimes; ~60s+); composable via make; respects
# Mechanical Sympathy / Semantic Rigor / Third Door.
test-close-flywheel:
uv run python -m evals.close_derived_climb
uv run python -m pytest tests/test_derived_close_proposals.py tests/test_architectural_invariants.py tests/test_anti_regression_demo.py -q