Skip to content

Commit 612f5c3

Browse files
authored
Merge pull request #611 from AdaWorldAPI/claude/serene-mayer-1a09he
docs(plan): SoA value-tenant migration — Phase-1 harvest + v2 operator-locked sequencing
2 parents 8f6daa0 + 85a4a45 commit 612f5c3

5 files changed

Lines changed: 511 additions & 0 deletions

File tree

.claude/board/AGENT_LOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2026-06-25 (cont.⁴³) — SoA value-tenant migration Phase-1 HARVEST: the filled §4 inventory (executing session)
2+
3+
**Main thread (Opus), operator-directed (executing session for `soa-value-tenant-migration-v1.md`).** Ran the brief's Phase-1 harvest under read-not-grep. Read FULLY: `canonical_node.rs` 1–1091 (the whole `ValueTenant`/`VALUE_TENANTS`/`ValueSchema`/`ReadMode` surface — the `const _` assert `Full.field_mask().count()==VALUE_TENANTS.len()` PROVES exactly **10 tenants**, none hiding in the test module), `class_view.rs` (full), `cascade_key.rs` (full). Two parallel mapping subagents: in-workspace+ndarray producer/consumer map (Opus general-purpose, confirmed-by-read) + cross-repo consumer locator (Explore). **Deliverable:** NEW `.claude/plans/soa-value-tenant-migration-v1-harvest.md` (filled §4 inventory, 10 rows). **Two findings:** (A) **two disjoint SoA worlds** `[G]` — the canonical `NodeRow.value` 480 B slab vs a parallel `MailboxSoA<N>` of separate `[T;N]` columns; only `EntityType≡class_id` shared; **6/10 slab tenants have NO live producer** (only Energy/EntityType/Kanban/Fingerprint are live slab writers) → near-term migration = RECONCILING the two worlds, not homogenizing. (B) **homogeneity-non-closure HOLDS over the slab** `[H]` (the honest §8.5 outcome) — 9/10 tenants irreducibly heterogeneous (identity/scalars/bitfield/cursor) → KEEP (EXCEPT Qualia i4-16D + the future thinking-style i4-32D, which **DEFER** for a bigger substrate-validation test — i4 faithfulness, `I-NOISE-FLOOR-JIRAK`); §8 reduces to "classid is a schema pointer", SHIPPED (`ReadMode`/`ValueSchema`/`ClassView`, `ocr.rs:105` exemplar). **The closure is the operator's ONE CONTAINED facet** (2026-06-25): `facet_classid(4) | helix-place(6 B/48-bit = HelixResidue) | cam-pq(6 B/48-bit canonical CAM-PQ) = 16 B` — identity⊥search⊥schema, codec-selected by facet_classid, layout-preserving (no `ValueSchema` variant, no #500), I-VSA-IDENTITIES-clean (disjoint byte ranges, never bundled). Precise point: the facet wants the **6 B CAM-PQ**, NOT today's 16 B `TurbovecResidue` turbovec — a width decision for §6. **Corrections logged:** q2 `new_v2` blocker is CLOSED (API landed gated, `guid-v2-tail`); the cross-repo agent's "medcare-rs/ogar disk-walled" is a casing miss (`/home/user/{MedCare-rs,OGAR}` ARE present — top follow-up corrective sweep). Doc-only, zero code, no collision. EPIPHANIES E-TWO-SOA-WORLDS + E-HOMOGENEITY-CLOSES-AS-CONTAINED-FACET; INTEGRATION_PLANS prepend supersedes the BRIEF entry's "additive `ValueSchema::Homogeneous`" line. On branch `claude/serene-mayer-1a09he`.
4+
15
## 2026-06-24 (cont.⁴²) — strong form §8: the substrate as a full-stack compiler (thesis capstone, doc-only)
26

37
**Main thread (Opus), operator-directed ("Holy Grail" → "continue") + cross-session feedback.** Appended **§8 "The strong form — the substrate as a full-stack compiler"** to `substrate-unification-thesis.md` (the doc shipped cont.⁴¹). §0–§7 read ONE node five ways; §8 asks: what if the VALUE SLAB itself is homogeneous in the key's algebra and `classid` is a schema pointer? Then the 512-byte node becomes a *compilation unit*: data → index → schema → view. **§8.1 homogeneous facet** `[H]` — carve value as N×16-byte facets, each a `(part_of:is_a)` cascade (`facet_classid(4) | 6×(8:8)=12`); a NEW `ValueSchema::Homogeneous` ALONGSIDE the existing `ValueTenant` columns → layout-preserving, no `ENVELOPE_LAYOUT_VERSION` bump (vs a key re-carve = canon-level). **Conflation trap named up front:** not every facet is part_of:is_a — scalars (susceptance/price/timestamp) aren't hierarchical, forcing them into 8:8 is the §1 split-error in reverse; honest form = scalar facets carry PQ codes, `facet_classid` discriminates codec-per-facet, **gated on F-1** (faithful centroids) + F-code (lossless). **§8.2 classid dual-dispatch** `[H]` — one radix lookup yields BOTH `classid→ReadMode` (codec: place⊕residue = Helix ⊕ CAM-PQ, the OGAR deterministic-phase/stored-magnitude split) AND `classid→ClassView` (schema: rails/AST/ERP, the OGAR `has_function`/`inherits_from` harvest); failure mode = drift between the two tables (`I-LEGACY-API-FEATURE-GATED` in spirit). **§8.3 LEGO** `[S]` — EdgeBlock click across domains via shared OGAR codebook (`canonical_concept_id`); compile = SPO manifest→ClassView, run = SoA under `UnifiedStep`/semiring; bounds: shared-concept lattice only (else adapter bricks at the membrane), structure⊥flow, core-gap extended not hacked; CONJECTURE until `PROBE-OGAR-ADAPTER-UNICHARSET` green. **§8.4 view layer** `[S]` — ClassView→askama, **Redmine as donor** (sharpened by other-session feedback): `Redmine::FieldFormat`→codebook-kind→cell-renderer map (partonomy tile→link/enum, value-quantile→number/gauge, identity→reference), `Query`/`QueryColumn`→ClassView→lenses→cells, `CustomField`/`CustomValue`→customattribute lens per classid. **The one real seam** = askama compile-time vs custom-fields runtime; three reconciliations (codegen / generic-renderer / **hybrid=the answer**: static type-safe shell + dynamic codebook cells = the `jinja<>dynamic classview` arrow), all inside the firewall (build-time codegen-from-manifest = sanctioned "compile types", medcare-rs Iron Rule 7). **Payoff closes the loop:** row/table = the **4th projection** of the node (next to 3D scene/graph/splat — `TorsoMap` three tenants→four); §0's "one object, N readings" reaches the screen. **§8.5** — §8 inherits §4's gates (8.1→F-1+F-code, 8.2→F-collapse, 8.3/8.4→OGAR core-first probe); §8-specific KILL = **homogeneity non-closure** (if facets are irreducibly heterogeneous, §8 reduces to "key is a schema pointer"). Honest line: engineering rungs (§2 axes, #605/#607) shipped & real; the full-stack-compiler reading is a coherent bet whose every load-bearing joint already has a named, un-run probe. Doc-only, zero code, no collision. Rides a fresh PR on jirak (#607 merged → jirak==main).

.claude/board/EPIPHANIES.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## 2026-06-25 — E-TWO-SOA-WORLDS — the value-tenant migration's real object is the slab↔parallel-MailboxSoA seam, not homogenization
2+
3+
**Status:** FINDING `[G]` (confirmed-by-read; Phase-1 harvest of `soa-value-tenant-migration-v1`). The 480 B `NodeRow.value` slab (10 `ValueTenant`s, `canonical_node.rs:606`) and the parallel `MailboxSoA<N>` (`cognitive-shader-driver/src/mailbox_soa.rs`, separate `[T;N]` columns) BOTH implement `MailboxSoaView`/`Owner` (`soa_view.rs`) but are **disjoint** — they share exactly one semantic column, `class_id()≡entity_type()` (`soa_view.rs:75`). **6 of 10 slab tenants have NO live producer** (Meta/MaterializedEdges/HelixResidue/TurbovecResidue/Plasticity — only schema tests or parallel-SoA mirrors); only Energy/EntityType/Kanban/Fingerprint are written into the actual slab. `SymbiontBoard` straddles both (carries `Vec<NodeRow>` but exposes parallel mirror `Vec`s). **Consequence:** the migration's load-bearing decision is which world becomes canonical (the A↔B reconciliation), NOT homogenizing tenants. Open (un-answerable from source, a §6-panel question): does `MailboxSoA.edges` become the slab `MaterializedEdges` tenant? Full inventory: `soa-value-tenant-migration-v1-harvest.md`.
4+
5+
## 2026-06-25 — E-HOMOGENEITY-CLOSES-AS-CONTAINED-FACET — §8 homogeneity doesn't close over the slab; it closes as the operator's one 16 B place⊕search facet
6+
7+
**Status:** FINDING `[H]` (operator-proposed 2026-06-25, harvest-grounded; gated F-1 + F-code; pending §6 sign-off). Applying §3's gates to the actual 10 tenants: 9/10 are irreducibly heterogeneous (identity Fingerprint / scalars Energy·Plasticity·EntityType / bitfield Meta / fixed-vector Qualia / already-PQ Turbovec / cursor Kanban / deferred edges) → **KEEP** — except Qualia (i4-16D) and the operator-named future thinking-style (i4-32D), which **DEFER** for a bigger substrate-validation pass (i4 faithfulness — Cronbach/ICC/Spearman vs ground truth, `I-NOISE-FLOOR-JIRAK`); only HelixResidue (structure) matches the facet shape. So §8's homogeneous-value-slab reduces — per its own §8.5 fallback, NOT a failure — to "**classid is a schema pointer**", which is SHIPPED (`ReadMode`/`ValueSchema`/`ClassView`; `ocr.rs:105` end-to-end). **The closure exists as ONE contained special case** (operator): `facet = facet_classid(4) | helix-place(6 B / 48-bit Signed360 = `ValueTenant::HelixResidue`) | cam-pq(6 B / 48-bit canonical CAM-PQ) = 16 B` — fuses identity (frozen ruler, ICC→1.0) ⊥ search (CAM-PQ) ⊥ schema (facet_classid), codec-selected by facet_classid (the §3/§8.1 provision → a `classid → ClassView` reading, **no `ValueSchema` variant**, layout-preserving, no #500). **I-VSA-IDENTITIES-clean by construction:** helix∥CAM-PQ in disjoint byte ranges ([0:6],[6:12]), concatenated never XOR-bundled. **Precise design point:** the facet wants the 6 B canonical CAM-PQ, NOT today's 16 B `TurbovecResidue` (turbovec 32×4-bit) — a width decision for the §6 panels. This is the §8.1 facet made concrete with a *place⊕search* codec instead of a `part_of:is_a` tile. Detail: `soa-value-tenant-migration-v1-harvest.md` §1 Finding B.
8+
19
## 2026-06-23 — E-OGAR-11-OF-11-CLOSURE — the cross-axis identity gap from odoo-rs #14 is fully closed (OGAR #111 + #126 + #127; lance-graph #597 + #606 + this D4)
210

311
**Status:** FINDING (milestone). odoo-rs PR #14 surfaced 11 missing

.claude/board/INTEGRATION_PLANS.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## 2026-06-25 — soa-value-tenant-migration v2 SEQUENCING (operator-locked; identity→V3, then V3-tenants)
2+
3+
Plan: `.claude/plans/soa-value-tenant-migration-v2.md`. **Operator-locked ordering** for the migration the v1 BRIEF opened + the v1-HARVEST inventoried: **ONE migration, TWO ordered phases — Phase 1 identity→V3 (key-side), Phase 2 V3-shaped value tenants (value-side).** Identity-first is **forced, not chosen**: OGAR #128's envelope parser resolves `tail_variant` (key shape) UPSTREAM of `value_schema` (tenant shape), so the tenants cannot be shaped to a V3 geometry the key does not yet express (the key is the coordinate system; tenants are read *through* it; the Phase-2 `helix-place‖CAM-PQ` facet is a *reflection* of the V3 part_of/is_a key). **Phase 1** = OGAR-registry + envelope-parser wiring: `0x1007` leading-`1` prefix → V3 `tail_variant`, **coexist-by-classid** (legacy zero-prefix stays V2 via `new_v2`/`guid-v2-tail`; RESERVE-DON'T-RECLAIM ⇒ zero V2-corpus re-mint, layout-preserving), grade `[H]` gate **F-update**. **Phase 2** = the harvest (contained facet + 8 KEEP + 2 DEFER, F-1/F-code; the §5 body still gated on the two 5+3 panels). **Payoffs:** identity-first migrates the one shared `entity_type≡class_id` anchor to V3 *before* the A↔B reconciliation (Phase 2 reconciles in V3 coords, no redo), and dissolves the harvest's scope question (harvest = the Phase-2 input). **Watch:** Phase 1's substance IS the OGAR casing-miss gap (harvest §6.1) — the corrective `/home/user/{OGAR,MedCare-rs}` sweep gates Phase-1 start, not optional polish. Doc-only. On `claude/serene-mayer-1a09he` (rides with the harvest to main).
4+
5+
## 2026-06-25 — soa-value-tenant-migration-v1 HARVEST (Phase-1 deliverable; supersedes the BRIEF's §5/§8.1 framing)
6+
7+
Plan: `.claude/plans/soa-value-tenant-migration-v1-harvest.md` (the filled §4 inventory). **Phase-1 of the 2026-06-24 BRIEF (below) is DONE.** **Correction (supersedes the BRIEF entry's "§5 migration body … additive `ValueSchema::Homogeneous`+`FacetCascade`" line, per the Codex-P2 reframe on #610):** the migration mints **NO `ValueSchema` enum variant** — the homogeneous facet is a `classid → ClassView` *reading* over an existing preset (`Full`/`Compressed`), enum + 16/16/480 layout untouched, no `ENVELOPE_LAYOUT_VERSION` bump (#496 §0 / #500 no-new-variant guardrail). **Harvest result:** the slab does NOT homogenize (8 KEEP + 2 DEFER — Qualia i4-16D and the future thinking-style i4-32D parked for substrate validation — + 1 homogenize-to-facet; the honest §8.5 outcome); the closure is the **operator's ONE contained 16 B facet** `facet_classid(4) | helix-place(6) | cam-pq(6)` (identity⊥search⊥schema; the **6 B canonical CAM-PQ**, NOT the 16 B turbovec residue). Plus **Finding A:** the canonical slab and the parallel `MailboxSoA` are two disjoint worlds (only `entity_type≡class_id` shared; 6/10 tenants producer-less) — reconciling them is the real near-term migration. **Next:** corrective `/home/user/{OGAR,MedCare-rs}` sweep (casing-miss gap), then the two independent 5+3 panels (§6). Doc-only. On `claude/serene-mayer-1a09he`.
8+
19
## 2026-06-24 — soa-value-tenant-migration-v1 (BRIEF; harvest-pending)
210

311
Plan: `.claude/plans/soa-value-tenant-migration-v1.md`. NOT the migration —

0 commit comments

Comments
 (0)