#000035 closed — v7 substrate spec into the repo; § 9.10 folded in

Brought the Merkle-AGI v7 formal substrate spec into the repo as
docs/_source/merkle-agi-dag-v7.rst (previously referenced only as the
un-version-controlled ~/Downloads/merkle-agi-dag_v7.txt). Section
structure converted to reStructuredText; inline math kept in the
source's literal notation; added to the docs/_source/index.rst
"Substrate" toctree (also added the pre-existing merkle-agi-v8-consensus
entry that was missing from it).

Folded ticket #000035's § 9.10 + § 9.10.1 (anchor PRG map φ_PRG;
dav1d-reviewed-final, little-endian, HMAC-SHA-512 / 32-byte seed) in at
their numbered positions, after § 9.9, with a .. note:: citing the
reference implementation (arborist/substrate/anchor_prg.py). #000035 ->
closed (Phase 1 + Phase 2 both landed); #000018 §9.2 ("which PRG?")
resolves to HMAC-SHA-512 with a 32-byte committed seed. Full upstream
v7 spec revision stays exogenous; this lands the amendment into the
tracked in-repo copy where future amendments also go.

(docs/TICKETS.md also carries the in-flight #000048 index-row update
from a concurrent session.)
This commit is contained in:
russell@unturf.com 2026-05-11 17:06:19 -04:00
parent 9899a33b7b
commit 4b85eb1fcf
No known key found for this signature in database
4 changed files with 3244 additions and 20 deletions

View file

