Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .claude/board/AGENT_LOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
## 2026-06-20 (cont.¹⁸) — golden image was MISSING lance-graph-ogar — wired it (+ contract [patch])

**Main thread (Opus), autoattended.** Operator: "check if the golden image is missing lance-graph-ogar from cargo/docker." **Confirmed missing:** `crates/symbiont/Cargo.toml` git-dep'd raw `ogar-vocab`/`ogar-ontology`/`ogar-adapter-surrealql` but NOT `lance-graph-ogar` (nor `ogar-class-view`, nor the parity-guard) — so the golden image was NOT proving the AR `ClassView` bridge or the codebook drift-guard link in the unified binary. Docker has no separate gap: `Dockerfile` just runs `cargo build --release` on symbiont's manifest (+ clones ndarray sibling); lance-graph-ogar is in-repo (`COPY . /build/lance-graph`), so cargo-missing = docker-missing, one fix.

**Fix:** added `lance-graph-ogar = { path = "../lance-graph-ogar", features = ["surrealql-parser"] }` + the mandatory `[patch."https://github.com/AdaWorldAPI/lance-graph"] lance-graph-contract = { path = "../lance-graph-contract" }` (the CONSUMER REQUIREMENT from PR #564: symbiont is the workspace root so lance-graph-ogar's own patch is ignored; ogar-class-view git-deps contract@main and must unify onto symbiont's path copy or the impl ClassView won't typecheck). Kept the 3 raw ogar deps (resolve to the same git#main source via the activation crate's re-export — no conflict; collapsing them into the one activation dep is a future cleanup).

**Verified by resolve** (`cargo metadata --manifest-path crates/symbiont/Cargo.toml`, exit 0): `lance-graph-ogar` + `ogar-class-view` now IN the golden-image graph; **lance-graph-contract instances = 1** (source=None = path copy) → the [patch] folded the git contract onto the one path copy; **no "patch not used" warning** (P0 policy clean). Full compile is the Railway/CI build-validation job (protoc + lance7 + surrealdb tree). symbiont Cargo.lock stays gitignored (living harness). Branch jirak.
## 2026-06-20 (cont.¹⁷) — kanban×Rubicon SoA tenant + per-tenant counters (capstone S1 green)

**Main thread (Opus), autoattended.** Operator go on the canon-locked change ("first the kanban X Rubicon wired inside the SoA" + "add counters for each tenant"). Confirmed aiwar/OSINT/mixin-family on main first (q2 can test: `contract::aiwar` + `soa_graph::project_snapshot(&OSINT_GOTHAM)` → GraphSnapshot, family nodes = categories, cross-category edges → out_family `references` slots = the O(1) mixin model; example `aiwar_family_poc`). Built:
- **`ValueTenant::Kanban = 9`** at value-slab `[112,120)` (8 B, U64 descriptor @ row_offset 144), added to `ValueSchema::{Cognitive,Full}`. Reserve-don't-reclaim, layout-preserving (Full 112→120, stride 512 untouched, no version bump).
- **`KanbanTenant`** Copy view (phase/exec/cycle) + `from_bytes`/`to_bytes` (LE) + `NodeRow::{kanban,set_kanban}`; `KanbanColumn::from_u8` + `ExecTarget::from_u8`. Exported `KanbanTenant` from lib.rs.
- **`tenant_counter`** module + feature `tenant-counters` (default OFF, zero-cost no-op; one relaxed atomic/tenant-write when on) — the capstone NaN-census instrument; `set_kanban` bumps the Kanban counter.
- Updated the 3 byte-budget LOCK tests (their job: catch deliberate layout change) — Cognitive 58→66, Full 112→120, contiguous carve 112→120; added Kanban to the full-covers list. Field-isolation matrix test + schema-membership test added.
Verified: contract lib **714** default / **715** tenant-counters / **720** guid-v2-tail; clippy `-D warnings --all-targets` clean all three; fmt clean; Full-carve math 120 ends row 152. `cargo-machete` not installed in sandbox (only Cargo.toml change is a dep-less feature → nothing to flag). No downstream crate hardcodes the old tenant count/budget (grep clean). **Capstone S1 → green** (CONJECTURE→FINDING). EPIPHANY E-KANBAN-IS-A-VALUE-TENANT-SUBSUMES-G1.
**Deferred (named, NOT this PR):** the Singleton/BindSpace→MailboxSoA rewire (cognitive-shader-driver, W3/W4a `mailbox-thoughtspace` arc); BF16 perturbation-shader cascade (perturbation-sim, excluded crate); capstone Wave-0 NaN baseline.

## 2026-06-20 (cont.¹⁶) — capstone validation plan: cognitive-loop wiring + NaN-census

**Main thread (Opus), autoattended.** Rebased jirak onto main (98c0cf2a = #564 merged: lance-graph-ogar + node_rows_from_le_bytes). Resolved a stop-hook false-positive (98c0cf2a is GitHub's web-flow merge commit, GitHub-verified; fast-forwarded origin/jirak to it, no rewrite). Operator asked whether the kanban/MUL/orchestration wiring deserves a capstone VALIDATION plan that MEASURES the actual wiring ("99% there unused, 28% wiring gaps, 72% NaN"). Agreed — it's mandated by the measurement-before-synthesis + probe-first iron rules. Wrote `.claude/plans/capstone-cognitive-loop-wiring-nan-census-v1.md`: treats the operator's estimate as THREE orthogonal measured quantities (piece-presence% / seam-wiring% / run-NaN%); 7 seams S1..S7 each a CONJECTURE-until-probe-green (S1 kanban tenant, S2 MUL→phase, S3 version→move, S4 envelope route via BridgeSlot, S5 batch push [measured GAP: pull-only], S6 timeline zero-copy [GAP: val is opaque Binary], S7 SoA self-NaN-census = the "Orchestration meta-awareness"); Wave 0 = measure baseline on shipped code (the honest number behind 72% NaN). Overclaim-guard: AGI-adjacency is the IF the census TESTS, never the asserted THEN. Decided (I-VSA-IDENTITIES register-laziness + AGI-glove): thinking-style is ClassView+Meta, NOT a new 128-bit tenant; the 48+80 flat split was rejected (duplicates Plasticity/Meta/Qualia). Kanban tenant stays 8 B; still gated on operator go for the canon-locked region. Plan committed to jirak; INTEGRATION_PLANS prepended.

## 2026-06-20 (cont.¹⁵) — PR #564 codex P2 fixes (contract-source unification + build-time parity fuse)

**Main thread (Opus), autoattended.** Two codex P2 review comments on #564, both correct, both fixed:
Expand Down
14 changes: 14 additions & 0 deletions .claude/board/EPIPHANIES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## 2026-06-20 — E-KANBAN-IS-A-VALUE-TENANT-SUBSUMES-G1 — making kanban×Rubicon a per-node SoA value tenant (`ValueTenant::Kanban`, 8 B at value-slab [112,120)) pins SoA↔kanban in the 512-byte LE blob and dissolves the envelope-pointer gap (G1): the node carries its OWN phase+cycle, so no `UnifiedStep` field is needed

**Status:** FINDING (operator "brutal version" lock, 2026-06-20; shipped, capstone S1 green).

The kanban phase was going to be carried by a new `UnifiedStep` pointer field (G1). Putting it IN the SoA instead is cleaner and subsumes G1:
- `ValueTenant::Kanban = 9` at row_offset 144 (value-slab `[112,120)`), 8 B: `phase(KanbanColumn u8) | exec(ExecTarget u8) | reserved(u16) | cycle(u32)`. Reserve-don't-reclaim (368 B were free), **layout-preserving** — Full 112→120 ≤ 480, stride still 512, no `ENVELOPE_LAYOUT_VERSION` bump. Field-isolation matrix test mandatory (I-LEGACY) — green.
- **Pins SoA↔kanban in the LE contract**: kanban is now a fixed byte range in the 512-byte blob → a `FixedSizeBinary(512)` store (surrealdb second brain) reads the kanban state zero-copy at any Lance version; the kanbanview = mailbox rows projected by the tenant's `phase`.
- **Owner-gated write / Rubicon read-only**: `NodeRow::set_kanban` is owner-only by convention (the `MailboxSoaOwner`/`View` split); surreal reads, never writes.
- **Decisions kept (I-VSA-IDENTITIES register-laziness + AGI-glove):** thinking-style is ClassView + the `Meta` tenant, NOT a new 128-bit tenant (the 48+80 flat split was rejected — duplicates Plasticity/Meta/Qualia). plan-shape stays ClassView-derived. The MUL flow-vs-mismatch trigger is a FUNCTION over Qualia/Meta/Plasticity → GateDecision → advance phase, not a stored tenant.

Companion: `tenant_counter` (feature `tenant-counters`, default OFF, zero-cost no-op when off; one relaxed atomic per tenant write when on) — the per-tenant update-counter instrument the capstone NaN-census reads. `set_kanban` bumps the `Kanban` counter as the first wired cascade point.

Verified: contract lib 714 (default) / 715 (tenant-counters) / 720 (guid-v2-tail), clippy `-D warnings` clean all three, fmt clean; Full carve math 120 B ends row 152 ≤ 512. Cross-ref: capstone plan S1; `E-SURREALDB-SECOND-BRAIN-IS-ZERO-COPY-IFF-FIXEDSIZEBINARY`; AGENT_LOG 2026-06-20 (cont.¹⁷).

## 2026-06-20 — E-SURREALDB-SECOND-BRAIN-IS-ZERO-COPY-IFF-FIXEDSIZEBINARY — surrealdb (kv-lance) can become a zero-copy "second brain" inside lance-graph ONLY if it stores each node as an uncompressed `FixedSizeBinary(512)` LE blob; the contract a store satisfies is `node_rows_from_le_bytes(&[u8]) -> Option<&[NodeRow]>` (the inverse of `NodeRowPacket::as_le_bytes`), and a variable-length `Binary` column does NOT qualify

**Status:** FINDING (brutal feasibility pass, 2026-06-20; contract primitive shipped, surrealdb side planned).
Expand Down
10 changes: 10 additions & 0 deletions .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## 2026-06-20 — capstone-cognitive-loop-wiring-nan-census-v1 (PROPOSED)

The measurement companion to the kanban×Rubicon tenant arc. **A measurement plan,
not a build plan** — converts the operator's "99% present / 28% wiring gaps / 72%
NaN" into THREE orthogonal measured quantities (piece-presence% / seam-wiring% /
run-NaN%) over the phase-aligned cognitive loop. 7 seams (S1 kanban tenant … S7
SoA self-NaN-census = "Orchestration meta-awareness"), each a CONJECTURE until its
probe runs green. Wave 0 = measure the baseline on shipped code (the honest number
behind 72% NaN). Plan: `.claude/plans/capstone-cognitive-loop-wiring-nan-census-v1.md`.

## 2026-06-20 — ogar-vocab ⇄ contract codebook migration (PROPOSED; surfaces a canon conflict)

Plan: `.claude/plans/ogar-vocab-contract-codebook-migration-v1.md`. Closes the ontology→contract seam: OGAR `ogar-vocab` already defines the class-identity codebook (`CODEBOOK` domain-encoded `0xDDCC`, `ConceptDomain`, `source_domain_concept`, `canonical_concept_id`, `LabelDTO`) and its own doc says `LabelDTO` "long-term belongs in lance-graph-contract … codebook ids and the NodeGuid.classid u16 low half are wire-compatible." **Conflict surfaced:** merged `CLASSID_OSINT=0x0007` routes to OGAR's *Reserved* domain (OSINT is `0x07XX`), and `CLASSID_FMA=0x0008` sits in OGAR's OCR block (FMA/anatomy ≈ Health `0x09XX`). Target: contract hosts the codebook/`ConceptDomain`/`LabelDTO`, classids follow `0xDDCC` (mint project `0x01XX` + ERP `0x02XX`; realign OSINT→`0x0700`, FMA→Health). D-OVC-1..4. **Gated on operator sign-off (canon realign of merged OSINT/FMA + the OGAR↔contract dependency direction) — see plan §5.** Per-family codebook (D-GV2-2) is the finer scope of the same idea. Cross-ref ISSUES `ISS-CLASSID-OGAR-DRIFT`.
Expand Down
2 changes: 2 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

---

> **2026-06-20 — IN PR (`claude/jirak-math-theorems-harvest-rfii13`)** — **kanban×Rubicon SoA value tenant + per-tenant counters (capstone S1 green).** NEW `ValueTenant::Kanban = 9` at value-slab `[112,120)` (8 B: `phase|exec|reserved|cycle`), added to `ValueSchema::{Cognitive,Full}` — reserve-don't-reclaim, **layout-preserving** (Full 112→120 B, stride 512 untouched, no version bump). `KanbanTenant` Copy view + `NodeRow::{kanban,set_kanban}` (owner-gated write / surreal read-only / Rubicon); `KanbanColumn`/`ExecTarget` `from_u8`. **Subsumes the envelope-pointer G1** — the node carries its own phase+cycle, pinning SoA↔kanban in the LE blob (a `FixedSizeBinary(512)` store reads kanban zero-copy at any version). NEW `tenant_counter` module + feature `tenant-counters` (default OFF, zero-cost no-op; one relaxed atomic/tenant-write when on) — the capstone NaN-census instrument; `set_kanban` is the first wired cascade point. Decisions kept (I-VSA-IDENTITIES + AGI-glove): thinking-style is ClassView+`Meta`, NOT a 128-bit tenant; plan-shape ClassView-derived; MUL flow-trigger is a function, not a tenant. Contract lib **714**/715(tenant-counters)/720(guid-v2-tail), clippy `-D warnings` + fmt clean all three. Refs: AGENT_LOG (cont.¹⁷), EPIPHANIES `E-KANBAN-IS-A-VALUE-TENANT-SUBSUMES-G1`, plan `capstone-cognitive-loop-wiring-nan-census-v1` (S1 green).
>
> **2026-06-20 — IN PR (`claude/jirak-math-theorems-harvest-rfii13`)** — **Zero-copy SoA read contract: `node_rows_from_le_bytes` (the surrealdb "second brain" primitive).** The inverse of `NodeRowPacket::as_le_bytes` (WRITE) — `canonical_node::node_rows_from_le_bytes(&[u8]) -> Option<&[NodeRow]>`, a CHECKED zero-copy cast (`len % 512 == 0` AND `ptr % 64 == 0`, else `None` → caller copies, no UB; empty→Some(empty)). This IS the LE contract a backing store satisfies so its bytes ARE the SoA the cognitive shader reads in place. **Brutal verdict:** lance-graph side now zero-copy-ready end-to-end; surrealdb's kv-lance does NOT qualify as scaffolded (`val: DataType::Binary` variable-length → needs `FixedSizeBinary(512)`), and value zero-copy holds only if stored UNcompressed (key/address always zero-copy). 712 contract lib green, clippy `-D warnings` both configs + fmt clean. Refs: AGENT_LOG 2026-06-20 (cont.¹⁴), EPIPHANIES `E-SURREALDB-SECOND-BRAIN-IS-ZERO-COPY-IFF-FIXEDSIZEBINARY`.
>
> **2026-06-20 — IN PR (`claude/jirak-math-theorems-harvest-rfii13`)** — **Clean separation: NEW `lance-graph-ogar` activation crate (OGAR Active-Record surface).** The OGAR half of `ontology=OGIT / ogar=OGAR`. OGAR is the AR Core and ALREADY `impl`s the contract: `ogar-class-view::OgarClassView impl lance_graph_contract::ClassView` (32 concepts), `ogar-vocab::Class` = AR shape, `canonical_concept_id == ClassId`. NEW `crates/lance-graph-ogar` (EXCLUDED, own `[workspace]`, git-deps OGAR@main + lance-graph-contract@main = ONE source, no `[patch]`) re-exports the full AR surface (ogar-vocab + ogar-class-view + ogar-ontology + ogar-adapter-surrealql) + a **parity-guard** (`assert_codebook_parity`: bijective `ogar_codebook::CODEBOOK ⇄ ogar_vocab::class_ids::ALL` + domain agreement, FAILS build on drift). Features: `default` (light, emit-only), `surrealql-parser` (parser half), `serde`. **Auto-activation = Cargo presence**: pull the crate → real OGAR AR + drift fuse; don't → contract's zero-dep mirror + bare ClassView trait (OGAR stays headless). `cargo test --manifest-path crates/lance-graph-ogar/Cargo.toml` **3/3** green, clippy + fmt clean, contract = ONE source (git main #ff1a3452). Refs: AGENT_LOG 2026-06-20 (cont.¹³), EPIPHANIES `E-OGAR-IS-AR-CORE-AUTOACTIVATED-BY-CARGO-PRESENCE`, plan D-OVC-5. **(#563 D-OVC contract realign now MERGED to main.)**
Expand Down
Loading
Loading