diff --git a/CLAUDE.md b/CLAUDE.md index 43ba610..4353e06 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -376,6 +376,21 @@ question. Provenance gap on this is tracked in (`arborist-zk-bench`, `arborist-world`, etc.) so a fresh checkout needs only `python3.12 + venv + sqlite3`. - **Always `export PYTHONUNBUFFERED=1`** for long-running processes. +- **AUTOCOUNT discipline on numeric claims in `docs/`.** Any + numeric claim added to a doc (test count, fixture-row count, + SQLite row count, filtered-row count) should be wrapped in an + AUTOCOUNT tag at write time so future drift fires the + regression test. Format: + ``N`` where + ``metric`` is one of ``tests`` / ``fixture-rows`` / ``db-rows`` + / ``db-where``. Tags are invisible in rendered markdown + (GitHub strips HTML comments). Tags inside ```` ``` ```` fenced + code blocks are auto-skipped (illustrative examples, not live + claims). Closed-ticket "N tests pass" snapshots stay UNtagged + (they're point-in-time historical records). Full discipline + + 4-metric reference + future-metric recipe in + ``docs/tickets/ticket-000044-autocount-doc-drift-discipline.md``; + harness at ``tests/test_doc_counts.py``. - Fail-closed. Cleanup crew, not demolition. - DRY in context — single source of truth, no sprawl. - Never say "AI" — always say "machine learning." diff --git a/docs/tickets/ticket-000034-hessian-alignment-phi-linear.md b/docs/tickets/ticket-000034-hessian-alignment-phi-linear.md index 1d4e810..13ef349 100644 --- a/docs/tickets/ticket-000034-hessian-alignment-phi-linear.md +++ b/docs/tickets/ticket-000034-hessian-alignment-phi-linear.md @@ -169,12 +169,13 @@ across runs to detect drift in the analysis. ## 7. Status -**Open · awaiting go/no-go.** Parks until a v7 reference -checkpoint is available; the analysis is empirical-only and +**In progress · Phase 1a landed 2026-05-10** (synthetic-ablation +probe + KAT fixture in commit `1dfb8b9`; test backfill in +`a4b3056`). Phase 1b parks until a v7 reference checkpoint is +available — the real-data measurement is empirical-only and useless without representative training data on the V7 deployment -side. **Phase 1a (synthetic-ablation) proposed below as a way -to land probe infrastructure ahead of v7 ramp-up — same pattern -as #000035 Phase 1.** +side. **Phase 1a infrastructure is ready to run the moment v7 +ramp-up surfaces a checkpoint.** ### Phase 1a — synthetic-ablation probe (landed 2026-05-10) diff --git a/docs/tickets/ticket-000036-t3-per-window-bound.md b/docs/tickets/ticket-000036-t3-per-window-bound.md index 1d0f2e4..c7ef7f1 100644 --- a/docs/tickets/ticket-000036-t3-per-window-bound.md +++ b/docs/tickets/ticket-000036-t3-per-window-bound.md @@ -219,13 +219,18 @@ whether the residual is acceptable. ## 7. Status -**In progress · Phase 1 (formal derivation) landed 2026-05-10.** -Awaits fox + cryptographer review of constants. The framework is -the deliverable; named constants (C_B1 = C_B2 = C_B3 = 1) are -conservative-but-loose first estimates that future tightening -can replace without changing the call sites of the closed-form -bound. Phase 1 prerequisite (per original §7) was satisfied: -#000034 Phase 1a + #000035 Phase 1 both landed 2026-05-10. +**In progress · Phase 1 (formal derivation + calculator) landed +2026-05-10**; pre-review polish pass in `8916bf3`; **math review +in flight with dav1d** (forwarded 2026-05-10 Asia/Kuala_Lumpur +as Tier 2 bundle: `t3-bound.md` + `soft-hash-analysis.md` + +`t3_bound_calculator.py` + `test_t3_bound_calculator.py` + this +ticket). The framework is the deliverable; named constants +(C_B1 = C_B2 = C_B3 = 1) are conservative-but-loose first +estimates that future tightening can replace without changing +the call sites of the closed-form bound. Empirical tightening +tracked separately under #000043. Phase 1 prerequisite (per +original §7) was satisfied: #000034 Phase 1a + #000035 Phase 1 +both landed 2026-05-10. ### Phase 1 — formal derivation + calculator (landed 2026-05-10) @@ -274,7 +279,8 @@ training-loss + Hessian data. Closes when (a) the closed-form bound lands [done], (b) the calculator script lands [done], (c) ``soft-hash-channel- -analysis.md §9.3`` is updated to reference this doc [pending — -docs-only commit], (d) the conservative constants either get -empirically tightened or are explicitly accepted by fox as -conservative-correct. +analysis.md §9.3`` is updated to reference this doc [done — +§9.3 closure landed in line 475 of that doc], (d) the conservative +constants either get empirically tightened (under #000043) or +are explicitly accepted by fox as conservative-correct +[pending — gates on dav1d math review verdict]. diff --git a/docs/tickets/ticket-000037-prometheus-sigma-recursive-falsification-controller.md b/docs/tickets/ticket-000037-prometheus-sigma-recursive-falsification-controller.md index c0a22d2..b0be645 100644 --- a/docs/tickets/ticket-000037-prometheus-sigma-recursive-falsification-controller.md +++ b/docs/tickets/ticket-000037-prometheus-sigma-recursive-falsification-controller.md @@ -1156,10 +1156,13 @@ the decision to the Phase 2 ticket. with `error_detection_rate == 1.0` (every harvested row IS a falsification by construction). -Phase 3 (the actual scheduler) gates on a renewed §12 trigger -plus a Phase 3 ticket. Until then the closed loop runs at -test-suite cadence: Phase 1 emits proposals → harvester writes -fixtures → 5F battery exercises → coverage grows with the corpus. +Phase 3 (the actual scheduler) is now tracked under +**#000045** (opened 2026-05-10; doc-only scaffold pinning 8 +governance parameters + 4 retrigger gates). Implementation +opens only after one #000045 retrigger fires. Until then the +closed loop runs at test-suite cadence: Phase 1 emits proposals +→ harvester writes fixtures → 5F battery exercises → coverage +grows with the corpus. ---