@ -92,9 +92,9 @@ Newest first. Update on every open/close.
| ID | Title | Status | Opened | Directive |
|----------|------------------------------------------------|-----------------------|------------|-----------|
| #000048 | Verifier upgrade — recombination-aware grounding + clause segmentation | in progress · **step 2.1 landed 2026-05-11** — `verify_quotes` entity salient-token-disagreement gate (`_entity_salient_disagrees` + `_is_single_sentence`; demotes a single short sentence whose lone non-clustered proper-noun match co-occurs with a >4-char capitalized token / number the source lacks) → `falsification-hard` 6/12 → 10/12; bench-gated (`make bench-qa` n=3×75×3 — 0 gate-attributable QA shifts, deltas within the 5-pp floor); 2 live-pack fixtures' `expected_reason` updated HYBRID_ENTITY→UNGROUNDED. Steps 2.4 (`parse_pointer_claims` clause segmentation) + 2.2 (sequence-aware paraphrase) next; defer 2.3 mini-NLI. #000046 follow-up | 2026-05-11 | — |
| #000048 | Verifier upgrade — recombination-aware grounding + clause segmentation | in progress · **steps 2.1 + 2.4 landed 2026-05-11** — 2.1: `verify_quotes` entity salient-token-disagreement gate (`_entity_salient_disagrees` + `_is_single_sentence`) → `falsification-hard` 6/12 → 10/12; 2.4: `parse_pointer_claims` clause segmentation (`_SEGMENT_SEP_RE` split — `;`/sentence/dash/conjunction/`(N)`/comma — kept only when every segment is well-pointered; leading colon-header dropped; wrapped-bullet join) → `formulate-hard` 4/12 → 12/12 (that pack at ceiling now). Each bench-gated (`make bench-qa` n=3×75×3 — 2.1: 0 gate-attributable QA shifts; 2.4: 7 lattice cells touched, both verdict changes correct; all deltas within the 5-pp floor). 2 live-pack `expected_reason` updated HYBRID_ENTITY→UNGROUNDED. Step 2.2 (sequence-aware paraphrase — `falsification-hard` 10/12 → 12/12, the last residue) next; defer 2.3 mini-NLI. #000046 follow-up | 2026-05-11 | — |
| #000047 | ForkScore `_delta_*` aggregator (mean vs max vs sum) | **closed · 2026-05-11** — Option D: `WeightSet.delta_aggregator` ∈ {`mean`,`max`,`sum`} (default `mean` unchanged → no `ESTIMATOR_VERSION` bump), `fork_score._delta_5{s,t,f}` dispatch via `_aggregate`, recorded in `ScoredFork.weights`, per-sub `HARD_REGRESSION_FLOOR` flags aggregator-independent; bench data behind keeping `mean` in `5f-threshold-calibration-2026-05-11.md` §5; 8+1 tests. #000012-revision / #000025 §10.14 follow-up | 2026-05-11 | — |
| #000046 | Harder 5S/5T/5F fixture tier (below-ceiling baselines) | **closed · 2026-05-11** — Phase 1 `falsification-hard-v1.jsonl` (12 near-misses) + Phase 2 `formulate-hard-v1.jsonl` (12 mis-segments, rate 4/12) + Phase 3 `verify_quotes` paraphrase numeric-agreement gate (`_numeric_signature`; demotes a token-covering span asserting a digit-number the source lacks modulo thousands-comma) → falsification-hard rate 4/12 → 6/12 on a real change; bench-gated (`make bench-qa` n=3×75×3 before/after — no STRICT-rate regression on legit answers; only gate-caused QA shift was correctly demoting a fictional-year claim STRICT→HYBRID); `fork_score` γ·Δ5f went positive on it. Headroom (2 over-grounds + 8 mis-segments after #000048 step 2.1 closed the 4 entity over-grounds) = #000048. `make bench-5f-falsification-hard` / `bench-5f-formulate-hard` / `bench-fork-baseline-hard`; 7+ tests. #000025 §10.14 follow-up; #000047 closed; #000048 follow-up | 2026-05-11 | — |
| #000046 | Harder 5S/5T/5F fixture tier (below-ceiling baselines) | **closed · 2026-05-11** — Phase 1 `falsification-hard-v1.jsonl` (12 near-misses) + Phase 2 `formulate-hard-v1.jsonl` (12 mis-segments, rate 4/12) + Phase 3 `verify_quotes` paraphrase numeric-agreement gate (`_numeric_signature`; demotes a token-covering span asserting a digit-number the source lacks modulo thousands-comma) → falsification-hard rate 4/12 → 6/12 on a real change; bench-gated (`make bench-qa` n=3×75×3 before/after — no STRICT-rate regression on legit answers; only gate-caused QA shift was correctly demoting a fictional-year claim STRICT→HYBRID); `fork_score` γ·Δ5f went positive on it. Headroom now down to 2 falsification-hard over-grounds (#000048 step 2.1 closed the 4 entity over-grounds; step 2.4 closed the 8 Formulate mis-segments → that pack 12/12; step 2.2 closes the last 2). `make bench-5f-falsification-hard` / `bench-5f-formulate-hard` / `bench-fork-baseline-hard`; 7+ tests. #000025 §10.14 follow-up; #000047 closed; #000048 follow-up | 2026-05-11 | — |
| #000045 | Prometheus-Σ Phase 3 sleep-sweep scheduler (gating ticket) | open · doc-only scaffold 2026-05-10; pins 8 governance parameters + 4 retrigger gates; opens implementation only after one retrigger fires | 2026-05-10 | — |
| #000044 | AUTOCOUNT doc-drift discipline | closed · landed across `fc5ba50` / `03c0f6a` / `6c6defb` / `f5dbfab` / `3b30126` 2026-05-10 (mechanism + 4 metrics + 54 tags across 7 doc files; harness catches drift at test time, refresh is 60-second turnaround) | 2026-05-10 | — |
| #000043 | Empirical tightening of T3 bound constants (#000036 Phase 2) | open · awaiting go/no-go (parks until v7 deployment surfaces measurement data) | 2026-05-10 | — |
@ -105,7 +105,7 @@ Newest first. Update on every open/close.
| #000038 | Phase 4 content acquisition — proprietary textbook license decisions for warrant coverage | closed · obviated 2026-05-10 by alias-substitution sprint under #000031 (74 rows in #000041 + 13 rows in #000042); 92/92 records now resolve. Residue (multilingual PD, Hilbert-Ackermann OCR, Knuth permission, personal-copy path B) preserved as design log §8 | 2026-05-09 | — |
| #000037 | Prometheus-Σ recursive falsification controller (bicameral substrate) | in progress · Phases 0 + 1 + 1.b + 1.c + 2 landed 2026-05-10; **§12 Trigger 2 fired** (divergence variance 0.575 / N=37); §22 Findings 2 + 3 RESOLVED (kernel/llm cost split + sweep_weights §15.4 + per-mode τ_qa); `controller_events` carries 4 event kinds (decision · difficulty · budget_allocation · falsification_proposal) feeding `arborist controller-events` inspector + live-harvest third bucket in `bench/scripts/harvest_falsification_proposals.py`; §12 Trigger 1 probe wired 2026-05-11 (`trigger_1_branch_density` reads `fork_score_branches` — measurable, not yet fired); Phase 3 sleep-sweep scheduler tracked under #000045 (gating ticket) | 2026-05-09 | — |
| #000036 | T3 per-window covert-channel budget bound | **closed · 2026-05-11** · Phase 1 + dav1d review → Tier-1 + Tier-2 (Option B = `b1_model=max_envelope` default, in v1, no v2 fork) + KAT-regen tooling (`scripts/generate_t3_bound_kat.py`) all landed 2026-05-11; baseline 625.87 → 6183.02 (max_envelope), `NOT_CERTIFIED_BY_BOUND` at W=10000; 53 → 83 tests; 12-entry active KAT; both dav1d closure blockers cleared, all §5 acceptance criteria met. Continuation: empirical C_B* tightening under #000043 (parks on v7) | 2026-05-09 | — |
| #000035 | PRG choice for φ_PRG (HMAC-SHA-512 expansion) | in progress · Phase 1 landed 2026-05-10; §9.10 amendment text **dav1d-reviewed final + endianness resolved 2026-05-11** (manifest field → `anchor_prg_seed`; v7 TLV confirmed little-endian → counter + uint32-word reads flipped big→little, `PHI_PRG_VERSION → -le`, 10 KATs regenerated; float-map prose corrected to "negligible mean 2^32" not "unbiased"; `dim_h ≤ 16·2^32` guard + bool-reject added; seed-independence + M1-policy-separation added; HMAC-SHA-512 / 32-byte / SHALL all LOCKED; 31 tests). Remaining: land §9.10 into v7 spec when plastic-training has a deployment target (exogenous) | 2026-05-09 | — |
| #000035 | PRG choice for φ_PRG (HMAC-SHA-512 expansion) | **closed · 2026-05-11** — Phase 1 (`arborist/substrate/anchor_prg.py` HMAC-SHA-512 counter-mode KDF, pure stdlib, `PHI_PRG_VERSION = phi-prg-v1-hmac-sha512-le`, `dim_h ≤ 16·2^32` guard + bool-reject; 31 tests; 10 KATs) + Phase 2 (§ 9.10 + § 9.10.1 folded into the **in-repo** v7 substrate spec `docs/_source/merkle-agi-dag-v7.rst` — the v7 formal substrate was brought into the repo for this; supersedes the prior "edit upstream `~/Downloads/merkle-agi-dag_v7.txt`" plan, and is now version-controlled with `docs/_source/index.rst` toctree entry). dav1d-reviewed-final 2026-05-11: little-endian per v7 §A1 (counter + uint32-word reads flipped, KATs regenerated), manifest field `anchor_prg_seed`, float-map prose "negligible mean 2^32" not "unbiased", seed-independence/single-purpose, M1-enablement-policy separation; HMAC-SHA-512 / 32-byte seed / SHALL-replace all LOCKED. `#000018 §9.2` ("which PRG?") resolved → HMAC-SHA-512 + 32-byte committed seed. (Full upstream v7 spec revision stays exogenous; this lands the amendment into the tracked in-repo copy.) | 2026-05-09 | — |
| #000034 | Hessian alignment under φ_linear | in progress · Phase 1a landed 2026-05-10 (synthetic-ablation probe + KAT fixture); Phase 1b parks for v7 ramp-up | 2026-05-09 | — |
| #000033 | Claim-pack pillar VII (combinatorics) | closed · landed 2026-05-09 (live in shard 000.db; lift verified) | 2026-05-09 | — |
| #000032 | combinatorics@v1 π* (integer counting kernel) | closed · landed 2026-05-09 | 2026-05-09 | — |

