Skip to content

Commit 37ca06f

Browse files
authored
Merge pull request #1379 from AdaWorldAPI/claude/zen-planck-pldzo7
D-CTX-7: GadamerRevision as a candidate evidence writer of EpistemicState5
2 parents df61664 + 0b1a7ec commit 37ca06f

6 files changed

Lines changed: 839 additions & 2 deletions

File tree

‎.claude/board/STATUS_BOARD.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ Pixel/tile position = geometry; `PaletteState(u8)` = material (needle); `FisherZ
99
| **D-CTX-2** | Isotropic Gaussian/EWA accumulation from virtual surfels: `s = (Σxx+Σyy)/2W`, `Σ_fp = ewa_sandwich(√s·I, I) = s·I`, `A = activation·W/2032`, 7 × 7 clipped window into a transient 2 KB field; footprint evaluator probe-local; identity weight 254 (operator DECISION 2026-10-06) | Shipped (#1357) | `cognitive-shader-driver/examples/ewa_render_probe.rs`; fused = materialized `Vec<Surfel>`→`Vec<Gaussian>`→field bit for bit (18 tiles); fused = independent closed-form gather within 1e-12·max (measured 6.7e-16); fused path 0 allocations (materialized: surfels 4,100 B, gaussians 8,200 B); sandwich = `s·I`, SPD, and scales an anisotropic Σ by `s`; footprint = closed-form isotropic Gaussian (≤ 1e-14 rel.); field total = Σ amplitude × own window mass, window mass ≤ 1.001, interior ≥ 0.99, total ≤ input activation; zero activation renders nothing; replay exact, law and palette both matter; 8 tests, 6 disable runs red. Surfel reading moved to `examples/support/virtual_surfel.rs` (D-CTX-1 unchanged) |
1010
| **D-CTX-3** | Anisotropic Gaussian/EWA accumulation: footprint `Σ_fp = ewa_sandwich(Σ̂'^{1/2}, I)` with `Σ̂ = Σ_c/W` and eigenvalues floored at ½ (the law's own minimum isotropic scale, since every Moore offset has `|d|² ≥ 1`); isotropic readings collapse onto D-CTX-2 | Shipped (#1361) | `cognitive-shader-driver/examples/ewa_anisotropic_probe.rs`; fused = materialized bit for bit (16 tiles); fused = independent rotated closed-form gather (own eigen-decomposition) within 1e-12·max, measured 6.7e-16; isotropic readings give D-CTX-2's footprint (≤ 1e-14) and an all-isotropic tile renders as D-CTX-2 (196 surfels); a stripe spreads the render along itself (var x 0.886 vs y 0.499), turns with it, and its peak equals `A/(2π√det Σ_fp)`; without the floor a thin footprint holds > 1.3 of its mass (manufactured evidence) and cross code −127 gives a singular Σ̂, with it every footprint ≤ 1.001; the law never yields an isotropic scale below the floor; i8 quantization: worst 1.11° orientation and 1.27 % eigenvalue error over 2,672 anisotropic surfels (pinned 1.5° / 2 %); no BF16, no Σ codebook, `PaletteState` not widened; 0 allocations; 8 tests, 5 disable runs red. Isotropic law moved to `examples/support/ewa.rs` (D-CTX-2 unchanged) |
1111
| **D-CTX-4** | One read-only measurement over the D-CTX-2 surface: strongest boundary, central-difference gradient argmax over the inner region `5..=10` (pixels whose value and difference cannot see the tile edge: footprint radius 3 + Moore 1 + difference 1), ties to the smaller Morton code; returns a 32-byte `BoundaryWitness { at, magnitude, gx, gy }`, no field | Shipped (#1364) | `cognitive-shader-driver/examples/boundary_measure_probe.rs`; streaming (Morton order, one register) = materialized row-major `Vec` + explicit argmax on 6 rendered fields and a synthetic one; 0 allocations (materialized 1,152 B); a material boundary is found within a pixel of the palette change, points across it (gx > 10·gy) and turns with it; a uniform tile reads flat (2.0e-14 against field max 255); the rendered boundary response changes deterministically with the signed pair-law code (negative-code pair 25.18 > mid-negative pair > positive-code pair 5.37; an observation about the rendered surface, no epistemic or semantic strength derived from it); tie-break checked on a tied set where row-major and Morton pick different winners; field unchanged by measuring; 7 tests, 5 disable runs red (incl. region widened by one pixel → uniform tile no longer flat). `pair_with_code` moved to `support/fisher_relation.rs` |
12-
| **D-CTX-5** | Morton/HHTL visit order vs row-major for the D-CTX-2 render: four orders (Morton = nibble-trie DFS = D-CTX-2's own, row-major, 4 × 4 tiled, reversed); addressing via the contract's `Morton8x8` (= `FacetTier::morton`), palette never read as a coordinate | In PR | `cognitive-shader-driver/examples/morton_order_probe.rs`; every order a distinct permutation; 7 × 7 footprint neighbours via the code = geometry over the whole tile; Morton order = D-CTX-2 bit for bit; **`f64` scatter depends on the visit order at the last bits** (row-major 134, tiled 85, reversed 181 pixels changed, ≤ 1.1e-15), so the order is part of that render's replay identity; an `i64` accumulator at 2⁻³² is order-free (identical bits for all four orders on 10 tiles) within 1.4e-9 of `f64` (bound 49·2⁻³³); trie ascent per step: Morton = tiled = reversed 1.0588 (270/255), row-major 1.2471, so `nibble_climb` cannot separate block-finishing orders; 0 allocations; 7 tests, 4 disable runs red, 1 equivalent mutant (round-per-add on the 2⁻³² grid equals integer summation) |
13-
| **D-CTX-6** | Measurement → observation → `GadamerRevision` → replay over the D-CTX-2 surface: belief = `InterpretiveHorizon<(), [u64; 4]>`, one bit per pixel (roots = observed, claims = observed material boundary); the D-CTX-4 witness is presented as an inherited interpretation with no root, an observation reads only the resident palette (pixel + Moore neighbours) and is one new root; `delta.resulting` adopted only on `IncreaseEligible` | In PR | `cognitive-shader-driver/examples/observation_revision_probe.rs`; every inner pixel's rendered witness, presented to a horizon already holding observations, is `Reinterpretation`/`NoIncrease` and moves nothing; every observation is `HorizonExpansion` or `IndependentConfirmation` and the adopted claims equal an x/y palette oracle on 5 tiles; the render points at (5, 5) with |g| 1.65 when the only material change is at x = 2, outside the inner region, and the observation records a negative; two Fisher-Z laws render different fields but give identical final belief; replay is identical, `revision_index` = steps, and re-presenting every observation is `Echo`; one loop step allocates 0 B. Measured, not claimed useful: the steepest rendered pixel on the split tile is (6, 7), one pixel off the material boundary (x = 7, 8); steering by the render covers the 12 inner boundary pixels at step 24 vs 34 row-major, but quadrants at 35 vs 34. 7 tests, 5 disable runs red (adopt every revision; render claims a root; observation claims what was pointed at; ancestry forgets roots; wrong oracle). `strongest_boundary` moved to `support/boundary.rs` with an address-predicate variant |
12+
| **D-CTX-5** | Morton/HHTL visit order vs row-major for the D-CTX-2 render: four orders (Morton = nibble-trie DFS = D-CTX-2's own, row-major, 4 × 4 tiled, reversed); addressing via the contract's `Morton8x8` (= `FacetTier::morton`), palette never read as a coordinate | Shipped (#1367) | `cognitive-shader-driver/examples/morton_order_probe.rs`; every order a distinct permutation; 7 × 7 footprint neighbours via the code = geometry over the whole tile; Morton order = D-CTX-2 bit for bit; **`f64` scatter depends on the visit order at the last bits** (row-major 134, tiled 85, reversed 181 pixels changed, ≤ 1.1e-15), so the order is part of that render's replay identity; an `i64` accumulator at 2⁻³² is order-free (identical bits for all four orders on 10 tiles) within 1.4e-9 of `f64` (bound 49·2⁻³³); trie ascent per step: Morton = tiled = reversed 1.0588 (270/255), row-major 1.2471, so `nibble_climb` cannot separate block-finishing orders; 0 allocations; 7 tests, 4 disable runs red, 1 equivalent mutant (round-per-add on the 2⁻³² grid equals integer summation) |
13+
| **D-CTX-6** | Measurement → observation → `GadamerRevision` → replay over the D-CTX-2 surface: belief = `InterpretiveHorizon<(), [u64; 4]>`, one bit per pixel (roots = observed, claims = observed material boundary); the D-CTX-4 witness is presented as an inherited interpretation with no root, an observation reads only the resident palette (pixel + Moore neighbours) and is one new root; `delta.resulting` adopted only on `IncreaseEligible` | Shipped (#1367) | `cognitive-shader-driver/examples/observation_revision_probe.rs`; every inner pixel's rendered witness, presented to a horizon already holding observations, is `Reinterpretation`/`NoIncrease` and moves nothing; every observation is `HorizonExpansion` or `IndependentConfirmation` and the adopted claims equal an x/y palette oracle on 5 tiles; the render points at (5, 5) with |g| 1.65 when the only material change is at x = 2, outside the inner region, and the observation records a negative; two Fisher-Z laws render different fields but give identical final belief; replay is identical, `revision_index` = steps, and re-presenting every observation is `Echo`; one loop step allocates 0 B. Measured, not claimed useful: the steepest rendered pixel on the split tile is (6, 7), one pixel off the material boundary (x = 7, 8); steering by the render covers the 12 inner boundary pixels at step 24 vs 34 row-major, but quadrants at 35 vs 34. 7 tests, 5 disable runs red (adopt every revision; render claims a root; observation claims what was pointed at; ancestry forgets roots; wrong oracle). `strongest_boundary` moved to `support/boundary.rs` with an address-predicate variant |
14+
| **D-CTX-7** | `GadamerRevision` as a candidate evidence writer of EpistemicState5 (`ISS-NO-EVIDENCE-WRITER-FOR-EPISTEMIC-STATE`): one `MailboxSoA` CE64 row, start-of-cycle copy via `MailboxSoaView`, encounters → revision → declared versioned transition (V1: 3 → 7 on ≥ 2 admitted `Differs` roots; 7 → 3 on `ContradictionPreserved`), `write_row` in k, read in k+1; bits 59..63 written as one joint code | In PR | `cognitive-shader-driver/examples/revision_epistemic_writer_probe.rs`; codes `3, 3, 3, 7, 3` / eligibility `OBS, OBS, OBS, OBS\|STRATIFY, OBS` over render-only, one source, two sources, complete Same check; 360 rendered witnesses never move the code; one source repeated is one root; a Same reading is not support; V2 refuses what V1 accepts; only bits 59..63 move; every write a declared `EPI_LAW` code; LE restart; 0 allocations; a complete check counts only its differing roots (1 does not promote, 2 promote under V1 only); cross-cycle corroboration pinned as missing; 12 tests, 8 disable runs red. Entry: `entries/2026-10-07-ctx7-revision-writer-for-epistemic-state.md` |
1415

1516
## D-MORTON — Checked 8:8 Morton address arithmetic (2026-10-06)
1617

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# 2026-10-07 — D-CTX-7: a revision-gated writer for EpistemicState5 (candidate)
2+
3+
Addresses `ISS-NO-EVIDENCE-WRITER-FOR-EPISTEMIC-STATE` with one declared,
4+
versioned candidate. Does not close it: the production decision stays open.
5+
6+
## MEASURED
7+
8+
`cognitive-shader-driver/examples/revision_epistemic_writer_probe.rs`:
9+
10+
- One `MailboxSoA` CE64 row tracks "pixel P is a material boundary" on a
11+
16 × 16 palette tile. A source is one Moore direction of P, read from the
12+
resident tile only. Each cycle: start-of-cycle copy through
13+
`MailboxSoaView` → encounters → `GadamerRevision` → declared transition →
14+
`write_row` in cycle k → read in k+1.
15+
- Transition V1: 3 → 7 on ≥ 2 roots the revision admitted with
16+
`IncreaseEligible` from `Differs` readings; 7 → 3 on a
17+
`ContradictionPreserved` verdict on the claim (a complete Moore check that
18+
reads only `Same`). Bits 59..63 are written as one joint code (the #1370
19+
reading) through `with_spare` + `with_truth`; every write lands on a code
20+
`EPI_LAW` declares.
21+
- Trajectory (render only, one source, two sources, tile rewritten + complete
22+
check): codes `3, 3, 3, 7, 3`; eligibility `OBS, OBS, OBS, OBS|STRATIFY, OBS`.
23+
- 360 rendered witnesses (D-CTX-4) proposing the claim never move the code in
24+
either direction: they carry no independent root, so the revision never
25+
admits them. One direction repeated 50 times is one root. A `Same` reading
26+
is not support. A complete check counts only its `Differs` roots: 3 promote
27+
alone, 1 does not (codex review on #1379: the first draft counted all 8
28+
roots of a check with one `Differs`). V2 (3 roots) refuses what V1 accepts. Only bits 59..63 move.
29+
Restart from `to_le_bytes` continues identically. 0 allocations per settle.
30+
- 12 tests, 8 disable runs red. Two disables were green on the first draft and
31+
exposed vacuous gates: the render was kept out by the probe's own
32+
`supports = false` flag instead of by the revision (the flag now says the
33+
render supports the claim, so only the missing root keeps it out), and no
34+
fixture admitted more than one root per encounter (the complete-check test
35+
now separates "roots" from "encounters").
36+
37+
## OPEN
38+
39+
- Whether this transition, or any, belongs in production.
40+
- Cross-cycle corroboration: the horizon dies with its cycle, so one source in
41+
cycle k and another in k+1 never combine (`sources_split_across_cycles_do_not_combine`).
42+
Carrying the source set needs state the register does not have.
43+
- Demotion reads a `Suspend` verdict (`ContradictionPreserved`); promotion
44+
reads `IncreaseEligible`. Whether demotion should require more than one
45+
complete check is a policy question the probe does not answer.

‎.claude/board/entries/README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ exactly one of them, never both.
3131
|---|---|---|---|
3232
| 2026-10-07 | `tinker-janus-fold-harvest` | TinkerPop bulk = K (GroupReduce), ONE_BULK = S, GValue pinning = bundle invalidation; JanusGraph slice = OrderedLaneWitness→Range (30–38×); no new V4 op | [2026-10-07-tinker-janus-fold-harvest.md](2026-10-07-tinker-janus-fold-harvest.md) |
3333
| 2026-10-07 | `gated-gather-bit-schedule` | Production gather is 3.8× slow from a per-row branch; bit-gated visitation wins or ties at every density; ordinal vectors never win (R1 holds) | [2026-10-07-gated-gather-bit-schedule.md](2026-10-07-gated-gather-bit-schedule.md) |
34+
| 2026-10-07 | `D-CTX-7` | | [2026-10-07-ctx7-revision-writer-for-epistemic-state.md](2026-10-07-ctx7-revision-writer-for-epistemic-state.md) |
3435
| 2026-10-07 | `bind-bundle-gated-gather` | One bound query, five routes, identical answers; the semijoin is never gated and dominates; a gated mask gather beats a selection vector (R1 survives) | [2026-10-07-bind-bundle-gated-gather.md](2026-10-07-bind-bundle-gated-gather.md) |
3536
| 2026-10-07 | `aperture16-u64-word-schedule` | The u16 view of the 64K mask is free but 1.3–2.3× slower per layout as a schedule than u64 words; extent × mask compose; the exact next-frontier mask beats a u16 target histogram; no new carrier or opcode | [2026-10-07-aperture16-u64-word-schedule.md](2026-10-07-aperture16-u64-word-schedule.md) |
3637
| 2026-10-06 | `v3-v4-dual-reading-round3` | | [2026-10-06-v3-v4-dual-reading-round3.md](2026-10-06-v3-v4-dual-reading-round3.md) |

‎crates/cognitive-shader-driver/Cargo.toml‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ test = true
8787
name = "observation_revision_probe"
8888
test = true
8989

90+
[[example]]
91+
name = "revision_epistemic_writer_probe"
92+
test = true
93+
9094
# D-GSO-6 recipe selector probe; tests run under `cargo test`.
9195
[[example]]
9296
name = "recipe_selector_probe"

‎crates/cognitive-shader-driver/examples/README.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,3 +372,16 @@ and the same final belief.
372372
```bash
373373
cargo run -p cognitive-shader-driver --example observation_revision_probe
374374
```
375+
376+
## revision_epistemic_writer_probe.rs
377+
378+
D-CTX-7. A candidate for the missing evidence writer of the CE64 epistemic
379+
code (bits 59..63, read as one joint code). One mailbox row tracks "pixel P is
380+
a material boundary"; each cycle presents its encounters to `GadamerRevision`
381+
and a declared, versioned transition settles the code, written in cycle k and
382+
read in k+1. Observations of the resident tile can promote and demote it;
383+
rendered witnesses never move it.
384+
385+
```bash
386+
cargo run -p cognitive-shader-driver --example revision_epistemic_writer_probe
387+
```

0 commit comments

Comments
 (0)