#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

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