diff --git a/.claude/board/EPIPHANIES.md b/.claude/board/EPIPHANIES.md index 733a1a45..e3d2c802 100644 --- a/.claude/board/EPIPHANIES.md +++ b/.claude/board/EPIPHANIES.md @@ -1,3 +1,22 @@ +## 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 +**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"). + +**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. + +**The wired/doc-only scoreboard (the new contribution over #624/#626):** +- **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`). +- **edge** — `EdgeBlock`(16 B, 1-byte refs) → `ValueTenant::MaterializedEdges`(4×`CausalEdge64`) **WIRED in code** (`canonical_node.rs`). +- **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. +- **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. + +**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. + +**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. + +**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. + +**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`. + ## 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 **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.** diff --git a/.claude/board/INTEGRATION_PLANS.md b/.claude/board/INTEGRATION_PLANS.md index 9fe2e82d..17d718d9 100644 --- a/.claude/board/INTEGRATION_PLANS.md +++ b/.claude/board/INTEGRATION_PLANS.md @@ -1,3 +1,7 @@ +## 2026-07-04 — deepnsm-v3-convergence (DeepNSM is the encoder that fills reserved tenants, not a migration target) + +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. + ## 2026-07-02 — v3-substrate-integration (W0–W6; the .claude/v3/ consolidation) 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. diff --git a/.claude/plans/deepnsm-v3-convergence-v1.md b/.claude/plans/deepnsm-v3-convergence-v1.md new file mode 100644 index 00000000..12e2528b --- /dev/null +++ b/.claude/plans/deepnsm-v3-convergence-v1.md @@ -0,0 +1,112 @@ +# DeepNSM → V3 substrate convergence — v1 + +> **Status:** PROPOSED (doc-only). Extends `v3-convergence-wiring-v1` +> ("wire, don't invent"). Credits PR #624 (probes P0–P5) as the proven +> static baseline. Does NOT supersede any shipped decision. +> +> **Organizing frame:** DeepNSM is **not migrated onto** the V3 substrate — +> it is the **trained encoder that fills tenants V3 has already reserved.** +> The COCA gridlake `Cell` is a byte-subset of existing value tenants; the +> "migration" is a *recognition* (a `ValueSchema` reading), not a port. + +--- + +## 0. What is already proven (do not re-derive) + +PR #624 landed probes P0–P5 (`crates/lance-graph-osint/tests/`), each an +integer-exact `#[test]` that de-blackboxes one convergence claim against +shipped code: + +- **P1** — deepnsm `subspace_distance_table` → quantize → palette → + `SpoDistances::s_dist` (planner) **≡** `MatrixDistance::distance` + (arm-discovery), byte-exact over 4096 pairs. *(node-code layer)* +- **P2/P3/P3b** — `CausalEdge64::pack_v2` round-trips S/P/O + mask + freq/conf; + the 8 Pearl masks = 8 questions from 3 cached reads; Association vs + Intervention rank candidates oppositely. *(edge + truth layers)* +- **P4** — Aerial+ ARM mines a rule, deterministic, `arm_to_truth_u8 → + CausalEdge64`. *(discovery layer)* +- **P5** — `is_a` transitivity via `syllogize`, exact NAL truth. *(reasoning)* + +The reframe is also prior art: `E-V3-TENANTS-ALREADY-EXIST-WIRE-DONT-INVENT` +(#626). This plan is the DeepNSM-specific application of it. + +**Consequence:** the "check convergence of CAM-PQ / CausalEdge64 / SPO-NARS-2³ / +arm-discovery" question is **answered — they converge at one integer-exact +256×256 palette metric, proven.** The open work is the *memory* layer and the +*gridlake carrier landing*, below. + +## 1. The four-layer stack (not four rival representations) + +The representations named as "vs" are one composed stack, bottom to top: + +| Layer | Object | V3 home | Status | +|---|---|---|---| +| 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** | +| edge | `CausalEdge64` (u64: S/P/O + freq/conf + causal/dir/infer/W/lens) | `EdgeBlock`(16B, 1-byte refs) → `ValueTenant::MaterializedEdges`(4×u64) | **wired** | +| 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) | +| memory | episodic witness + AriGraph basin | `family` field (basin); `episodic_edges.rs` EW64; `witness_tombstone.rs` | **doc-only / scaffold `todo!()`** | + +**Collision guards** (from the mapper sweep — pin before any code): +- "6×256" names **three** objects: CAM-PQ per-query ADC table `[[f32;256];6]`; + `SpoDistances` 3×256² pairwise; OGAR key-tier 256×256 centroid tile. Not + interchangeable. +- "basin" names **two**: perturbation-sim electrical/Kron basin (Laplacian + Schur complement) vs canonical `family`. Only the latter maps to the key. +- CAM-PQ 48-bit and 6×palette256² are **not alternatives** — they are the + *code* and its *distance-table dual*. + +## 2. The recognition: the COCA `Cell` IS the value slab + +`crates/deepnsm/examples/gridlake_coca_wire.rs` hand-rolls a 20-byte `Cell` +that is a byte-subset of tenants `canonical_node.rs` already carves: + +| COCA `Cell` field | V3 tenant (exists today) | +|---|---| +| `helix48: [u8;6]` | `ValueTenant::HelixResidue` — 6 B, "48-bit helix place, 2× Signed360 hemisphere" | +| `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) | +| `count` / `sum_truth` | `ValueTenant::Meta` MetaWord `nars_f(8)+nars_c(8)` | + +So "migrate the COCA landing to V3" = land it as a `ValueSchema` reading over +existing tenants, consuming the **328 B reserved headroom, zero new tenant, no +`ENVELOPE_LAYOUT_VERSION` bump**. This is task #17 (gridlake carrier / lane J) +and is the natural first step. It also retires the codec's "deterministic +stand-in" status by pointing it at the real HelixResidue + CAM-PQ contract. + +## 3. Staged deliverables (ordered by wired-ness) + +- **D-DNV-1 (recognition, = task #17).** Land the COCA/gridlake landing as a + `ValueSchema` reading over `HelixResidue` + CAM-PQ facet + `Meta`. Zero new + tenant. jc-pillar certification (ICC/ρ/α, certification-officer pattern) + before the reading backs any claim. *Buildable now.* +- **D-DNV-2 (SPO → CausalEdge64 + 2³, deepen P1/P3).** Map deepnsm `SpoTriple` + (36-bit S/P/O) onto `CausalEdge64` S/P/O + freq/conf → `MaterializedEdges`; + run `nars_engine.all_projections()` over deepnsm's COCA distance matrix. The + rung decomposition on real COCA data. *Buildable now; extends #624 P3b.* +- **D-DNV-3 (arm-discovery second leg — GATED).** ARM (rule-mine proposer) and + deepnsm-FSM (grammar-parse proposer) already share the palette256 oracle + (ρ=0.9973); wire both into one SpoStore. **Blocked on `ARM-JIRAK-FLOOR`** + (D-ARM-7) — the Jirak noise floor is a hard prereq before touching a live + `SpoStore`. Do not build the live join before its probe. +- **D-DNV-4 (memory layer — the real new work, own wave).** No episodic-witness + `ValueTenant` exists; `witness_tombstone.rs` calcify chain is `todo!()`; + `basin = family` is doc-only (AriGraph runtime references neither `NodeGuid` + nor `family`). This is a genuinely-new tenant (or the witness_tombstone + build) + waking the `family` basin field — highest risk, most doc-only. + Its own probe + jc certification; must NOT ride D-DNV-1..3. + +## 4. Explicitly out of scope + +- Grammar **templates** as compiled thinking templates (StepMask) — that is + W3, a separate wave; `StepMask` does not exist in source yet. +- Any new `ValueSchema` enum variant (#496/#500 no-new-variant guardrail). +- Superposing CAM-PQ codes (`I-VSA-IDENTITIES`: bundle identities, not content). + +## 5. Cross-refs + +PR #624 (P0–P5 probes), `E-V3-TENANTS-ALREADY-EXIST-WIRE-DONT-INVENT`, +`E-V3-JINA-IS-THE-FULCRUM-SUBSTRATE-MEASURED-1` (deepnsm COCA measured vs Jina), +`v3-convergence-wiring-v1`, `canonical_node.rs` (`ValueTenant`, `VALUE_TENANTS`, +`ValueSchema`), `crates/deepnsm/` (encoder/spo/parser + gridlake examples), +`crates/lance-graph-arm-discovery/` (Aerial+ leg), `nars_engine.rs` +(`all_projections`, `SpoHead`), `arigraph/markov_soa.rs` (already V3-native), +`episodic_edges.rs` + `graph/witness_tombstone.rs` (the memory seam), task #17.