|
| 1 | +# Handover — BindSpace dissolution architectural delta |
| 2 | + |
| 3 | +> **From:** bardioc runtime-session (2026-06-05) |
| 4 | +> **To:** lance-graph session (fresh, when spun up) |
| 5 | +> **Canonical doc:** `bardioc/BINDSPACE_DISSOLUTION_HANDOVER.md` (+ bardioc PR #18) — read that for the full ~440-line delta. This note is the pointer + the headlines per the handovers protocol. |
| 6 | +
|
| 7 | +## What I did |
| 8 | + |
| 9 | +- Walked the architectural arc for BindSpace dissolution in a runtime-session |
| 10 | + conversation (2026-06-05). |
| 11 | +- Captured the durable delta as `BINDSPACE_DISSOLUTION_HANDOVER.md` in |
| 12 | + bardioc (PR #18) + an append-log entry in bardioc's |
| 13 | + `CROSS_SESSION_COORDINATION.md`. |
| 14 | +- Pushed this thin handover note here per the `.claude/handovers/` protocol |
| 15 | + so a fresh lance-graph session lands on it via the standard bootload. |
| 16 | +- Did **NOT** execute the migration plan (this session's domain; |
| 17 | + out of bardioc's MCP scope + needs lance-graph board-hygiene grounding). |
| 18 | + |
| 19 | +## FINDING |
| 20 | + |
| 21 | +- **Vsa16kF32 has three real loads, two with replacements + one research-only:** |
| 22 | + - Markov context-chain bundling → **standing wave** (`lance-graph-planner::temporal`, shipped PR #468). |
| 23 | + - BBB inner/outer ontology helper → **Rubicon** (`bardioc/rubicon/`, shipped bardioc PR #17). |
| 24 | + - 5^5^5 holograph experiment → `sentence_crystal` + `holograph` crate, **research artifact**, NOT migration scope. |
| 25 | +- **The 16k width is a storage constant**, not a cognition constant |
| 26 | + (literally one Lance "book" register at 64 KB = 16384 × f32). Cognition |
| 27 | + has no opinion on the number; storage does. The cycle plane dies (E-BATON-1); |
| 28 | + the 16k width survives as the book-aligned storage I/O unit. |
| 29 | +- **Post-P64, the columns are already L1-L4 cascade-shaped** (per plan §10.5: |
| 30 | + 64 / 256 / 4096 / 16384 = AVX-512 register / AMX tile row / 4 KiB page / |
| 31 | + L1d cache). The LE contract isn't *adding* a lossless invariant — it's |
| 32 | + naming a property the columns already have. |
| 33 | +- **MailboxSoA D-MBX-A1 inherits 4 of 5 BindSpace columns at byte-identical |
| 34 | + LE types** (`edges` / `qualia` / `meta` / `entity_type`). So G5 + G6 in |
| 35 | + the engine_bridge function matrix are **1-line retargets**, not rewrites. |
| 36 | +- **The 2026-05-27 plan is still authoritative.** Its §3 column map and §6 |
| 37 | + gated steps are correct; this delta narrows scope and adds context. |
| 38 | + |
| 39 | +## CONJECTURE |
| 40 | + |
| 41 | +- Adding the `content/topic/angle` Hamming planes to `MailboxSoA` (still gated |
| 42 | + on D-MBX-A2) unlocks G1 ingress + G4 cycle-half — that's the gating gap |
| 43 | + before S1-S4 can ship. |
| 44 | +- **Radix-trie addressing** (PackedDn generalised to variable-length paths) |
| 45 | + composes with Lance's append-only / standing-wave subtree-scan-at-`v_ref`. |
| 46 | + OGAR identities (`ogit-erp/sale.order/42`) are already prefix-rich; Rubicon's |
| 47 | + `LanceMembrane::commit_event` keyed on `inv.object_instance` becomes a trie |
| 48 | + append, the audit log = `traverse_subtree("ogit-erp/sale.order/42/", *)`. |
| 49 | +- **Qualia trie codebook with Quintenzirkel rotational invariance** is a |
| 50 | + follow-on D-MBX (compression-only, independent of the singleton |
| 51 | + dissolution). Frozen-set + circle-of-fifths progression structure → |
| 52 | + 8 B → 1-2 B per row; task-scoped activation via `QualiaScope` analogous |
| 53 | + to OGAR PR #28's `_effectiveReaders` (tax masks `arc/numbness/*`; invoice |
| 54 | + masks `arc/fear-of-death/*`; therapy = full codebook). |
| 55 | +- **Layer correction**: `Staunen` and `Wisdom` are PLASTICITY STAGES, not |
| 56 | + qualia archetypes. They live on `plasticity_counter: [u8; N]` and its |
| 57 | + derivatives, not in `qualia`. The CLAUDE.md "Staunen × Wisdom qualia" |
| 58 | + framing was a misnaming (see canonical doc §8). They CORRELATE with |
| 59 | + qualia-trie-miss on genuinely novel input but neither implies the other. |
| 60 | +- **The trie-miss IS the Staunen signal** — side effect of a lookup you |
| 61 | + were doing anyway, with structural context (which prefix you missed at) |
| 62 | + a flat hash collision-set couldn't give. Cheaper than BLAKE3-per-row for |
| 63 | + novelty detection. |
| 64 | +- **Zero-copy audit** is the residual discipline after S1-S4 ship. Fires |
| 65 | + at cross-boundary copies, re-encode membranes (canonical bad pattern: |
| 66 | + `engine_bridge.rs:262-267` f32→i4→column), Arrow translations on hot-path |
| 67 | + data, DTO-as-payload-when-could-be-view. Does NOT fire at transient |
| 68 | + bundle compute inside one think-arc (E-BATON-1 carve-out). |
| 69 | +- **64 MB working set fits one TiKV region** (default ~96 MB, splits at |
| 70 | + ~144 MB). The deferred cross-server HLC tick gets its natural home — |
| 71 | + Raft log = tick sequence, region leadership = single-writer authority |
| 72 | + for tick advancement, region splits = the only event needing |
| 73 | + reconciliation across leaders. No custom protocol. |
| 74 | + |
| 75 | +## Blockers |
| 76 | + |
| 77 | +- **D-MBX-A2** (add Hamming planes + ratify temporal/expert decisions on |
| 78 | + `MailboxSoA`) is the gating gap. S1-S4 cannot land until A2 ships. |
| 79 | +- **No active lance-graph session today** — this handover restores state |
| 80 | + when one starts. |
| 81 | + |
| 82 | +## Open questions |
| 83 | + |
| 84 | +- **Bucket 2** (`lance-graph-cognitive::storage::bind_space::BindSpace`, |
| 85 | + ~20 sites across `cypher_bridge.rs` / `spo/sentence_crystal.rs` / |
| 86 | + `fabric/{executor,zero_copy}.rs` + `learning/{scm,feedback}.rs`) is a |
| 87 | + SEPARATE migration arc per `docs/BINDSPACE_MIGRATION_GAP.md` (the |
| 88 | + ladybug-style Container/CogRecord/PackedDn port). Confirm before |
| 89 | + treating it as singleton scope. |
| 90 | +- **Bucket 3** (`sentence_crystal` + `holograph` crate) is the 5^5^5 |
| 91 | + research artifact (cube-with-Schnittpunkten geometry mentally / |
| 92 | + sandwich layers in IT reality). Stays as research; no action needed |
| 93 | + unless someone tries to make it a carrier (then I-VSA-IDENTITIES fires). |
| 94 | +- **Qualia trie codebook timing** — independent of the singleton |
| 95 | + dissolution; can ship before or after. The 8 B → 1-2 B compression rung |
| 96 | + earns its keep when the codec-stack rotation makes room. |
| 97 | +- **StreamDto / ResonanceDto / BusDto DTO collapse** (plan §2.6) is |
| 98 | + mostly mechanical post-S2; worth a doc pass when the time comes. |
| 99 | +- **D-MBX-7** (lance-graph container layout = MailboxSoA layout = |
| 100 | + `ndarray::simd_soa.rs` aligned) per plan §11.1 stays as the |
| 101 | + prerequisite for the §2.7 D-MBX-6 (zero-copy SurrealDB view). |
| 102 | + |
| 103 | +## Sources |
| 104 | + |
| 105 | +- **Canonical** (read first): `bardioc/BINDSPACE_DISSOLUTION_HANDOVER.md` |
| 106 | + (bardioc PR #18). |
| 107 | +- **The plan** (still authoritative): `.claude/plans/bindspace-singleton-to-mailbox-soa-v1.md`. |
| 108 | +- **Cross-session ledger**: `bardioc/CROSS_SESSION_COORDINATION.md` — |
| 109 | + 2026-06-05 append-log entry mirrors this handover. |
| 110 | +- **Prior art**: `docs/BINDSPACE_MIGRATION_GAP.md` (bucket-2 ladybug arc), |
| 111 | + `CLAUDE.md` "The Click" + 2026-05-26 Baton scoping note (Vsa16kF32 |
| 112 | + framing, deprecated as a carrier). |
| 113 | +- **Rubicon binding** (the BBB replacement): `bardioc/rubicon/` (Phases |
| 114 | + 1-5 shipped, bardioc PR #17 merged); `bardioc/MIGRATION_SPINE.md` for |
| 115 | + the spine view; `bardioc/STANDING_WAVE_ARCHITECTURE.md` for the |
| 116 | + deinterlace engine (= the standing-wave replacement for Vsa16kF32's |
| 117 | + Markov-bundling load). |
| 118 | +- **OGAR docs** affected: none — the contract surface does not change. |
| 119 | + `QualiaScope` (if/when it lands) is a class-level annotation analogous |
| 120 | + to `ContextDepends`; no breaking change. |
| 121 | + |
| 122 | +## Punch list for execution (if you pick this up) |
| 123 | + |
| 124 | +1. Ratify **D-MBX-A2** — add `content/topic/angle: [[u64; 256]; N]` Hamming |
| 125 | + planes to `MailboxSoA<N>`; decide on `temporal` (fold into |
| 126 | + `CausalEdge64.temporal` or keep `[u64; N]`) and `expert` (subsume into |
| 127 | + `mailbox_id` or keep optional column). |
| 128 | +2. Ship **S1** — G5 + G6 retargets in `engine_bridge.rs` |
| 129 | + (`write/read_qualia_*` + `persist_cycle` minus cycle plane). 1-line |
| 130 | + edits behind a feature gate; both `&BindSpace` and `&MailboxSoA` |
| 131 | + overloads alive in parallel. |
| 132 | +3. Ship **S2** — G4 dissolve. Replace `dispatch_busdto`/`unbind_busdto`/ |
| 133 | + `busdto_to_binary16k` with a `BusDto::view_over(&MailboxSoA, row)` + |
| 134 | + inverse. `engine_bridge.rs` shrinks ~600 → ~150 LOC. |
| 135 | +4. Ship **S3** — G1 reshape. `ingest_codebook_indices` becomes a thin |
| 136 | + sensor adapter per plan §2.6 StreamDto fate. |
| 137 | +5. Ship **S4** — delete `Arc<BindSpace>` from `ShaderDriver`; drop the two |
| 138 | + `BindSpace::zeros(4096)` allocations in `bin/serve.rs:29` + |
| 139 | + `bin/grpc.rs:29`. Singleton dissolved; plan §5 reached. |
| 140 | +6. Then: zero-copy audit pass per the canonical doc §9; D-MBX-A6 (planner |
| 141 | + DTO overhaul) per plan §11.6.4; optional qualia trie codebook follow-on. |
0 commit comments