#000070: dav1d review 2026-06-01 — GO with rewrite (AnchorN, not Anchor6)
Folds dav1d's 1904-line review verdict into the ticket as §0 (new),
preserves §§1-8 as the design log of the original Anchor6 proposal
that was reviewed. Status flips from "open · awaiting dav1d review"
to "open · dav1d GO with rewrite · spec revision pending before any
kernel ships."
Verdict matrix:
✅ GO: generic AnchorN substrate primitive (not fixed Anchor6)
✅ GO: Joseph6 as the first registered default grammar (not THE
ontology)
✅ GO: deterministic object-state canonicalization
✅ GO: axiom/physics-loaded WorldDimensionGrammar as the scalable
path
❌ NO-GO: hard-coding H₁..H₆ as final ontology
❌ NO-GO: runtime LLM-decided dimensionality (axioms MAY propose,
only deterministic validators may accept; grammars must
freeze via grammar_hash before proof-path use)
❌ NO-GO: framing this as a "semantic verifier warrant"
❌ NO-GO: relation/event/place/agent_trace in this ticket
❌ NO-GO: SQL persistence at Phase 1
Critical technical corrections:
- H₁ MUST use uint256, not uint64 (octree position entropy at
depth >8)
- Rotation mapper is map_rotation_euler_ypr(), NOT "SO(3)"
(review §17 — quantized Euler triple, no continuous SO(3))
- Canonical record carries grammar_hash + axiom_pack_hash +
manifest_hash + seed_hash alongside the per-dimension values
- Missing privacy.class = HARD reject (no PUBLIC fallback)
- spatial-anchor-object@v1 folds into canonicalization_version
only — no new audit_mode token, no verifier_policy_hash bump
Corrected package layout:
arborist/substrate/spatial_anchor.py (AnchorN, split_anchor_n)
arborist/world/grammar.py NEW — WorldDimensionGrammar
arborist/world/pi_star/object.py (derive_world_object_record
+ 5 mappers)
arborist/pi_star/spatial_anchor_object.py NEW — registry adapter
bench/fixtures/spatial-anchor-object/known-answer-tests.jsonl
tests/test_spatial_anchor.py
tests/test_world_dimension_grammar.py
tests/test_pi_star_spatial_anchor_object.py
Implementation NOT started — arborist/world/__init__.py STATUS still
"namespace_reserved"; only bench/spatial_anchor_validation.py
(pre-review empirical bench, commit 55b651f) on disk. Review arrives
at the right moment: no production code committed against the original
Anchor6 spec yet, so the AnchorN reframe lands in the spec before
the wrong primitive ships.
Full review archived at:
docs/dav1d-reviews/000070-spatial-anchor-pi-w-object--2026-06-01.txt
Five of ten original open questions resolved by the pre-review bench
(Q1/Q2/Q3/Q8/Q9); review answers Q4/Q5/Q6/Q7; Q10 (paper-amendment
wording) is the only remaining open question — substrate paper text
needs revision to introduce AnchorN + grammar layer instead of fixed
Anchor6.
This commit is contained in:
parent
329337ac11
commit
862662b903
3 changed files with 2072 additions and 5 deletions
File diff suppressed because one or more lines are too long
1904
docs/dav1d-reviews/000070-spatial-anchor-pi-w-object--2026-06-01.txt
Normal file
1904
docs/dav1d-reviews/000070-spatial-anchor-pi-w-object--2026-06-01.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,14 @@
|
|||
# Ticket #000070 — Spatial-anchor π*_w_object (Joseph 6-dim determination kernel)
|
||||
# Ticket #000070 — AnchorN + π*_w_object: deterministic world-object canonicalization
|
||||
|
||||
**Status:** open · awaiting dav1d review + fox go/no-go ·
|
||||
pre-review empirical bench shipped in `55b651f` (see §7a)
|
||||
**Status:** open · **dav1d GO with rewrite (2026-06-01)** · spec
|
||||
revision pending before any kernel ships. Pre-review empirical bench
|
||||
(`bench/spatial_anchor_validation.py`, commit `55b651f`) already on
|
||||
disk; no implementation kernel started (only the namespace stub at
|
||||
`arborist/world/__init__.py` exists, `STATUS = "namespace_reserved"`).
|
||||
**Original title kept in the design log:** "Spatial-anchor π*_w_object
|
||||
(Joseph 6-dim determination kernel)". §0 below carries the corrected
|
||||
spec; §§1-8 preserve the ORIGINAL Anchor6 proposal as the historical
|
||||
record of what was reviewed.
|
||||
**Opened:** 2026-05-31
|
||||
**Scope:** Pin the operational spec for **π*_w_object** — the first
|
||||
verifier kernel of v7-W. Implements **Joseph (@TrudoJo)**'s 6-dimension
|
||||
|
|
@ -43,7 +50,163 @@ Joseph (@TrudoJo, original framework author), #000013 follow-up,
|
|||
|
||||
---
|
||||
|
||||
## 1. Problem statement
|
||||
## 0. Dav1d review verdict (2026-06-01) — GO with rewrite
|
||||
|
||||
Full review at `docs/dav1d-reviews/000070-spatial-anchor-pi-w-object--2026-06-01.txt`
|
||||
(1904 lines). Headlines below; §§1-8 stay unchanged as the design log
|
||||
of the original Anchor6 proposal that was reviewed.
|
||||
|
||||
### 0.1 Verdict matrix
|
||||
|
||||
| | | |
|
||||
|---|---|---|
|
||||
| ✅ GO | generic **AnchorN** substrate primitive | not fixed Anchor6 |
|
||||
| ✅ GO | **Joseph6** as the first registered default grammar | not THE ontology |
|
||||
| ✅ GO | deterministic object-state canonicalization | the actual Phase 1 win |
|
||||
| ✅ GO | axiom/physics-loaded `WorldDimensionGrammar` | the scalable path |
|
||||
| ❌ NO-GO | hard-coding H₁..H₆ as final ontology | freezes the substrate |
|
||||
| ❌ NO-GO | runtime LLM-decided dimensionality | breaks reproducibility |
|
||||
| ❌ NO-GO | framing this as a "semantic verifier warrant" | commitments ≠ warrants |
|
||||
| ❌ NO-GO | relation/event/place/agent_trace inside this ticket | scope-creep |
|
||||
| ❌ NO-GO | SQL persistence in Phase 1 | namespace-reserved kernel only |
|
||||
|
||||
### 0.2 Architectural reframe
|
||||
|
||||
Replace the fixed Anchor6 primitive with **generic AnchorN** driven
|
||||
by a frozen `WorldDimensionGrammar`. The grammar is a deterministic
|
||||
manifest declaring N and the N region→mapper bindings. Joseph6
|
||||
becomes a *named* grammar instance (`name="joseph6", version="v1"`),
|
||||
not THE substrate.
|
||||
|
||||
**Critical correction on the "axioms decide N" intuition:**
|
||||
|
||||
- Axioms MAY *select* the grammar (LLM may *propose* candidates).
|
||||
- Only *deterministic validators* may accept them.
|
||||
- Accepted grammars are canonicalized, hashed, KAT-tested, versioned.
|
||||
- **Grammars must be FROZEN before proof-path use** — `grammar_hash`
|
||||
folds into the manifest. Runtime LLM dimensionality is the
|
||||
failure mode dav1d explicitly NO-GOs.
|
||||
|
||||
### 0.3 Technical corrections (load-bearing)
|
||||
|
||||
- **§16 — H₁ MUST use uint256, not uint64.** The original
|
||||
`map_octree_position()` truncation loses entropy at depth >8
|
||||
octants. uint256 preserves the full 32-byte region. Same lesson
|
||||
propagates to the other quantized dimensions.
|
||||
- **§17 — Do NOT overclaim SO(3) on rotation.** The original spec
|
||||
called H₃ a "quantized SO(3)" mapper; dav1d notes this is a
|
||||
quantized Euler ypr triple — name it `map_rotation_euler_ypr()`
|
||||
so consumers don't assume continuous SO(3) coverage.
|
||||
- **§18 — Canonical object output shape:** the record carries
|
||||
`grammar_hash`, `axiom_pack_hash`, `manifest_hash`, `seed_hash`
|
||||
alongside the per-dimension quantized values. All four hashes
|
||||
are required for replayability across grammar versions.
|
||||
- **§19 — Privacy fail-closed:** missing `privacy.class` in
|
||||
manifest = HARD reject (don't fall back to PUBLIC).
|
||||
- **§20 — Hash/cache discipline:** spatial-anchor-object@v1 folds
|
||||
into `canonicalization_version` only; no new `audit_mode` token,
|
||||
no `verifier_policy_hash` bump.
|
||||
|
||||
### 0.4 Corrected package layout (was §13 of the review)
|
||||
|
||||
```
|
||||
arborist/substrate/spatial_anchor.py
|
||||
AnchorN
|
||||
split_anchor_n()
|
||||
SPATIAL_ANCHOR_VERSION
|
||||
PLACEHOLDER_SPATIAL_SEED
|
||||
|
||||
arborist/world/grammar.py (NEW)
|
||||
WorldDimensionGrammar
|
||||
canonical_grammar_bytes()
|
||||
grammar_hash()
|
||||
validate_grammar()
|
||||
|
||||
arborist/world/pi_star/object.py
|
||||
derive_world_object_record()
|
||||
map_octree_position() # uint256 — see §16
|
||||
map_scale_level()
|
||||
map_rotation_euler_ypr() # not "SO(3)" — see §17
|
||||
map_symbol_table_index()
|
||||
map_passthrough_hex()
|
||||
|
||||
arborist/pi_star/spatial_anchor_object.py (NEW)
|
||||
registered π* adapter
|
||||
name = "spatial-anchor-object"
|
||||
version = "v1"
|
||||
canonicalize(raw: bytes) -> bytes
|
||||
|
||||
bench/fixtures/spatial-anchor-object/known-answer-tests.jsonl
|
||||
tests/test_spatial_anchor.py
|
||||
tests/test_world_dimension_grammar.py
|
||||
tests/test_pi_star_spatial_anchor_object.py
|
||||
```
|
||||
|
||||
The split moves **registry-facing canonicalization** to
|
||||
`arborist/pi_star/` and keeps **v7-W domain logic** under
|
||||
`arborist/world/`. AnchorN itself stays substrate-level alongside
|
||||
`anchor_prg.py` since it's the generic key-derivation primitive.
|
||||
|
||||
### 0.5 Phase 1 deliverable (corrected)
|
||||
|
||||
```
|
||||
1. generic split_anchor_n() — substrate, hash-pinned
|
||||
2. Joseph6 grammar instance — frozen, KAT-tested
|
||||
3. π*_w_object canonicalizer — registry slot
|
||||
4. KATs at bench/fixtures/spatial-anchor-object/known-answer-tests.jsonl
|
||||
5. Tests (3 modules above)
|
||||
6. Substrate-paper amendment citing Joseph (@TrudoJo)
|
||||
7. NO SQL
|
||||
8. NO new audit_mode
|
||||
9. NO verifier_policy_hash change
|
||||
```
|
||||
|
||||
### 0.6 Relationship to #000071 (cross-ref)
|
||||
|
||||
Dav1d §22 confirms #000071 (world-bridge grammar) is the right
|
||||
sibling: bridges connect different `WorldDimensionGrammar` instances
|
||||
across chains. AnchorN + grammar identity is what the bridge layer
|
||||
identifies; without grammar-as-first-class-object, bridges have
|
||||
nothing to anchor.
|
||||
|
||||
### 0.7 Five dav1d open-questions answered by measurement, five still open
|
||||
|
||||
§7a of this ticket already cited the pre-review empirical bench
|
||||
(`bench/spatial_anchor_validation.py`) resolving five of the ten
|
||||
original open questions (Q1 seed source / Q2 segmentation / Q3
|
||||
octree mapper / Q8 endianness / Q9 KAT adversarial vectors). The
|
||||
review preserves those resolutions and reframes Q4/Q5/Q6/Q7/Q10:
|
||||
|
||||
- **Q4 scope split** — answered: object alone, NO relation/event/
|
||||
place/agent_trace in this ticket. AnchorN handles N=6+ kernels
|
||||
in future tickets.
|
||||
- **Q5 privacy fail-closed default** — answered: HARD reject on
|
||||
missing `privacy.class`.
|
||||
- **Q6 `audit_mode` discipline** — answered: spatial commits are
|
||||
not warrants, no new token.
|
||||
- **Q7 manifest-validator timing** — defer to grammar validation
|
||||
step in `arborist/world/grammar.py:validate_grammar()`.
|
||||
- **Q10 paper-amendment wording** — still open; substrate paper
|
||||
text needs revision to introduce AnchorN + grammar layer
|
||||
instead of fixed Anchor6.
|
||||
|
||||
### 0.8 What changes for the implementer
|
||||
|
||||
The original §3 "Recommendation" + §4 "Implementation sketch" name
|
||||
specific functions (`segment_anchor()`, fixed-6-region split, etc.).
|
||||
Those stay in the design log as reference; **what actually ships
|
||||
follows §0.4 above** — `split_anchor_n()` with grammar-driven N,
|
||||
`WorldDimensionGrammar` class, registry-addressable π* adapter.
|
||||
|
||||
The original §7a empirical bench remains valid as evidence — it
|
||||
validated the HMAC-SHA-512 expansion's avalanche / uniformity /
|
||||
domain-separation properties, which are unchanged by the AnchorN
|
||||
generalization (N just changes the loop count; the per-region
|
||||
properties measured stay identical).
|
||||
|
||||
---
|
||||
|
||||
## 1. Problem statement *(original design log — what was reviewed)*
|
||||
|
||||
### 1.1 What #000013 left undefined
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue