Skip to content

Commit 79a2cbc

Browse files
committed
plan+board: DeepNSM→V3 convergence — the encoder that fills reserved tenants
Answers the DeepNSM-to-V3 migration question with a mapper-grounded scoreboard rather than a big-bang port. Four parallel contract mappers (deepnsm+COCA / V3 substrate / representation zoo / arm-discovery+grammar) establish that the static convergence is already PROVEN (#624 P0–P5) and that only the memory layer (episodic-witness tenant, basin=family) is doc-only. The reframe: cam_pq/CausalEdge64/NARS-2³/episodic are one composed stack, not four rival representations, and DeepNSM is the trained encoder that fills tenants V3 already reserved — the COCA gridlake Cell is a byte-subset of HelixResidue + CAM-PQ facet + Meta (task #17 recognition). - plan: .claude/plans/deepnsm-v3-convergence-v1.md (D-DNV-1..4, gated seams) - EPIPHANIES: E-V3-DEEPNSM-IS-THE-ENCODER-NOT-A-MIGRATION-1 (wired/doc-only scoreboard + collision guards) - INTEGRATION_PLANS: plan index entry Doc-only; extends v3-convergence-wiring-v1, supersedes nothing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MLBnPuScZy6w9di2QEjsXM
1 parent 050ae80 commit 79a2cbc

3 files changed

Lines changed: 135 additions & 0 deletions

File tree

.claude/board/EPIPHANIES.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
## 2026-07-04 — E-V3-DEEPNSM-IS-THE-ENCODER-NOT-A-MIGRATION-1: DeepNSM does not migrate ONTO V3 — it is the trained encoder that fills tenants V3 already reserved; the static convergence is PROVEN (#624 P0–P5), only the MEMORY layer is doc-only
2+
**Status:** FINDING (mapper-sweep synthesis — 4 parallel contract mappers over deepnsm+COCA / V3 substrate / representation zoo / arm-discovery+grammar, all file:line-grounded this session; NOT an operator ruling, NOT a lock — a scoreboard + a reframe, collapses no type, retires no enum). Specializes `E-V3-TENANTS-ALREADY-EXIST-WIRE-DONT-INVENT` to the DeepNSM question the operator raised ("migrate everything of DeepNSM to V3 … check convergence with cam_pq 48-bit vs 6×palette256² vs causaledge64 vs SPO nars 2³ … episodic witness / AriGraph basins").
3+
4+
**The reframe (the valuable correction):** the operator's "cam_pq 48-bit **vs** 6×palette256² **vs** causaledge64 **vs** SPO-nars-2³" is not four rival representations to choose between — it is **one composed stack, bottom-to-top**: node-code (CAM-PQ) → edge (`CausalEdge64`) → truth-projection (NARS 2³) → memory (episodic/basin). Three of the four "vs" are category errors: (a) CAM-PQ 48-bit `[u8;6]` and 6×palette256² are the *code* and its *distance-table dual* of ONE object (proven byte-exact, #624 P1); (b) `CausalEdge64` is an *edge*, not a node code; (c) SPO-NARS-2³ is a *truth projection computed over* a distance matrix, not a representation. "Migrate DeepNSM onto V3" is the wrong frame — **DeepNSM is the trained encoder that FILLS tenants V3 already reserved**, not a payload to port.
5+
6+
**The wired/doc-only scoreboard (the new contribution over #624/#626):**
7+
- **node-code** — CAM-PQ code+table dual PROVEN (#624 P1); the key `HEEL|HIP|TWIG` ↔ 256×256 centroid-tile identity is **doc-asserted only** (OGAR framing, no shared type; no `ValueTenant::CamPq`).
8+
- **edge** — `EdgeBlock`(16 B, 1-byte refs) → `ValueTenant::MaterializedEdges`(4×`CausalEdge64`) **WIRED in code** (`canonical_node.rs`).
9+
- **truth** — the 3-bit Pearl mask + freq/conf are **STORED** in `CausalEdge64` (bits 40-42 / 24-39); the 8-projection vector is a **COMPUTE** over `SpoDistances` 3×256² (`nars_engine.all_projections`, #624 P3b), not a stored region. PARTIAL.
10+
- **memory** — **NO episodic-witness `ValueTenant`**; `episodic_edges.rs` EW64 + `graph/witness_tombstone.rs` exist but the calcify chain is `todo!()` scaffold. `basin = family` is **doc-only** — the AriGraph runtime references neither `NodeGuid`, `family`, nor `basin` (grep-confirmed); episodic keys on its own `Fingerprint+step`. This is the genuinely-unbuilt layer and the real risk.
11+
12+
**The recognition (task #17):** the COCA gridlake `Cell` (`gridlake_coca_wire.rs`, 20 B: `helix48[u8;6] + campq48[u8;6] + count + sum_truth`) is a **byte-subset of tenants that already exist** — `helix48 ≡ ValueTenant::HelixResidue` (6 B, "48-bit helix place, 2× Signed360 hemisphere"); `campq48 ≡` the canonical 6 B CAM-PQ code (the Phase-2 facet re-reads HelixResidue+CAM-PQ as one 16 B facet); `count/sum_truth ≡ Meta` MetaWord `nars_f+nars_c`. So "migrate the COCA landing" = land it as a `ValueSchema` READING over existing tenants, consuming the 328 B reserved headroom, **zero new tenant, no `ENVELOPE_LAYOUT_VERSION` bump** — a recognition, not a port. Also corrects a stale doc: **DeepNSM is NOT 0-dep** (CLAUDE.md line stale) — it already depends on `lance-graph-contract` + `ndarray` (PR #279), so the contract coupling is already paid.
13+
14+
**Collision guards (pin before any code):** "6×256" names THREE objects (CAM-PQ per-query ADC `[[f32;256];6]` / `SpoDistances` 3×256² pairwise / OGAR key-tier centroid tile); "basin" names TWO (perturbation-sim electrical/Kron basin vs canonical `family`) — only the latter maps to the key. Treating any doc-asserted identity (key↔CAM-tile, basin=family, MailboxId=NiblePath) as if wired is the trap.
15+
16+
**PROMOTION/NEXT:** plan `.claude/plans/deepnsm-v3-convergence-v1.md` sequences D-DNV-1 (recognition = task #17, buildable) → D-DNV-2 (SPO→CausalEdge64+2³ on real COCA, buildable) → D-DNV-3 (arm-discovery second leg, GATED on `ARM-JIRAK-FLOOR`) → D-DNV-4 (memory tenant, own wave + probe). No code bound to the memory-layer claims until their probe is green.
17+
18+
**Cross-refs:** PR #624 (P0–P5 probes, `lance-graph-osint/tests/`), `E-V3-TENANTS-ALREADY-EXIST-WIRE-DONT-INVENT` (#626), `E-V3-JINA-IS-THE-FULCRUM-SUBSTRATE-MEASURED-1`, `canonical_node.rs` (`ValueTenant`/`VALUE_TENANTS`/`ValueSchema`, HelixResidue+MaterializedEdges+Meta), `crates/deepnsm/` (encoder 512-bit `[u64;8]` / spo.rs 36-bit / gridlake examples), `crates/lance-graph-arm-discovery/` (Aerial+ palette256 oracle), `nars_engine.rs`, `arigraph/markov_soa.rs` (already V3-native — `MailboxSoaView` + `cam_pq::DistanceTables`), `episodic_edges.rs`, `graph/witness_tombstone.rs`, task #17, `v3-convergence-wiring-v1`.
19+
120
## 2026-07-03 — E-V3-THINK-ATOMS-GRIDDED-PERTURBATION-CASCADE-1 [CONJECTURE, probe-gated — nothing retired/locked]: both think & do are methods on a ClassView-as-struct-of-methods; atoms are fractal ClassViews fanned out over the Morton grid; DATA via perturbation cascade / META via bundle; bundle-above / address-below cost crossover
221
**Status:** CONJECTURE — architectural model co-developed this session over 6 turns. The GROUNDING is FINDING/receipted; the SYNTHESIS is UNPROVEN. Explicitly NOT an operator ruling, NOT a lock, NOT a retirement — collapses no type, retires no enum, refactors no code, supersedes no shipped decision until the reconstruction probe runs green. Operator directive: **keep an open mind — the valuable result may be the residual the probe CANNOT fit.**
322

.claude/board/INTEGRATION_PLANS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2026-07-04 — deepnsm-v3-convergence (DeepNSM is the encoder that fills reserved tenants, not a migration target)
2+
3+
Plan: `.claude/plans/deepnsm-v3-convergence-v1.md`. **Answers the operator's "migrate everything of DeepNSM to V3 + check convergence with cam_pq 48-bit vs 6×palette256² vs causaledge64 vs SPO-nars-2³ vs episodic-witness/AriGraph-basins" question with a mapper-grounded scoreboard** (`E-V3-DEEPNSM-IS-THE-ENCODER-NOT-A-MIGRATION-1`). Reframe: those are not four rival representations but ONE composed stack (node-code → edge → truth → memory); DeepNSM is the trained encoder that fills tenants V3 already reserved, not a payload to port. **The static convergence is already PROVEN** (#624 P0–P5: deepnsm→palette ≡ arm-discovery byte-exact, `CausalEdge64` round-trip, Pearl 2³, Aerial+ ARM→`CausalEdge64`, NAL reasoning); this plan credits that baseline and names the genuinely-unbuilt seam: the **memory layer** (no episodic-witness `ValueTenant`; `witness_tombstone.rs` calcify chain is `todo!()`; `basin=family` is doc-only — AriGraph runtime references neither `NodeGuid` nor `family`). **The recognition:** the COCA gridlake `Cell` (`helix48+campq48+count/truth`) is a byte-subset of `HelixResidue` + CAM-PQ facet + `Meta` — landing it is a `ValueSchema` READING over existing tenants (zero new tenant, no version bump), = task #17. Deliverables: D-DNV-1 recognition (task #17, buildable) → D-DNV-2 SPO→`CausalEdge64`+2³ on real COCA (buildable) → D-DNV-3 arm-discovery second leg (GATED on `ARM-JIRAK-FLOOR`) → D-DNV-4 memory tenant (own wave + probe). Extends `v3-convergence-wiring-v1` (wire-don't-invent); does not supersede it. Doc-only. PROPOSED.
4+
15
## 2026-07-02 — v3-substrate-integration (W0–W6; the .claude/v3/ consolidation)
26

37
Plan: `.claude/v3/INTEGRATION-PLAN.md` (pointer stub at `.claude/plans/v3-substrate-integration-v1.md` — operator directed a dedicated `.claude/v3/` folder for overview). **Consolidates the 2026-07-02 operator rulings into one wave-ordered execution plan**: W0 ratify/document (the `.claude/v3/` tree + awareness layer: knowledge docs, `v3-*` agent cards, `/v3` skill, `/v3-audit` command, CLAUDE.md/BOOT.md entrypoints) → W1 envelope+ownership (the keystone: `mailbox_owner()` SHIPPED; ahead-firing batch writer `cast(on_behalf, BusDto)` + delegation cache) → W2 kanban executors (D-MBX-A6 adopt; board-as-TENANT; supervisor sole-mutator wiring; symbiont arm BLOCKED on surrealdb kv-lance coordinates; 550 ms budget via elevation) → W3 compiled templates (StepMask; ElixirTemplate→graph-flow adapter with ownership inheritance; Rig oracle equivalence-gated compile-down; catalogue internal until P4) → W4 DTO ladder (D-PERT-1 adopt; cast-pairing call sites) → W5 consumers (q2 re-bakes/cpic mereology; write-on-behalf adoption; D-VCW-3/5 probes) → W6 monitor & retirement (ONE two-metric range-count scanner; P4 = adoption 100%, operator checkpoint; alias retirement corpus-proof-gated). Principle carried over: wire, don't invent — the plan adopts existing D-ids (D-MBX-A6, D-PERT-1, D-CC-*, D-VCW-*, D-CCF-4) rather than re-minting. Extends `v3-convergence-wiring-v1` + `soa-value-tenant-migration-v2`; supersedes stale CollapseGate prose everywhere via primer §6. ACTIVE.
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# DeepNSM → V3 substrate convergence — v1
2+
3+
> **Status:** PROPOSED (doc-only). Extends `v3-convergence-wiring-v1`
4+
> ("wire, don't invent"). Credits PR #624 (probes P0–P5) as the proven
5+
> static baseline. Does NOT supersede any shipped decision.
6+
>
7+
> **Organizing frame:** DeepNSM is **not migrated onto** the V3 substrate —
8+
> it is the **trained encoder that fills tenants V3 has already reserved.**
9+
> The COCA gridlake `Cell` is a byte-subset of existing value tenants; the
10+
> "migration" is a *recognition* (a `ValueSchema` reading), not a port.
11+
12+
---
13+
14+
## 0. What is already proven (do not re-derive)
15+
16+
PR #624 landed probes P0–P5 (`crates/lance-graph-osint/tests/`), each an
17+
integer-exact `#[test]` that de-blackboxes one convergence claim against
18+
shipped code:
19+
20+
- **P1** — deepnsm `subspace_distance_table` → quantize → palette →
21+
`SpoDistances::s_dist` (planner) **** `MatrixDistance::distance`
22+
(arm-discovery), byte-exact over 4096 pairs. *(node-code layer)*
23+
- **P2/P3/P3b**`CausalEdge64::pack_v2` round-trips S/P/O + mask + freq/conf;
24+
the 8 Pearl masks = 8 questions from 3 cached reads; Association vs
25+
Intervention rank candidates oppositely. *(edge + truth layers)*
26+
- **P4** — Aerial+ ARM mines a rule, deterministic, `arm_to_truth_u8 →
27+
CausalEdge64`. *(discovery layer)*
28+
- **P5**`is_a` transitivity via `syllogize`, exact NAL truth. *(reasoning)*
29+
30+
The reframe is also prior art: `E-V3-TENANTS-ALREADY-EXIST-WIRE-DONT-INVENT`
31+
(#626). This plan is the DeepNSM-specific application of it.
32+
33+
**Consequence:** the "check convergence of CAM-PQ / CausalEdge64 / SPO-NARS-2³ /
34+
arm-discovery" question is **answered — they converge at one integer-exact
35+
256×256 palette metric, proven.** The open work is the *memory* layer and the
36+
*gridlake carrier landing*, below.
37+
38+
## 1. The four-layer stack (not four rival representations)
39+
40+
The representations named as "vs" are one composed stack, bottom to top:
41+
42+
| Layer | Object | V3 home | Status |
43+
|---|---|---|---|
44+
| node-code | CAM-PQ `[u8;6]` (`Heel/Branch/TwigA/TwigB/Leaf/Gamma`) + its `[[f32;256];6]` ADC-table **dual** | `HelixResidue`(6B) + facet re-read; key `HEEL\|HIP\|TWIG` (doc-asserted tile) | code/table dual proven P1; key↔tile identity **doc-only** |
45+
| edge | `CausalEdge64` (u64: S/P/O + freq/conf + causal/dir/infer/W/lens) | `EdgeBlock`(16B, 1-byte refs) → `ValueTenant::MaterializedEdges`(4×u64) | **wired** |
46+
| truth | SPO-NARS 2³ (8 Pearl masks over `SpoDistances` 3×256²) | 3-bit mask in `CausalEdge64` bits 40-42; freq/conf; `Meta` tenant | mask **stored**, projections **computed** (P3) |
47+
| memory | episodic witness + AriGraph basin | `family` field (basin); `episodic_edges.rs` EW64; `witness_tombstone.rs` | **doc-only / scaffold `todo!()`** |
48+
49+
**Collision guards** (from the mapper sweep — pin before any code):
50+
- "6×256" names **three** objects: CAM-PQ per-query ADC table `[[f32;256];6]`;
51+
`SpoDistances` 3×256² pairwise; OGAR key-tier 256×256 centroid tile. Not
52+
interchangeable.
53+
- "basin" names **two**: perturbation-sim electrical/Kron basin (Laplacian
54+
Schur complement) vs canonical `family`. Only the latter maps to the key.
55+
- CAM-PQ 48-bit and 6×palette256² are **not alternatives** — they are the
56+
*code* and its *distance-table dual*.
57+
58+
## 2. The recognition: the COCA `Cell` IS the value slab
59+
60+
`crates/deepnsm/examples/gridlake_coca_wire.rs` hand-rolls a 20-byte `Cell`
61+
that is a byte-subset of tenants `canonical_node.rs` already carves:
62+
63+
| COCA `Cell` field | V3 tenant (exists today) |
64+
|---|---|
65+
| `helix48: [u8;6]` | `ValueTenant::HelixResidue` — 6 B, "48-bit helix place, 2× Signed360 hemisphere" |
66+
| `campq48: [u8;6]` | canonical 6 B CAM-PQ code (the Phase-2 facet re-reads HelixResidue + 6 B CAM-PQ as one 16 B facet) |
67+
| `count` / `sum_truth` | `ValueTenant::Meta` MetaWord `nars_f(8)+nars_c(8)` |
68+
69+
So "migrate the COCA landing to V3" = land it as a `ValueSchema` reading over
70+
existing tenants, consuming the **328 B reserved headroom, zero new tenant, no
71+
`ENVELOPE_LAYOUT_VERSION` bump**. This is task #17 (gridlake carrier / lane J)
72+
and is the natural first step. It also retires the codec's "deterministic
73+
stand-in" status by pointing it at the real HelixResidue + CAM-PQ contract.
74+
75+
## 3. Staged deliverables (ordered by wired-ness)
76+
77+
- **D-DNV-1 (recognition, = task #17).** Land the COCA/gridlake landing as a
78+
`ValueSchema` reading over `HelixResidue` + CAM-PQ facet + `Meta`. Zero new
79+
tenant. jc-pillar certification (ICC/ρ/α, certification-officer pattern)
80+
before the reading backs any claim. *Buildable now.*
81+
- **D-DNV-2 (SPO → CausalEdge64 + 2³, deepen P1/P3).** Map deepnsm `SpoTriple`
82+
(36-bit S/P/O) onto `CausalEdge64` S/P/O + freq/conf → `MaterializedEdges`;
83+
run `nars_engine.all_projections()` over deepnsm's COCA distance matrix. The
84+
rung decomposition on real COCA data. *Buildable now; extends #624 P3b.*
85+
- **D-DNV-3 (arm-discovery second leg — GATED).** ARM (rule-mine proposer) and
86+
deepnsm-FSM (grammar-parse proposer) already share the palette256 oracle
87+
(ρ=0.9973); wire both into one SpoStore. **Blocked on `ARM-JIRAK-FLOOR`**
88+
(D-ARM-7) — the Jirak noise floor is a hard prereq before touching a live
89+
`SpoStore`. Do not build the live join before its probe.
90+
- **D-DNV-4 (memory layer — the real new work, own wave).** No episodic-witness
91+
`ValueTenant` exists; `witness_tombstone.rs` calcify chain is `todo!()`;
92+
`basin = family` is doc-only (AriGraph runtime references neither `NodeGuid`
93+
nor `family`). This is a genuinely-new tenant (or the witness_tombstone
94+
build) + waking the `family` basin field — highest risk, most doc-only.
95+
Its own probe + jc certification; must NOT ride D-DNV-1..3.
96+
97+
## 4. Explicitly out of scope
98+
99+
- Grammar **templates** as compiled thinking templates (StepMask) — that is
100+
W3, a separate wave; `StepMask` does not exist in source yet.
101+
- Any new `ValueSchema` enum variant (#496/#500 no-new-variant guardrail).
102+
- Superposing CAM-PQ codes (`I-VSA-IDENTITIES`: bundle identities, not content).
103+
104+
## 5. Cross-refs
105+
106+
PR #624 (P0–P5 probes), `E-V3-TENANTS-ALREADY-EXIST-WIRE-DONT-INVENT`,
107+
`E-V3-JINA-IS-THE-FULCRUM-SUBSTRATE-MEASURED-1` (deepnsm COCA measured vs Jina),
108+
`v3-convergence-wiring-v1`, `canonical_node.rs` (`ValueTenant`, `VALUE_TENANTS`,
109+
`ValueSchema`), `crates/deepnsm/` (encoder/spo/parser + gridlake examples),
110+
`crates/lance-graph-arm-discovery/` (Aerial+ leg), `nars_engine.rs`
111+
(`all_projections`, `SpoHead`), `arigraph/markov_soa.rs` (already V3-native),
112+
`episodic_edges.rs` + `graph/witness_tombstone.rs` (the memory seam), task #17.

0 commit comments

Comments
 (0)