Quickstart — measure & verify

All commands force PYTHONPATH=src (the global spec-kitty shim resolves the sibling fork).

Measure next cold-start (import lever, WP-A)

# Attribution: where the import time goes (before/after the trim)
PYTHONPATH=src python -X importtime -m specify_cli next --agent test \
  --mission clean-install-fixture-01KQ22XX --json 2>importtime.log
# subprocess median (fixture, no charter) — mirrors the retired gate's method
cd tests/fixtures/clean_install_fixture_mission && \
  for i in 1 2 3 4 5; do /usr/bin/time -f '%e' \
    PYTHONPATH="$OLDPWD/src" python -m specify_cli next --agent test \
    --mission clean-install-fixture-01KQ22XX --json >/dev/null; done

Measure charter-freshness cache (WP-B)

# On a charter-bearing checkout (this repo): profile the preflight, confirm the
# second run skips _safe_load_yaml (ruamel parse) via cache hit.
PYTHONPATH=src python -m cProfile -s cumtime -m specify_cli next \
  --agent test --mission <a-real-mission> --json 2>&1 | grep -E 'compute_freshness|_safe_load_yaml|ruamel'

Correctness (NFR-002 / NFR-004)

PYTHONPATH=src pytest tests/charter_runtime/test_freshness_cache.py -q          # no-stale + fail-closed
PYTHONPATH=src pytest tests/specify_cli/next/test_next_output_preservation.py -q # byte-identical

Performance benchmark (WP-C) — off-PR only

# Runs only with the env gate (as performance.yml sets it):
SPEC_KITTY_RUN_PERFORMANCE=1 PYTHONPATH=src pytest tests/specify_cli/next \
  -m performance --benchmark-storage=file://tests/performance/baselines -q
# Seed the baseline post-fix (human commits the artifact; workflow never auto-commits):
SPEC_KITTY_RUN_PERFORMANCE=1 PYTHONPATH=src pytest tests/specify_cli/next \
  -m performance --benchmark-save=next --benchmark-storage=file://tests/performance/baselines

Verify the gate is gone (WP-D)

grep -n 'check_nfr_003_latency' .github/workflows/ci-quality.yml   # expect: no matches
test -f scripts/check_nfr_003_latency.py && echo STILL-PRESENT || echo deleted
# structural smoke still present:
grep -n 'next against fixture mission' .github/workflows/ci-quality.yml