docs: BindSpace-singleton → mailbox-owned SoA migration spec (one LE contract end-to-end)#418
Conversation
…-singleton→SoA migration spec Document the dissolution of the shared Arc<BindSpace> singleton into per-mailbox MailboxSoA<N> ephemeral thoughtspace (the BindSpace surrogate, NOT a per-mailbox copy of a singleton): - plan: bindspace-singleton-to-mailbox-soa-v1 — singleton inventory (driver.rs:56 / serve.rs:29 / engine_bridge.rs), column-by-column migration map (drop the 64 KB Vsa16kF32 cycle plane; own edges/qualia/meta/entity_type; reference content via CAM-PQ; keep ontology a shared Arc), cradle-to-grave lifecycle, 5 gated steps, preserved invariants (E-CE64-MB-4 ownership=compile-time no-alias, E-BATON-1, I-VSA-IDENTITIES, I-LEGACY-API-FEATURE-GATED), 4 open questions - EPIPHANIES: E-MAILBOX-IS-BINDSPACE design ruling - INTEGRATION_PLANS + STATUS_BOARD: D-MBX-1..5 deliverables (Queued, gated on D-CE64-MB-1-impl + PR-NDARRAY-MIRI-COMPLETE) - mailbox_soa.rs: module doc-note pointing to the migration plan Design/spec only; no behavioral code change. https://claude.ai/code/session_017GFLBnDy23AWBqvkbHHC41
…ck-as-is; DTO/p64 vertical audit Sharpen the migration spec per the ruling that there is ONE little-endian contract, the same SoA layout from cognitive-shader-driver down to lance-graph storage with no boundary re-encode: - plan §2.5: THE LE contract is uniform shader SoA → contract LE types (CausalEdge64/QualiaI4_16D/MetaWord/SoaColumns/entity_type) → lance storage; persisted_row is a pointer to the same SoA row, not a re-encode - plan §4: Ontology is NOT in the SoA — stays AS IS, lazylock (registry.rs:39 LazyLock) + ontology_dictionary Lance cache (lance_cache.rs, TTL-sourced, drop-and-rebuild) - plan §2.6: DTO vertical audit — p64-bridge already conforms (LE types → palette, no re-encode = the template); engine_bridge bind/unbind_busdto is the legacy re-encode seam to collapse (S2); thinking-engine StreamDto/ ResonanceDto/BusDto/ThoughtStruct survive only as ingress adapter + read projections; ResonanceDto.energy IS MailboxSoA.energy - EPIPHANIES: E-MAILBOX-IS-BINDSPACE refinement (end-to-end + ontology + DTO) - TECH_DEBT: TD-RESONANCEDTO-DUP-1 (two ResonanceDto structs, same name) Design/spec only. https://claude.ai/code/session_017GFLBnDy23AWBqvkbHHC41
…DB container; 64k–256k working set - plan §2.7: the one-SoA contract extends past RAM — ThoughtStruct is later also a transparent view into the SurrealDB-on-Lance container table(s); same SoA layout hot (mailbox) or cold (container), no RAM↔storage re-encode; persisted_row is the seam - capacity: hot ceiling ~64k–256k thoughts; 64k ≈ 300–600 MB ⇒ ~6 KB/thought, dominated by the content/topic/angle Hamming planes that STAY hot — dropping only the 64 KB Vsa16kF32 cycle plane is what makes the working set fit. Resolves OQ-1 (Hamming planes hot; CAM-PQ ref is the cold/spill form) - §3 footprint reconciled (bare columns ~24–50 B vs full hot thought ~6 KB) - STATUS_BOARD: D-MBX-6 (transparent hot/cold ThoughtStruct view); TD-RESONANCEDTO-DUP-1 -> Deferred - TECH_DEBT + EPIPHANIES updated Design/spec only. https://claude.ai/code/session_017GFLBnDy23AWBqvkbHHC41
… veto; SurrealDB is a VIEW over leading LanceDB - EPIPHANIES E-RUBICON-RACTOR: the shipped Σ10 Rubicon-resonance commit (SigmaTierRouter, D-CSV-10 #388, E21) grounded in Heckhausen's Rubicon model of action phases — ractor START = crossing the Rubicon (Σ10 commit, irreversible), Libet "free won't" = CollapseGate pre-commit veto (ghost preempt), ractor STOP = post-actional evaluation → tombstone. Provenance note: Libet/Heckhausen were NOT previously in the board (recorded now). - correction: SurrealDB is a VIEW over LanceDB, NOT a separate store; LanceDB is the leading cold storage (source of truth). The Rubicon kanban is a SurrealDB view projecting LanceDB rows. - plan §2.7 updated: cold = LanceDB (leading); SurrealDB = optional kanban view; ThoughtStruct transparent view reads hot mailbox OR cold LanceDB. Design/spec only. https://claude.ai/code/session_017GFLBnDy23AWBqvkbHHC41
📝 WalkthroughWalkthroughThis PR introduces comprehensive design and planning documentation for a major architectural migration: dissolving the shared ChangesBindSpace-to-MailboxSoA Migration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 44f60f1e3a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| --- | ||
|
|
||
| ## 2.7 — Hot/cold: `ThoughtStruct` is a transparent view over the SurrealDB container table(s) |
There was a problem hiding this comment.
Point ThoughtStruct at LanceDB rows
This heading makes the cold ThoughtStruct view target the SurrealDB container, but the same section later defines LanceDB as the leading cold store and SurrealDB as only a projection/view over those rows. If D-MBX-6 implementers follow this heading (and the matching status-board wording), they can put the authoritative hot/cold read surface behind surreal_container, contradicting the no-reencode/leading-storage contract the spec is trying to ratify; please align this to (hot mailbox row | cold LanceDB row) and leave SurrealDB as a secondary view.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
.claude/board/EPIPHANIES.md (1)
1-35: ⚡ Quick winKeep epiphany entries short and move deep narrative to linked docs.
Line 1 through Line 35 are very detailed, but this file’s own format invariant (Line 615-619) says entries should stay brief and act as pointers. Please collapse each new entry to a short claim + links, and move the long rationale into the referenced plan/knowledge docs.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.claude/board/EPIPHANIES.md around lines 1 - 35, The epiphany entries are too long for this board; shorten each new entry to a one-line claim plus links and move the detailed rationale into the referenced plan/docs; update entries that mention SigmaTierRouter, MailboxSoA, BindSpace, ShaderDriver.bindspace, engine_bridge.rs (bind_busdto/unbind_busdto/busdto_to_binary16k) and the listed plan docs so the board contains only a short summary and explicit links to the long-form documents (e.g., bindspace-singleton-to-mailbox-soa-v1.md, E-LADDER-SERVES-MAILBOX, cognitive-substrate-convergence-v*, etc.), keeping the detailed migration steps, cross-references and technical notes exclusively in those target files.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/board/INTEGRATION_PLANS.md:
- Line 4: The summary line conflicts with resolved OQ-1: update the text so
MailboxSoA<N> remains the per-mailbox ephemeral BindSpace surrogate but
explicitly state that content/topic/angle Hamming planes are kept hot in the
mailbox (not just referenced), while CAM-PQ is used only as the cold/spill
representation; retain the other points (dissolve singleton
ShaderDriver.bindspace/Arc<BindSpace> and BindSpace::zeros(4096) handling, drop
Vsa16kF32 cycle plane, own edges/qualia/meta/entity_type in the mailbox, and
keep ontology as a shared Arc) so the entry matches the migration plan rather
than claiming mailbox content is referenced via CAM-PQ.
In @.claude/board/STATUS_BOARD.md:
- Line 524: Update the blocker text for D-MBX-2 by removing OQ-1 (since OQ-1 is
resolved) and reflect the current ratified constraint — e.g., change the status
cell from "blocked on D-MBX-1 + OQ-1 (content-ref shape)" to "blocked on D-MBX-1
(content-ref shape)" so the row for D-MBX-2 lists only the active blocker; edit
the line containing the D-MBX-2 entry and update the blocker clause accordingly.
In @.claude/board/TECH_DEBT.md:
- Line 16: The heading "TD-RESONANCEDTO-DUP-1
(bindspace-singleton-to-mailbox-soa-v1)" is using level ### directly after a
section break which violates MD001; update that heading to use ## (or add the
appropriate parent heading above it) so the markdown heading hierarchy is
consistent and linter MD001 is satisfied.
In @.claude/plans/bindspace-singleton-to-mailbox-soa-v1.md:
- Around line 262-263: There is a contradictory spec: Line 262
(`fingerprints.content/topic/angle`) mandates the hot mailbox holds only a small
CAM-PQ/content reference per I-VSA-IDENTITIES, while Lines 223–227 and 375–378
state the hot path stores full 3×Hamming planes (~6KB/thought); pick one
canonical design (either "reference-only" or "dense-plane-in-hot-mailbox") and
update the document to reflect that choice everywhere (sections referencing
D-MBX-1/2, I-VSA-IDENTITIES, fingerprints.content/topic/angle,
edges/CausalEdge64 and E-BATON-1), adjusting the D-MBX-1/2 contract language,
performance/implementation notes, and any examples so the constraints are
consistent across the referenced line ranges.
- Around line 128-136: Three unlabeled fenced code blocks need language
identifiers to satisfy markdownlint MD040; locate the blocks that begin with the
lines "cognitive-shader-driver lance-graph-contract
lance-graph storage" (the block that ends with "persisted_row: Option<u32> is
the link, not a re-encode"), the block that starts "hot (mailbox SoA, ≤ 64k–256k
thoughts, ~300–600 MB)", and the block that starts "spawn
MailboxSoA<N>::new(mailbox_id, w_slot, threshold)"; for each of these fenced
code blocks (and the other occurrences noted around the other ranges), change
the opening ``` to include a language tag like ```text so the blocks are labeled
(e.g., replace ``` with ```text) and leave the closing ``` unchanged.
---
Nitpick comments:
In @.claude/board/EPIPHANIES.md:
- Around line 1-35: The epiphany entries are too long for this board; shorten
each new entry to a one-line claim plus links and move the detailed rationale
into the referenced plan/docs; update entries that mention SigmaTierRouter,
MailboxSoA, BindSpace, ShaderDriver.bindspace, engine_bridge.rs
(bind_busdto/unbind_busdto/busdto_to_binary16k) and the listed plan docs so the
board contains only a short summary and explicit links to the long-form
documents (e.g., bindspace-singleton-to-mailbox-soa-v1.md,
E-LADDER-SERVES-MAILBOX, cognitive-substrate-convergence-v*, etc.), keeping the
detailed migration steps, cross-references and technical notes exclusively in
those target files.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: ccc52666-8215-4015-992b-23e8ab51bfac
📒 Files selected for processing (6)
.claude/board/EPIPHANIES.md.claude/board/INTEGRATION_PLANS.md.claude/board/STATUS_BOARD.md.claude/board/TECH_DEBT.md.claude/plans/bindspace-singleton-to-mailbox-soa-v1.mdcrates/cognitive-shader-driver/src/mailbox_soa.rs
| ## 2026-05-27 — bindspace-singleton-to-mailbox-soa-v1 (dissolve the shared `Arc<BindSpace>` into per-mailbox `MailboxSoA<N>` ephemeral thoughtspace) | ||
|
|
||
| **Status:** PROPOSAL / design (migration spec; NOT yet implemented). **Plan file:** `.claude/plans/bindspace-singleton-to-mailbox-soa-v1.md`. **Epiphany:** `E-MAILBOX-IS-BINDSPACE`. | ||
| **Scope:** `MailboxSoA<N>` *becomes* the per-mailbox, mailbox-owned, ephemeral "thoughtspace" — the BindSpace surrogate. The singleton `ShaderDriver.bindspace: Arc<BindSpace>` (`cognitive-shader-driver/src/driver.rs:56`; one `BindSpace::zeros(4096)` in `bin/serve.rs:29`) is **dissolved**, not copied. Column map: drop the 64 KB `Vsa16kF32` `cycle` plane; own `edges`/`qualia`/`meta`/`entity_type` in the mailbox; reference content via CAM-PQ; keep `ontology` a shared `Arc`. |
There was a problem hiding this comment.
This summary line conflicts with the migration plan’s resolved OQ-1.
Line 4 says mailbox content is referenced via CAM-PQ, but the plan resolves OQ-1 to keep content/topic/angle Hamming planes hot in the mailbox and use CAM-PQ as cold/spill form. Please align this entry with the plan to avoid implementation drift.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.claude/board/INTEGRATION_PLANS.md at line 4, The summary line conflicts
with resolved OQ-1: update the text so MailboxSoA<N> remains the per-mailbox
ephemeral BindSpace surrogate but explicitly state that content/topic/angle
Hamming planes are kept hot in the mailbox (not just referenced), while CAM-PQ
is used only as the cold/spill representation; retain the other points (dissolve
singleton ShaderDriver.bindspace/Arc<BindSpace> and BindSpace::zeros(4096)
handling, drop Vsa16kF32 cycle plane, own edges/qualia/meta/entity_type in the
mailbox, and keep ontology as a shared Arc) so the entry matches the migration
plan rather than claiming mailbox content is referenced via CAM-PQ.
| | D-id | Title | Crate(s) | ~LOC | Risk | Status | PR / Evidence | | ||
| |---|---|---|---|---|---|---| | ||
| | D-MBX-1 | add migrated columns (`edges`/`qualia`/`meta`/`entity_type`) to `MailboxSoA<N>` behind `mailbox-thoughtspace` feature | cognitive-shader-driver | 120 | MED | **Queued** | gated on D-CE64-MB-1-impl + PR-NDARRAY-MIRI-COMPLETE | | ||
| | D-MBX-2 | move `engine_bridge` per-row read/write surface onto mailbox rows; `cycle` plane becomes a transient local | cognitive-shader-driver | 180 | MED | **Queued** | blocked on D-MBX-1 + OQ-1 (content-ref shape) | |
There was a problem hiding this comment.
Update D-MBX-2 blocker text: OQ-1 is already documented as resolved.
Line 524 still says D-MBX-2 is blocked on OQ-1, but the migration spec marks OQ-1 resolved. This should be updated to the current ratified constraint to keep board state reliable.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.claude/board/STATUS_BOARD.md at line 524, Update the blocker text for
D-MBX-2 by removing OQ-1 (since OQ-1 is resolved) and reflect the current
ratified constraint — e.g., change the status cell from "blocked on D-MBX-1 +
OQ-1 (content-ref shape)" to "blocked on D-MBX-1 (content-ref shape)" so the row
for D-MBX-2 lists only the active blocker; edit the line containing the D-MBX-2
entry and update the blocker clause accordingly.
| --- | ||
|
|
||
|
|
||
| ### TD-RESONANCEDTO-DUP-1 (bindspace-singleton-to-mailbox-soa-v1) |
There was a problem hiding this comment.
Fix heading-level jump to satisfy markdown lint.
Line 16 uses ### immediately after a section break; change it to ## (or introduce the missing parent heading) to resolve MD001 and keep heading hierarchy consistent.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 16-16: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3
(MD001, heading-increment)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.claude/board/TECH_DEBT.md at line 16, The heading "TD-RESONANCEDTO-DUP-1
(bindspace-singleton-to-mailbox-soa-v1)" is using level ### directly after a
section break which violates MD001; update that heading to use ## (or add the
appropriate parent heading above it) so the markdown heading hierarchy is
consistent and linter MD001 is satisfied.
| ``` | ||
| cognitive-shader-driver lance-graph-contract lance-graph storage | ||
| MailboxSoA<N> ───────────► LE byte contract types ────────► Lance columns / | ||
| (hot, owned, ephemeral) CausalEdge64 · QualiaI4_16D · SPO-G + tombstone-witness | ||
| MetaWord · SoaColumns<N> · (cold, durable) | ||
| entity_type u16 | ||
| └──────────────── ONE little-endian SoA the whole way ──────────────┘ | ||
| persisted_row: Option<u32> is the link, not a re-encode | ||
| ``` |
There was a problem hiding this comment.
Add language identifiers to fenced code blocks (markdownlint MD040).
These three fenced blocks are unlabeled. Tag them (e.g., text) to keep docs lint-clean.
Suggested patch
-```
+```text
cognitive-shader-driver lance-graph-contract lance-graph storage
MailboxSoA<N> ───────────► LE byte contract types ────────► Lance columns /
...
-```
+```
-```
+```text
hot (mailbox SoA, ≤ 64k–256k thoughts, ~300–600 MB)
│ energy decays / mailbox dies / working set full
...
-```
+```
-```
+```text
spawn MailboxSoA<N>::new(mailbox_id, w_slot, threshold) ← owns N empty rows
│ (no global space touched)
...
-```
+```Also applies to: 230-238, 317-327
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 128-128: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.claude/plans/bindspace-singleton-to-mailbox-soa-v1.md around lines 128 -
136, Three unlabeled fenced code blocks need language identifiers to satisfy
markdownlint MD040; locate the blocks that begin with the lines
"cognitive-shader-driver lance-graph-contract lance-graph
storage" (the block that ends with "persisted_row: Option<u32> is the link, not
a re-encode"), the block that starts "hot (mailbox SoA, ≤ 64k–256k thoughts,
~300–600 MB)", and the block that starts "spawn
MailboxSoA<N>::new(mailbox_id, w_slot, threshold)"; for each of these fenced
code blocks (and the other occurrences noted around the other ranges), change
the opening ``` to include a language tag like ```text so the blocks are labeled
(e.g., replace ``` with ```text) and leave the closing ``` unchanged.
| | `fingerprints.content/topic/angle` (3×2 KB Hamming planes) | **Reference, not own** (OQ-1) | Per `I-VSA-IDENTITIES` (bundle *identities*, not content): the mailbox holds a small **content reference** (CAM-PQ code / codebook id, ≤ 6 B), resolving to the dense plane in the shared cold codebook only when resonance is actually needed. Dense per-row planes do **not** belong in the hot mailbox. | | ||
| | `edges` (`CausalEdge64`) | **Own** `[CausalEdge64; N]` | This *is* the LE contract / baton edge. It moves into the mailbox unchanged — it is the cumulative-state home (`E-BATON-1`). | |
There was a problem hiding this comment.
Resolve the hot-path content-shape contradiction before implementation starts.
Line 262 says hot mailbox rows should keep only a small CAM-PQ/content reference, while Line 223 and Line 375 explicitly conclude the hot path keeps the 3×Hamming planes (~6 KB/thought). These are mutually exclusive design constraints and will cause divergent implementations for D-MBX-1/2.
Also applies to: 223-227, 375-378
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.claude/plans/bindspace-singleton-to-mailbox-soa-v1.md around lines 262 -
263, There is a contradictory spec: Line 262
(`fingerprints.content/topic/angle`) mandates the hot mailbox holds only a small
CAM-PQ/content reference per I-VSA-IDENTITIES, while Lines 223–227 and 375–378
state the hot path stores full 3×Hamming planes (~6KB/thought); pick one
canonical design (either "reference-only" or "dense-plane-in-hot-mailbox") and
update the document to reflect that choice everywhere (sections referencing
D-MBX-1/2, I-VSA-IDENTITIES, fingerprints.content/topic/angle,
edges/CausalEdge64 and E-BATON-1), adjusting the D-MBX-1/2 contract language,
performance/implementation notes, and any examples so the constraints are
consistent across the referenced line ranges.
docs(board): OQ-MBX-7..14 — #418 follow-up findings catalogue
…ndSpace-surrogate plan map Read-only synthesis surfacing (a) PR #418 (BindSpace-singleton → mailbox-owned SoA migration spec) review with three substantive notes, (b) PR #419 (25 odoo-savant AXIS-B evidence contracts) review for scope clarification, (c) the in-session plan corpus around the owned little-endian Baton contract and the SurrealDB role correction (Zone-2 cold store → view over leading LanceDB). Adds one EPIPHANIES navigability finding (E-SURREAL-POC-UNANNOTATED-SUPERSEDURE) recording that the .claude/surreal/ POC docs lack a supersedure pointer to E-RUBICON-RACTOR + plan §2.7. No code change. No .rs/Cargo.toml/build.rs/data touched. Append-only board hygiene observed (EPIPHANIES + AGENT_LOG via tee -a). https://claude.ai/code/session_01FMooFcE7hgRWWvknNr2N4i
… entry Post-merge board hygiene for #422 (`docs(handover): PR #418/#419 review + surreal/mailbox/Baton/SoA-as-BindSpace-surrogate plan map`, merged commit 984512b on top of doc commit a29946b). #422 itself was a read-only handover that didn't anticipate its own merge row; this PR mirrors the established post-merge governance pattern (cf. #354 → #353). Locks in the in-session SurrealDB role correction (Zone-2 cold store → view over leading LanceDB) and the two-figure footprint distinction (bare columns ~24-50 B vs full hot thought ~6 KB) as the canonical readings, with the navigability follow-up (.claude/surreal/SUPERSEDURE_NOTE_2026-05-27.md pointer file) explicitly deferred. No code change. Append-only via tee -a (Edit/Write denied on bookkeeping files); dated framing preserves the rule-#1 PREPEND convention. https://claude.ai/code/session_01FMooFcE7hgRWWvknNr2N4i
…erer-MAOO0 docs: BindSpace-singleton → mailbox-owned SoA migration spec (one LE contract end-to-end)
Parallel-session FINDINGS/INPUT review of PR #418's `bindspace-singleton-to-mailbox-soa-v1` plan. Standalone catalogue at `.claude/board/oq-catalog-mbx.md`, mirroring `sprint-log-13/oq-catalog.md` shape; numbering continues the plan's §8 (OQ-1..4) into OQ-MBX-7..14. Each entry is framed as a question for the owning sessions (plan-author session and D-MBX-1..6 worker sessions), with three valid resolutions (covered-elsewhere / real-gap-queue-as-D-MBX-7+ / wrong-framing-because). Survey gate run before authorship: open-PR overlap clean (only #261 draft), prior-art grep per OQ cited inline. Highest-value finding is OQ-MBX-8 — `crates/cognitive-shader-driver/REFACTOR_NOTES.md:129` states the disk-write path is unbuilt and `driver.rs:458` records the in-RAM top-k row, so plan §2.5's "`persisted_row` is a pointer to the same SoA row" is forward-looking; row-identity semantics under Lance versioning/compaction need to be pinned before D-MBX-4 picks a type. Out of scope (deferred): Libet wall-clock budget — already explicitly rejected by `.claude/surreal/cognitive-substrate.md:49-51`; and cross-server baton replication. TD-RESONANCEDTO-DUP-1 severity re-rate closed before authorship (verified P3 is correct; separate modules, no crate-root collision). Docs only; no source touched, no plan-doc edited, no STATUS_BOARD modification. https://claude.ai/code/session_018FqA8TfgRBHy8zF92kx4TW
docs(board): OQ-MBX-7..14 — #418 follow-up findings catalogue
…ndSpace-surrogate plan map Read-only synthesis surfacing (a) PR #418 (BindSpace-singleton → mailbox-owned SoA migration spec) review with three substantive notes, (b) PR #419 (25 odoo-savant AXIS-B evidence contracts) review for scope clarification, (c) the in-session plan corpus around the owned little-endian Baton contract and the SurrealDB role correction (Zone-2 cold store → view over leading LanceDB). Adds one EPIPHANIES navigability finding (E-SURREAL-POC-UNANNOTATED-SUPERSEDURE) recording that the .claude/surreal/ POC docs lack a supersedure pointer to E-RUBICON-RACTOR + plan §2.7. No code change. No .rs/Cargo.toml/build.rs/data touched. Append-only board hygiene observed (EPIPHANIES + AGENT_LOG via tee -a). https://claude.ai/code/session_01FMooFcE7hgRWWvknNr2N4i
… entry Post-merge board hygiene for #422 (`docs(handover): PR #418/#419 review + surreal/mailbox/Baton/SoA-as-BindSpace-surrogate plan map`, merged commit 3e8ce14 on top of doc commit 7484398). #422 itself was a read-only handover that didn't anticipate its own merge row; this PR mirrors the established post-merge governance pattern (cf. #354 → #353). Locks in the in-session SurrealDB role correction (Zone-2 cold store → view over leading LanceDB) and the two-figure footprint distinction (bare columns ~24-50 B vs full hot thought ~6 KB) as the canonical readings, with the navigability follow-up (.claude/surreal/SUPERSEDURE_NOTE_2026-05-27.md pointer file) explicitly deferred. No code change. Append-only via tee -a (Edit/Write denied on bookkeeping files); dated framing preserves the rule-#1 PREPEND convention. https://claude.ai/code/session_01FMooFcE7hgRWWvknNr2N4i
Summary
Design/spec only (no behavioral code). Documents how the shared singleton
Arc<BindSpace>dissolves into per-mailboxMailboxSoA<N>ephemeral "thoughtspace", and establishes THE little-endian contract: one SoA layout, uniform from the cognitive-shader-driver hot path down to lance-graph storage, with no re-encode at any boundary.New plan
bindspace-singleton-to-mailbox-soa-v1.md+ board entries (E-MAILBOX-IS-BINDSPACE,E-RUBICON-RACTOR,D-MBX-1..6,TD-RESONANCEDTO-DUP-1), plus a//!doc-note onMailboxSoA.What it rules
MailboxSoA<N>becomes the BindSpace (not a per-mailbox copy of a singleton): each mailbox owns its ephemeral SoA columns; the sharedArc<BindSpace>(driver.rs:56 / serve.rs:29) is dissolved. Ownership makes no-alias/no-race a compile error (E-CE64-MB-4); the only cross-boundary state is the LE baton(u16, CausalEdge64)(E-BATON-1).MailboxSoA→ contract LE types (CausalEdge64/QualiaI4_16D/MetaWord/SoaColumns/entity_type) → lance-graph storage;persisted_rowis a pointer to the same row, not a serialized copy.p64-bridgealready conforms (the template);engine_bridgebind/unbind_busdtois the legacy re-encode seam to collapse.Vsa16kF32cycleplane; ownedges/qualia/meta/entity_type; keep the content/topic/angle Hamming planes hot (~6 KB/thought, which sets the 64k–256k thought / ~300–600 MB working-set ceiling); ontology stays a LazyLock-via-cache shared resource, AS IS (out of the SoA).ThoughtStructis later also a transparent view over LanceDB (leading storage); SurrealDB is a view over LanceDB, not a store (the Rubicon-model kanban).E-RUBICON-RACTORnames the shipped Σ10 Rubicon-resonance commit (SigmaTierRouter, D-CSV-10 impl(sprint-12/wave-F): 12 Sonnet workers + 1 Opus meta — D-CSV-10/12 + AttentionMask + governance refresh (sprint-11 grade: B) #388) in Heckhausen's action-phase model + Libet's veto: ractor START = crossing the Rubicon (Σ10 commit), Libet "free won't" = CollapseGate pre-commit veto, ractor STOP = post-actional evaluation → tombstone.Status of the work
All deliverables (
D-MBX-1..6) are Queued, gated onD-CE64-MB-1-impl(par-tile) +PR-NDARRAY-MIRI-COMPLETE; theResonanceDtodedup is Deferred (TD-RESONANCEDTO-DUP-1). No code path changed in this PR.Test plan
//!module doc-comment onmailbox_soa.rs).https://claude.ai/code/session_017GFLBnDy23AWBqvkbHHC41
Generated by Claude Code
Summary by CodeRabbit
Documentation
Chores