docs: ticket §7 status refresh (#000034 + #000036) + CLAUDE.md AUTOCOUNT rule + #000045 ref

Two parallel landings in one commit:

== §-status sweep on in-progress tickets ==

Checked #000034 / #000035 / #000036 §7 Status sections against
their file-header status. Same pattern as earlier sweep on
#000037 / #000025 / #000006 — body-section prose freezes at
earlier snapshots while file headers stay current. 2 of 3 had
drift.

**#000034 §7** lead: was "Open · awaiting go/no-go" + "Phase 1a
proposed below" + body subsection "Phase 1a (landed 2026-05-10)".
The lead line was a 2-versions-old prose snapshot contradicting
the same section's own subsection. Refresh: "In progress · Phase
1a landed 2026-05-10 (commit 1dfb8b9; test backfill a4b3056).
Phase 1b parks until v7 reference checkpoint..."

**#000035 §7**: already says "In progress · Phase 1 landed
2026-05-10". No drift; sample-confirmed clean.

**#000036 §7** lead: was "Awaits fox + cryptographer review of
constants." Refresh to current state — "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). Empirical tightening
tracked separately under #000043." Matches file header verbatim.

**#000036 closure criterion (c)** was marked "[pending —
docs-only commit]" but soft-hash-channel-analysis.md §9.3 line
475 already reads:

  "§9.3 closed 2026-05-10 via the T3 per-window bound at
   docs/soft-hash-channel-t3-bound.md (under #000036)"

So criterion (c) is done. Refresh: "[done — §9.3 closure landed
in line 475 of that doc]". Also clarify criterion (d) gates on
the dav1d review verdict (was ambiguous as just "explicitly
accepted by fox").

== #000037 §20 — reference #000045 follow-on ==

fox opened #000045 (Prometheus-Σ Phase 3 sleep-sweep scaffold)
in commit 0379e4c. My §20 refresh from 3b30126 said "Phase 3
gates on a renewed §12 trigger plus a Phase 3 ticket" — now
that Phase 3 ticket is named: #000045. Refresh to point at it
explicitly so future readers don't have to grep TICKETS.md to
find the follow-on.

== CLAUDE.md — AUTOCOUNT discipline rule ==

Added a paragraph to "Operational rules" pointing future
blackops shifts at the AUTOCOUNT discipline (#000044 + the
harness at tests/test_doc_counts.py). Without this, the harness
is discoverable only by accidentally hitting a test failure or
reading commit messages. With it, "tag at write time" is a
documented operational rule alongside Python-only, PYTHONUNBUFFERED,
and fail-closed.

Rule names: format, 4 metrics (tests / fixture-rows / db-rows /
db-where), code-fence-skip behavior, closed-ticket-stay-untagged
discipline, pointer to #000044 + the harness module.

== Verification ==

  $ pytest tests/test_doc_counts.py
  3 passed in 2.80s

No drift introduced. fox's parallel 4 commits (4b85a0a /
43380b1 / 1f882df / 0379e4c) landed independently; my
modifications stack on top cleanly. fox's commits added 155 +
89 lines to test_prometheus.py + test_prometheus_audit.py but
collected counts stayed at 42 + 17 — those landings modified
existing tests (parametrize additions / refactors), didn't add
new test functions. AUTOCOUNT claims from 3b30126 still match.
This commit is contained in:
russell@unturf.com 2026-05-10 18:39:05 -04:00
parent 0379e4c23a
commit 952abc5085
No known key found for this signature in database
4 changed files with 45 additions and 20 deletions

View file

@ -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:
``<!--AUTOCOUNT:metric:path-->N<!--/AUTOCOUNT-->`` 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."

View file

@ -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)

View file

@ -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].

View file

@ -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.
---