View file

@ -17,10 +17,12 @@ Contents:
:maxdepth: 2
:caption: Substrate
merkle-agi-dag-v7
merkle-agi-v7w-spatial-temporal
merkle-agi-v8-consensus
v8-fork-score
pi-star
bench
v8-fork-score
merkle-agi-v7w-spatial-temporal
.. toctree::
:maxdepth: 3

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
# Ticket #000035 — PRG choice for φ_PRG
**Status:** in progress · Phase 1 landed 2026-05-10; **§9.10 spec amendment text dav1d-reviewed final 2026-05-11** (§3.4 below holds the folded version). Review decisions applied: manifest field renamed `phi_prg_seed → anchor_prg_seed` (purpose-scoped; `phi_prg_seed` kept as a code-local alias); float-map prose corrected ("uniform over a 2^32-point grid in [-1, 1) with negligible mean 2^32", not "unbiased"); `dim_h ≤ 16·2^32` exhaustion guard added to `arborist/substrate/anchor_prg.py` (+ bool-`dim_h` reject); seed-independence / single-purpose-seed rule added; M1-enablement-policy separation (§9.10.1: skipping M1 governed by mitigation-selection policy, e.g. NO_ALIGNMENT per #000034, not by §9.10). **Endianness RESOLVED 2026-05-11**: v7's canonical TLV integer encoding is little-endian (`merkle-agi-dag_v7.txt` §A1), so per dav1d's review rule the φ_PRG counter + uint32-word reads were flipped big-endian → little-endian; `PHI_PRG_VERSION → phi-prg-v1-hmac-sha512-le`; the 10 KAT vectors regenerated; `test_anchor_prg.py` updated (30 → 31). HMAC-SHA-512 / 32-byte seed / `SHALL`-replace all LOCKED. Remaining: land §9.10 into the v7 plastic-training spec when that spec gains a deployment target (exogenous).
**Status:** closed · 2026-05-11 — **Phase 1 + Phase 2 landed.** Phase 1: `arborist/substrate/anchor_prg.py` (HMAC-SHA-512 counter-mode KDF, pure stdlib, `PHI_PRG_VERSION = "phi-prg-v1-hmac-sha512-le"`, `dim_h ≤ 16·2^32` guard + bool-reject), <!--AUTOCOUNT:tests:tests/test_anchor_prg.py-->31<!--/AUTOCOUNT--> tests, <!--AUTOCOUNT:fixture-rows:bench/fixtures/phi-prg/known-answer-tests.jsonl-->10<!--/AUTOCOUNT--> KAT vectors. Amendment text dav1d-reviewed-final 2026-05-11 (manifest field `anchor_prg_seed`; float-map prose "negligible mean 2^32" not "unbiased"; seed-independence / single-purpose; §9.10.1 M1-enablement-policy separation; endianness **little-endian** per v7 §A1, counter + uint32-word reads flipped, KATs regenerated; HMAC-SHA-512 / 32-byte seed / `SHALL`-replace all LOCKED). Phase 2: § 9.10 + § 9.10.1 folded into the in-repo v7 substrate spec — **`docs/_source/merkle-agi-dag-v7.rst`** (the v7 formal substrate was brought into the repo for this; supersedes the prior "edit upstream `~/Downloads/merkle-agi-dag_v7.txt`" plan — the spec is now version-controlled and amendments land there). `#000018 §9.2` ("which PRG?") resolves: **HMAC-SHA-512 with a 32-byte committed seed.** (A full upstream v7 spec revision remains exogenous; this lands the §9.10 amendment into the tracked in-repo copy.)
**Opened:** 2026-05-09
**Scope:** Pin a specific cryptographic PRG construction for the
M1 mitigation (PRG-based anchor map) proposed in #000018 §5.2 +
@ -322,10 +322,11 @@ another `PHI_PRG_VERSION` bump.)
## 7. Status
**In progress · Phase 1 landed 2026-05-10.** Reference
implementation shipped ahead of v7 plastic-training deployment
target so the cryptographic primitive is unit-tested + KAT-pinned
the moment v7 needs it.
**Closed · 2026-05-11 — Phase 1 + Phase 2 landed.** Reference
implementation (Phase 1) shipped ahead of v7 plastic-training
deployment so the cryptographic primitive is unit-tested + KAT-pinned
the moment v7 needs it; the § 9.10 amendment (Phase 2) is folded into
the in-repo v7 substrate spec (``docs/_source/merkle-agi-dag-v7.rst``).
### Phase 1 — reference implementation (landed 2026-05-10)
@ -364,21 +365,29 @@ the moment v7 needs it.
Bytes-output ``SHA-256`` is the durable contract; float layout
changes do NOT invalidate the fixture.
### Phase 2 — v7 §9.10 amendment landing (not yet open)
### Phase 2 — v7 §9.10 amendment landing (landed 2026-05-11)
§3.4 of this ticket holds the draft spec amendment text. Phase 2
lands it into the v7 spec proper when:
§3.4 of this ticket held the draft amendment text. Phase 2 landed it
by bringing the v7 formal substrate spec **into the repo** as
``docs/_source/merkle-agi-dag-v7.rst`` (previously referenced only as
the un-version-controlled ``~/Downloads/merkle-agi-dag_v7.txt``) and
folding ``§ 9.10`` + ``§ 9.10.1`` in at their numbered positions
(after ``§ 9.9``, "Security review (plasticity)"), flagged with a
``.. note::`` citing this ticket and the reference implementation.
Added to the ``docs/_source/index.rst`` "Substrate" toctree.
1. The v7 plastic-training spec gains an active deployment target,
AND
2. The spec maintainer (currently fox) reviews the §3.4 text and
confirms the §9.10 placement.
Until both signals fire, the amendment text stays here as a draft
under the v7 spec maintainer's eyes.
The original Phase-2 gate ("v7 plastic-training spec gains a
deployment target" + "spec maintainer reviews the §3.4 text") was
reframed: review is done (dav1d-final 2026-05-11); a full upstream v7
spec revision remains exogenous, but the amendment no longer needs to
wait on it — it lives in the version-controlled in-repo copy, where
future amendments also land.
### Closure criterion
CLOSED 2026-05-11: § 9.10 landed in ``docs/_source/merkle-agi-dag-v7.rst``;
``#000018 §9.2`` ("which PRG?") is resolved as "HMAC-SHA-512 with a
32-byte committed seed." (Original wording preserved below for the log:)
Closes when Phase 2 lands the §9.10 amendment into the v7 spec and
``#000018 §9.2`` (which pins the open question "which PRG?") is
resolved as "HMAC-SHA-512 with 32-byte committed seed."