@@ -115,7 +115,262 @@ any float-path GPU bit-exactness claim.
115115| Plan E bench | bits/Gaussian on Mip-NeRF 360 | ≤4 bits | R-10 re-derived; web-streaming claim withdrawn |
116116| a2ui N2 | wgpu ` webgl ` feature + texture upload, wasm32-tested | render parity headless vs browser | GPU raster tier deferred; CPU raster only |
117117
118- ## 6. Cross-references
118+ ## 7. Comma closure — the replayable irrational (constants correction folded in)
119+
120+ The Pythagorean comma is the residue of a stack of pure fifths that never
121+ closes back onto the octave; a piano tuner's real-world dodge (equal
122+ temperament) trades exactness for closure. Fujifilm's X-Trans sensor
123+ generalizes the same move spatially: its 6×6 colour-filter tile — repeating,
124+ but far less regular than Bayer's 2×2 (a larger period with a quasi-random
125+ arrangement inside the tile) — is deliberately less commensurate with common
126+ demosaic/moiré periods, so the anti-aliasing filter can be thinned or
127+ dropped. Both are the same design
128+ pattern: ** a generator that does not resonate with the sampling lattice
129+ avoids the periodic beat pattern (the comma) that a resonant generator
130+ produces.**
131+
132+ This workspace's surrogate for "a generator that never resonates" is a
133+ ** coprime-integer walk** , not an irrational number: helix ` CurveRuler ` 's
134+ stride-4-over-17 (` constants.rs ` : ` MODULUS = 17 ` , ` STRIDE = 4 ` ,
135+ ` gcd(4, 17) = 1 ` → the walk visits all 17 residues before repeating — a full
136+ permutation, tested). The banned alternative — a naive Fibonacci-mod-17
137+ stepper — is rejected because it misses the residue set ` {6, 7, 10, 11} ` : a
138+ resonant generator, the comma made concrete. Base17 reuses the identical
139+ trick vertically (same coprime-walk discipline, orthogonal axis).
140+
141+ ** D-QUANTGATE rationale — restated, correcting an over-attribution.** The
142+ integer walk is canon for the quantized/GPU layer for three real reasons,
143+ not the single one this doc previously implied:
144+
145+ 1 . ** libm non-portability** — transcendental math (` sin ` /` cos ` /` exp ` /…) is
146+ not guaranteed bit-identical across libm implementations (receipt: the
147+ 2026-07-06 ndarray blackboard libm-fma cliff entry).
148+ 2 . ** WGSL/GPU floats are not IEEE-pinned** — shader float semantics vary by
149+ driver/backend (the C9 verdict, §3 row 9 above).
150+ 3 . ** Bijective closure** — a quantized float-Weyl (golden-ratio) walk does
151+ not * guarantee* a permutation of the quantized residue set; the coprime
152+ integer walk does, by construction (` gcd(STRIDE, MODULUS) = 1 ` ).
153+
154+ ** What is explicitly withdrawn:** the rationale "float constants round
155+ differently [ across targets] " does NOT hold on the CPU/wasm surface this
156+ workspace actually ships on. Verified this session:
157+ - ` std::f64::consts::GOLDEN_RATIO ` and ` std::f64::consts::EULER_GAMMA ` exist
158+ and compile on the pinned 1.94/1.95 toolchain, with fixed bit patterns
159+ ` φ = 0x3FF9E3779B97F4A8 ` , ` γ = 0x3FE2788CFC6FB619 ` — not target-dependent.
160+ - There is ** no** std-SIMD const-constants path — helix ` constants.rs:17-23 `
161+ documents that the previously-assumed ` const::simd::* ` -style API does not
162+ exist; the canonical source is ` std::f64::consts ` .
163+ - ` gemm_f64_tiled ` 's five-backend contract is ** unfused, bit-identical**
164+ across all five backends when accumulation order is pinned, and this is
165+ covered by the wasm parity CI — plain IEEE basic ops in a fixed order are
166+ NOT a source of cross-target drift on this surface.
167+
168+ So the real fence is libm + GPU-float + bijectivity, not "floats are
169+ unportable" as a blanket claim.
170+
171+ ** Division of labor (already encoded in canon, now stated as a rule):**
172+
173+ | Role | Owner | Domain |
174+ | ---| ---| ---|
175+ | ** φ PLACES** | ` helix::constants ` irrational f64 math | CPU/wasm-replayable placement (golden-ratio spacing) |
176+ | ** walk QUANTIZES** | ` CurveRuler ` coprime integer stride | quantized/GPU/checksum layer, guaranteed bijective |
177+ | ** γ CORRECTS** | ` EULER_GAMMA ` -anchored correction term | drift correction on the placed value |
178+
179+ ** Contrast with prior art:** x264's psy-optimized dither is an unspecified
180+ implementation detail (not part of the bitstream spec, not replayable
181+ across encoders); AV1's film-grain synthesis is parameterized and seeded,
182+ but the seed/PRNG state is bookkeeping the decoder must carry. This
183+ workspace's phase is ** address-derived** — no seed to carry, no PRNG state,
184+ replayable and checksummable from the address alone. This positioning is
185+ ** [ H] ** until the OGAR probes (PHASE-1, PERT-RHO, PYR-1) run; the J2
186+ falsification fence (dither-grade, not content-grade, until proven) is
187+ unchanged by this section.
188+
189+ ## 8. The 96-bit facet carving (48 CAM-PQ + 24 helix + 24 turbovec = the V3 12-byte payload)
190+
191+ Three independently-shipped lane widths, verified this session:
192+
193+ | Lane | Width | Shape | Source | Receipt |
194+ | ---| ---| ---| ---| ---|
195+ | CAM-PQ basin code | 48 bit | 6 × 8-bit subspace codes | ndarray | ` cam_pq.rs:3-12 ` |
196+ | helix ` ResidueEdge ` | 24 bit | unsigned hemisphere | lance-graph ` helix ` | ` residue.rs:23-107 ` |
197+ | helix ` Signed360 ` | 48 bit | signed full-sphere (polar-byte hemisphere partition) | lance-graph ` helix ` | ` residue.rs:23-107 ` |
198+ | turbovec Lloyd-Max | 24 bit | 6 × 4-bit refinement nibbles | lance-graph-turbovec | ` lib.rs ` |
199+
200+ ** 48 (CAM-PQ) + 24 (helix ` ResidueEdge ` ) + 24 (turbovec) = 96 bit — exactly
201+ the V3 content-blind 12-byte payload** (` classid(4B) + 12-byte payload ` ,
202+ per the operator-locked ` E-V3-FACET-4-PLUS-12 ` ruling). A legal carving of
203+ that payload: `classid(4B) + [ CAM-PQ 6B basin | helix 3B residue location |
204+ turbovec 3B refinement nibbles] ` . ** ` ClassView` is the carving/LUT
205+ selector** — which lane a given classid's ClassView routes a read through
206+ (CAM-PQ table, helix residue table, or turbovec codebook) is a property of
207+ the class, not the bytes; the 12-byte register itself stays dumb and
208+ content-blind, consistent with the V3 "content-blind facet" doctrine.
209+
210+ ** Budget constraint:** ` Signed360 ` (48 bit / 6 bytes on its own) does
211+ ** not** fit alongside both of the other two lanes inside one 96-bit/12-byte
212+ row — it is the ** out-of-row / alternate-carving variant** , selected
213+ instead of (not in addition to) the ` ResidueEdge ` + turbovec pairing when
214+ full-sphere signed precision is needed.
215+
216+ ** Three flavours of 256 (table-family clarification, corrected + refined
217+ 2026-07-16 post-review — operator framing):**
218+ - ** CAM-PQ — 6×256² compressed to 6×256.** The latent structure is six
219+ per-subspace 256×256 centroid-distance families, but the shipped path
220+ never materializes them: ADC precomputes a ** per-query 6×256 f32
221+ row-set** = ** 6 KB** , L1-resident, recomputed per query
222+ (` cam_pq.rs:76-84 ` ) — the compressed, asymmetric projection of the
223+ latent 6×256². (A symmetric code↔code variant would materialize the
224+ full six tables; the shipped codec does not.)
225+ - ** bgz17 — the explicit 256².** One materialized dense 256×256 u16
226+ distance table per palette, ** plus** a k×k u8 compose table. The
227+ measured ** 388 KB ` SpoDistanceMatrices ` benchmark** (§1 above) is this
228+ flavour on the three S/P/O planes: ** 3 × (256² u16 = 128 KB) = 384 KB**
229+ (` palette_distance.rs:145-158 ` ).
230+ - ** V3 facet — explicit 6×256² as ADDRESS, codec-agnostic.** The 12-byte
231+ content-blind payload read as ` 6×(u8:u8) ` rails = six coordinate pairs
232+ into 256×256 spaces = ** 96 bits of pure address** . The payload does not
233+ know whose tables its rails index — ** ` classid → ClassView ` selects
234+ which codec's 256² family** (CAM-PQ subspace, bgz17 palette, helix
235+ residue) interprets each rail. See lance-graph ` le-contract.md §3 ` for
236+ the canonical 6×(u8: u8 ) / 4×(u8:u8: u8 ) / 3×(u8:u8:u8: u8 ) readings of
237+ the same register.
238+ The first two are table * footprints* (compressed vs materialized); the
239+ third is the * addressing shape* they are consumed through. None of the
240+ footprints should be added to or substituted for another. (An earlier
241+ draft attributed the 384 KB to "6 × 64 KB CAM-PQ tables" — wrong on both
242+ the arithmetic, a 256² u16 table is 128 KB, and the attribution.)
243+
244+ ** Honourable fourth mode (operational, not a footprint): index +
245+ residual.** bgz-tensor's ` AdaptiveRow ` (` adaptive_codec.rs ` ) keeps the
246+ palette centroid index as the coarse deterministic PLACE and stores only a
247+ Hadamard-rotated residual (i8 for outlier rows; i4+i2 cascade for regular
248+ rows) — index PLACES, residual CORRECTS. It is the continuous-field exit
249+ where a bare 256-level index terraces (e.g. elevation); categorical
250+ surfaces (` Signed360 ` normals, narrow colour) stay flat. Out-of-row like
251+ ` Signed360 ` ; the in-row refinement budget remains the turbovec nibble
252+ lane. Formal anchor [ S] : Hambly–Lyons 2010 signature uniqueness (a
253+ bounded-variation path is determined by its graded iterated-integral
254+ cascade up to tree-like equivalence) — analogy-grade until a
255+ ladder→signature probe exists. Canonical text: lance-graph
256+ ` le-contract.md §3 ` honourable-mention subsection +
257+ ` E-PALETTE-RESIDUAL-LADDER-1 ` .
258+
259+ ## 9. The kernel-shape rule (engine follows operation shape)
260+
261+ The rule: ** match the compute engine to the shape of the operation, not to
262+ the platform.** Matmul-shaped stages (motion estimation / SSD, batched
263+ DCT, GEMM scoring) belong on VNNI/AMX tile-matmul engines; lookup-shaped
264+ stages (codebook gather, distance-table lookup, palette compose) belong on
265+ LUT engines — SIMD nibble-gather on CPU, texture fetch on GPU. Running a
266+ lookup-shaped stage through a matmul engine (or vice versa) is a shape
267+ mismatch, not merely a suboptimal choice.
268+
269+ ** Measured receipt (FINDING — it is measured, not projected):** turbovec's
270+ ` NativeLut ` path is ** 11.4× faster** than the VPDPBUSD GEMM polyfill it
271+ replaces, at n = 20,000 / dim = 512 / 4-bit quantization. AMX/VNNI
272+ tile-matmul accelerates exactly the operation TurboQuant's LUT path
273+ removed — running a lookup through a GEMM polyfill pays a real, measured
274+ tax.
275+
276+ ** ITU-implementability claim — scoped precisely, not generally:** the
277+ workspace's W1a pattern (one source, five bit-identical backends —
278+ AVX-512/AVX2/NEON/wasm-SIMD128/scalar) covers ** any ITU codec's compute
279+ kernels** — the matmul-shaped and lookup-shaped arithmetic stages. It does
280+ ** not** cover: CABAC's serial per-bit context chain (an inherently
281+ sequential state machine, not a kernel), conformance-suite corner cases,
282+ or ECM-scale tool counts (dozens of interacting coding tools, each with
283+ its own combinatorial interaction surface). The claim is about kernel
284+ portability, not codec-complexity parity.
285+
286+ ** Encode/decode asymmetry — endorsed with existing caveats:** encode-side
287+ work on AVX-512/VNNI (server-class, matmul-shaped: motion search, RDO)
288+ paired with decode-side work on wgpu/WebGL (browser-class, lookup-shaped:
289+ LUT/texture fetch) is a coherent split under the kernel-shape rule. This
290+ carries the ** C5/C9 caveats already established elsewhere in this doc
291+ set** : the wgpu tier is roadmap, not shipped (§1 "wgpu in the workspace"
292+ row; a2ui-paint only, no textures/bind groups, ` webgl ` feature off); and
293+ GPU bit-exactness is only claimed for the ** integer** path (§3 row 9) —
294+ float EWA/shading stays outside all bit-exactness claims.
295+
296+ ## 10. Replayable-tile synergies — H.268 × cognitive shaders
297+
298+ The shared object across both domains: a ** 4×4 Morton tile** — 2-bit x ⊗
299+ 2-bit y address — where the phase (sign) at every cell is a deterministic
300+ function of its address via the bijective coprime walk (§7), and the only
301+ bytes actually stored are magnitudes. Same object, two consumers.
302+
303+ ** H.268 consequences:**
304+ - ** (a) Phase-side seekability (the anti-CABAC direction)** — the phase
305+ generator carries no serial state, so the * phase side* of any tile is
306+ reconstructible at any address with no prefix replay. This is NOT by
307+ itself CABAC random access: the entropy-coded magnitudes still carry
308+ CABAC's serial context chain, so bitstream-level seeking additionally
309+ requires independently framed / context-reset regions — which is
310+ precisely what A8 (region-addressable stream framing) provides. The
311+ consequence strengthens the C4 path ** only once A8 lands** ; until then
312+ it is phase-side seekability only.
313+ - ** (b) Seekable grain** — unlike AV1's seeded film-grain synthesis
314+ (decoder must carry PRNG/seed bookkeeping), the integer walk regenerates
315+ identically from the address alone and survives a WGSL port per the C9
316+ verdict (§3 row 9).
317+ - ** (c) Conformance = the period-permutation self-test** — a decoder can
318+ verify its own phase generator by checking the walk visits all
319+ ` MODULUS ` residues before repeating (the same test that caught the
320+ banned Fibonacci-mod-17 generator in §7); any reconstruction error
321+ localizes to the stored magnitudes, never to phase.
322+ - ** (d) Parallelism** — 16 cells map to one SIMD lane group or one wgpu
323+ workgroup tile. This is ** native to the H.268 scene codec** (the C6
324+ correction: 4×4 is native to the 3DGS/scene codec, NOT the
325+ HEVC-compatibility lane, which keeps its own 8×8/64×64 CTU/leaf sizes).
326+
327+ ** Cognitive-shader consequences (the larger half):**
328+ - ** (e) RNG-free exploration** — phase is a pure function of position, so
329+ this deletes the last shared-mutable-state candidate from the thinking
330+ loop (composes with ` E-NOBODY-WAITS-1 ` ).
331+ - ** (f) Replayable thinking = auditable cognition** — combined with
332+ temporal-stream replayability (` E-MARKOV-TEMPORAL-STREAM-1 ` ), a full
333+ trajectory including exploration noise re-runs bit-exactly ** on the
334+ proven CPU/wasm integer path** (the pinned-order five-backend contract);
335+ float and GPU stages stay outside the bit-exactness claim per §3 row 9
336+ (the integer-only GPU caveat) unless a deterministic-backend probe is
337+ added. Within that scope, counterfactual replay stores ** zero**
338+ exploration state.
339+ - ** (g) Anti-confabulation = anti-moiré in concept space [ H, probe-gated] **
340+ — a coprime probe schedule is decorrelated from the palette lattice by
341+ construction, and a * known* period-17 dependence structure is plausibly
342+ friendlier to ` I-NOISE-FLOOR-JIRAK ` 's weak-dependence analysis than an
343+ * unknown* PRNG correlation structure. The "friendlier" half is an
344+ ** unverified inference** : the period-17 permutation self-test proves
345+ bijectivity, NOT decorrelation. Promotion to FINDING requires a measured
346+ dependence probe — the walk's correlation spectrum against the palette
347+ lattice vs a PRNG baseline, judged under Jirak weak-dependence rates.
348+ - ** (h) Exact phase-side unbinding** — sign is recomputable per address
349+ with no cleanup codebook needed; a cleanup codebook is only needed for
350+ magnitudes. The two-algebra rule (sign = XOR, magnitude = ` vsa_bundle ` ,
351+ never mixed) stays intact.
352+ - ** (i) Cache-native working set** — one 4×4 tile is 16 cells × 2 bytes ×
353+ 6 lanes = 192 bytes = 3 cache lines. The L4 substrate is flat Morton SoA
354+ by ruling; the C1 arena-tree corrective (§3 row 1: the shipped ` ctu.rs `
355+ is a pointer arena, not Morton-flat) applies to the ** codec CTU** , not
356+ to the L4 substrate — the two do not contradict each other.
357+
358+ ** The four-role loop:** ** φ PLACES → walk QUANTIZES → γ CORRECTS → F
359+ DECIDES.** λ-RDO (rate-distortion optimization, the codec's tile-local
360+ encode decision) and free-energy dispatch (the cognitive shader's
361+ tile-local think/commit decision) are the same tile-local decision
362+ procedure running over the same replayable substrate — one loop, two
363+ consumers.
364+
365+ ** Honesty ledger — everything above stays conditional on the standing
366+ probe queue:** D-MTS-1..3, PHASE-1/PERT-RHO/PYR-1 (with the J2 dither-only
367+ fence unchanged), WHP-1..4, and the L4 tenant assignment (doc-locked, not
368+ code-verified). No kill condition in §5 above is weakened or
369+ reinterpreted by this section — it names a shared object and its
370+ consequences * if* the probe queue passes; nothing here promotes a
371+ probe-gated claim to shipped.
372+
373+ ## 11. Cross-references
119374
120375- ` pr-x12-h266-h267-standards-landscape.md ` — the industry walls, sourced
121376- ` pr-x12-x266-3dgs-spacetime-upscaling.md ` — the H.268 lens body (+ §12)
@@ -126,4 +381,8 @@ any float-path GPU bit-exactness claim.
126381 table sources; a2ui-rs ` a2ui-paint ` (the only wgpu in the workspace)
127382
128383_ Last edit: 2026-07-16. Verdicts from workflow run wf_6c6fb99a-cb4 (15 agents,
129- whole-file receipts; journal retained in session transcript dir)._
384+ whole-file receipts; journal retained in session transcript dir). §7-§10
385+ addendum (comma closure, 96-bit facet carving, kernel-shape rule,
386+ replayable-tile synergies) added 2026-07-16 per
387+ ` .claude/plans/H268-comma-96bit-replayable-addendum-v1.md ` ; §6 renumbered
388+ to §11._
0 commit comments