Skip to content
Merged
69 changes: 69 additions & 0 deletions .claude/board/EPIPHANIES.md

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,14 @@ Doc-only. #695 (standards-watch + E-PRX12-STANDARDS-GROUNDING-1) MERGED same day

- **`class_view::execute_defaults(targets, present, store, apply_default)`** (NEW free fn next to `execute_compute_dag`) + **`ClassView::default_targets(class) -> &[u8]`** (NEW default trait method, zero-fallback `&[]`, next to `compute_dag`). The **Default-recipe** (write-if-blank, `RecipeCentroid::Default` — the C# `if (field == null) field = new …` lazy-init idiom, 56 methods in the MedCare corpus) execution primitive: fires `apply_default(store, t)` for each target whose presence bit is CLEAR, in slice order; skips present AND already-fired positions (duplicate-safe — after a default fires the field IS populated; pins the C# `GetOrCreateChartPanel` init-only-on-create quirk, devcomponent_chart.cs:161-180); abort-at-target reusing `ExecuteComputeError::Compute` (`Cyclic` unreachable — defaults have no dependency order; a default reading a computed field is a Compute recipe). **Presence gate = `WideFieldMask`** (not `FieldMask`): every u8 position addressable, no 64-field ceiling — the wide-mask lesson the a2ui screen-addressing #205 correction paid for, applied at birth. Phase rule documented (not interleaved): defaults run BEFORE `execute_compute_dag`; the caller folds the fired list into its presence mask. One more brick, not a parallel path (the `screens_reachable_from` precedent): existing mask, existing error, same abort semantics as the Compute half. +7 unit tests (slice-order fire, present-skip, abort-keeps-earlier, empty-noop, wide-fire-past-64, duplicate-fires-once, hook-default-empty); 898 contract tests green; fmt + clippy clean (also carries the pending rustfmt reflow on `grammar/thinking_styles.rs` + `style_family.rs` — main was fmt-dirty on those two test files). Consumer witness lands in MedCare-rs (`chart_default_parity`, same arc).

## 2026-07-14 — MERGED #689 (merge `a260ff98`) — rung-content ladder ruled + persona demarcated + `contract::legacy_outliers` + `NodeGuid↔FacetCascade` bridge + D-TSC-1 alias fix

- **Ruling doc (MANDATORY read, linked from CLAUDE.md):** `.claude/v3/knowledge/persona-vs-rung-ladder.md` — rung 0–1 observation / 2 = 144 verb atoms / 3 = the 34 tactic recipes (= THE runbooks: `contract::recipes` + ndarray `hpc/styles`) / 4 = StyleFamily macros (frozen×learned×exploration). The adjective-36 = separate unwired persona storyline, never rung 3. Open items O1–O6 live there.
- **Contract inventory adds:** `legacy_outliers::LegacyOutlier` (G1/G2/G3 grace carvings, le-contract §3a); `From<FacetCascade> for NodeGuid` + inverse + `NodeGuid::facet()` (byte-identical, no registry detour).
- **Planner:** `thinking::ThinkingStyle` deprecated alias + `PlannerStyleExt` re-exported again (old import path compiles, deprecation warning steers).
- **Probes flipped:** TD-STYLE-TABLE-RESIDUE item 3 → DORMANT; UNIFIED_STYLES tethered-not-collapsed.
- **Companion:** OGAR #201 (D‑V1‑GRACE‑CARVINGS canon mirror, merged).

Comment on lines +49 to +56

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Preserve append-only board history.

Both records are inserted into historical ledgers instead of appended, violating the repository’s provenance and audit-history contract.

  • .claude/board/LATEST_STATE.md#L49-L56: move the #689 block to the append position.
  • .claude/board/PR_ARC_INVENTORY.md#L108-L129: append the PR Arc entry after existing records.
📍 Affects 2 files
  • .claude/board/LATEST_STATE.md#L49-L56 (this comment)
  • .claude/board/PR_ARC_INVENTORY.md#L108-L129
🤖 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/LATEST_STATE.md around lines 49 - 56, Restore append-only
ordering for the MERGED `#689` record: in .claude/board/LATEST_STATE.md (lines
49-56), move the block to the end of the historical ledger; in
.claude/board/PR_ARC_INVENTORY.md (lines 108-129), append the corresponding PR
Arc entry after all existing records, preserving its content and provenance.

Sources: Coding guidelines, Learnings

## 2026-07-12 — branch `claude/review-claude-board-files-nhqgx1` — `contract::temporal_pov::{VersionRange, TemporalPov}` — zero-dep temporal POV range filter (operator-directed)

### Current Contract Inventory — new entry
Expand Down
25 changes: 25 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,31 @@

---

## #689 lance-graph: Rung-content ladder + persona demarcation, FacetCascade bridge, legacy_outliers, D-TSC-1 alias fix, chess-arc bank

**Status:** MERGED 2026-07-14 (merge `a260ff98`), branch `claude/review-claude-board-files-nhqgx1` (rebased onto post-#688 main after the four-repo restart), 6 commits. Companion: **OGAR #201** (D‑V1‑GRACE‑CARVINGS canon mirror, merged same day — paired-merge discipline).

**Added:**
- `.claude/v3/knowledge/persona-vs-rung-ladder.md` — the operator-ruled **rung-content ladder** (0–1 observation / 2 = 144 verb atoms / 3 = the 34 NARS tactic **recipes = THE runbooks** / 4 = StyleFamily macros + frozen×learned×exploration triangle) + the **persona demarcation** (the adjective-36 in `contract::thinking` = separate unwired persona-modeling storyline, never rung 3). Linked as MANDATORY read from CLAUDE.md § V3 SUBSTRATE. Open items O1–O6.
- `contract::legacy_outliers` — `LegacyOutlier::{WideMixed (3×u16+2×u24), WideTriple (4×u24), WideQuad (3×u32)}`, the strongly-discouraged 96-bit grace carvings (le-contract §3a); LE round-trip + V1-degenerate-case tests.
- `NodeGuid ↔ FacetCascade` byte-identical `From` impls + `NodeGuid::facet()` — the missing bridge to the content-blind surface (adoption had voted: facet:: 8 files/28 uses vs mint_for 3 apologetic sites).
- planner `thinking/mod.rs`: re-export of the deprecated `ThinkingStyle` alias + `PlannerStyleExt` lift (D-TSC-1 regression fix — the alias was stranded in the leaf module while the old import path hard-broke).

**Locked:**
- **The rung ladder's content reading is ruled** (ladybug-rs → thinking-engine lineage); the shipped `RungLevel` Pearl reading is causal-depth, coexisting, NOT the content wiring.
- **"Runbooks" = the 34 tactics** (`contract::recipes` + ndarray `hpc/styles`), NOT the persona-36. `E-STYLE-FAMILY-VS-RUNBOOK-1`'s label corrected append-only via `E-RUNG-CONTENT-LADDER-1`.
- **Compat aliases must be lifted to every module level the old name was reachable from** (`E-COMPAT-ALIAS-MUST-BE-LIFTED-1`); an alias-token grep is not a compat gate — the old import path must compile.
- **Wide contiguous carvings are sanctioned-but-discouraged grace shapes, never `CascadeShape` variants** (`E-V3-GRACE-WIDE-CARVINGS-1`).
- p64-bridge `STYLES[ord % 12]` **probed DORMANT** (TD-STYLE-TABLE-RESIDUE item 3 flipped); `UNIFIED_STYLES` tethered-not-collapsed (census question closed).

**Deferred:** O1 rung↔content wiring; O2 the true `StyleFamily → recipes` edge (retarget/twin `default_runbook`, rename the persona bridge); O4 remaining D-TSC-1 residue (`api::` re-export of `PlannerStyleExt`, the self-contradictory `#[deprecated]` note wording, `wire.rs`/`auto_style.rs` tethers); O5 free `style_by_ordinal` deprecation; O6 the composed triangle macro (FUTURE-DESIGN landing zone).

**Docs:** persona-vs-rung-ladder.md (v3/knowledge); le-contract.md §3a; CLAUDE.md V3-section link; EPIPHANIES `E-RUNG-CONTENT-LADDER-1` / `E-V3-GRACE-WIDE-CARVINGS-1` / `E-COMPAT-ALIAS-MUST-BE-LIFTED-1`; TECH_DEBT TD-STYLE-TABLE-RESIDUE item-3 flip; chess-arc bank (`E-CHESS-ARC-TO-V3-TRANSFER-1`, `E-THINKING-SPINE-CHESS-EVIDENCE-1` + spine-plan addendum).

**Confidence (2026-07-14):** working — contract lib tests green (legacy_outliers 5, facet_bridge 1), planner builds clean, clippy clean; doc/board rulings are operator-verbatim.

---

## #676 lance-graph: Post-#674 doc arc — E-NOBODY-WAITS-1 + VISION.md (graded AGI canon) + ancestry census + D-MTS-1 design inputs

**Status:** MERGED 2026-07-10 (merge commit `001839e`), branch `claude/review-claude-board-files-nhqgx1` (restarted from #674's merge), 4 commits, doc-only.
Expand Down
28 changes: 28 additions & 0 deletions .claude/commands/v3-audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,34 @@ every hit with file:line and a one-line disposition
`mint_for`'s own V1 arm (`canonical_node.rs`), and legacy-compat
*reads* (`family()`/`identity()` accessors are reads, not mints).

7. **Elimination scan — the ack mechanism does not exist**
(E-ACK-ELIMINATED-1, operator 2026-07-17; after E-ACK-VIOLATION-REGRADE-1
+ E-SOA-OWN-BOARD-NO-SIDECAR-1). The mechanism is gone from source; the
scan prevents it regrowing. Two sub-checks, different because the tokens
legitimately appear in prose that DOCUMENTS the removal. **This file
(`.claude/commands/v3-audit.md`) is itself exempt — it defines the
patterns, so its matches are rule text, not findings.**
- **Code (`crates/**/*.rs` only):** literal patterns `ack_and_propose`,
`\bunacked\b`, `\bbacked\b`, `fn ack\b`, `\.ack\(`, `ack-gated`,
`actionhandler`, `SLA gate` — ANY hit is a violation (no sanctioned
home; durability evidence is the row's own LanceVersion via
temporal.rs). **Structural check (not keyword):** flag any NEW writer
field that is a persisted `CastId`/id → version map (a confirmation
ledger by SHAPE, whatever it is named). **Await check:** flag a
`ractor::call!` or an `.await` on a response that a cycle-advance path
(`advance_phase|KanbanColumn|cycle`) then depends on — NOT a bare
`ractor::cast` or the sanctioned fire-and-forget `BatchWriter::cast`
(owner-stamped intent recording, which never waits and is allowed).
- **Doctrine (`.claude/**/*.md`):** the tokens appear legitimately in
board history AND in the docs that document the elimination itself
(FUTURE-DESIGN / INTEGRATION-PLAN / mailbox-kanban-model / VISION rows
describing what was removed and why). Do NOT flag those. Flag only
NEW doctrine that **prescribes** the mechanism — text designing an
advance that waits on a completion/confirmation event, or a stored
confirmation ledger. The test is **prescription, not mention**: a row
saying "the ack is eliminated / retired unbuilt" is compliant; a row
saying "advance the cycle when the write acks" is a violation.

End with a verdict per the v3-mailbox-warden vocabulary (OWNED /
BOOTSTRAP-OK / ORPHAN-WRITE / RESURRECTION) plus LAYOUT-CLEAN /
LAYOUT-GATED / LAYOUT-BREAK for check 5, and a one-paragraph summary.
11 changes: 11 additions & 0 deletions .claude/plans/temporal-markov-and-style-classes-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,3 +219,14 @@ IS the signature transform" (different algebras: VSA bind+braid+bundle vs
iterated integrals — braiding-by-position rhymes with order-encoding but is
[S] until measured); ✗ "personality = the QualiaColumn"; ✗ treating the ~1.3×
aggregate nulls as signal. Full text: `E-CHESS-ARC-TO-V3-TRANSFER-1`.

---

## Correction 2026-07-17 — ACK ELIMINATED (E-ACK-ELIMINATED-1)

The "ack-pump / `ack_and_propose` self-pumping loop" described above
(and the D-ORG-1 row) is DELETED from source per operator directive —
the mechanism twice produced tier-crossing designs. `batch_writer.rs`
is a pure intent recorder; durability evidence is the row's own
`LanceVersion` via `temporal.rs`; the kanban advance is kanbanstep
only. Read the above as history.
2 changes: 1 addition & 1 deletion .claude/v3/ENTROPY-MILESTONES.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
| M21 | 3 dep-free hand-copies of the 16-byte NodeGuid LE encoder (q2 cpic, q2 fma/converge.rs, woa-rs erp/canon.rs — each "byte-identical", zero shared code) | one zero-dep `canon-node-bytes` extraction all three import | byte-parity test vs contract NodeGuid; grep local encoders = imports only | QUEUED (W5) |
| M22 | 2 divergent q2 OSINT V3 bakes (crates/osint-bake canon-high 0x0700_0000 vs data/osint-v3 STALE pre-flip 0x1000_0700 dual-GUID scheme) | one canon-high bake against osint_classview.rs's 0x0700/0x0701 reservation | re-bake; grep pre-flip forms in q2 data/ = zero (or dual-alias-read only) | QUEUED (W5; latent until a reader assumes canon-high) |
| M23 | 2 write-path doctrines coexisting (owner-stamped V3 writes vs smb-office-rs `LanceConnector::upsert` — the ONE live online consumer write, no stamp/classid/envelope) | all online consumer writes routed through the batch-writer cast | consumer-map §2 table shows zero ORPHAN-WRITE rows; warden green fleet-wide | QUEUED (W5 first live migration; medcare-soa writer BORN stamped as the prevention half) |
| M24 | 2 write-intent bookkeepers (batch-writer internal state vs kanban board AHEAD update) | ONE: the kanban board IS the write-ahead log — cast = move = intent record; ack = confirmation | kill-after-cast-before-ack replay test green; grep writer-internal intent queues = zero; cast carries descriptor never bytes (zero-copy sink through NodeRowPacket); stacked-casts-never-refused test (melden macht frei — Addendum-7; sink coalesces naturally via live-store reads) | QUEUED (shapes W1b from first line; operator ruling Addendum-6: eager drain + mutual masking via phase machine) |
| M24 | 2 write-intent bookkeepers (batch-writer internal state vs kanban board AHEAD update) | ONE: the durable record is the Lance row's own LanceVersion — the writer stages ephemeral intent, Lance holds the truth (the "kanban board IS the WAL / ack = confirmation" framing is retired with the ack, see PARTIAL note) | recovery = a pinned-reference temporal.rs read of the row's version (`QueryReference::at` + deinterlace), NOT a replay from writer state; grep writer-internal id→version maps = zero; cast carries descriptor never bytes (zero-copy sink through NodeRowPacket); stacked-casts-never-refused test (melden macht frei — Addendum-7; sink coalesces naturally via live-store reads) | PARTIAL 2026-07-17 (E-ACK-ELIMINATED-1: the second bookkeeper's confirmation half is DELETED — batch_writer.rs is a pure intent recorder; "ack = confirmation" in this row is history — confirmation = the row's own LanceVersion via temporal read; remaining collapse = the intent board into SoA rows, gated on the W2a mint) |
| M25 | 2 persistence surfaces for orchestration state (graph-flow SessionStorage backend vs mailbox kanban board) | ONE: KanbanSessionStorage — Session transitions ARE KanbanMoves via the W1b writer; replay = rebuild from board | kill-mid-graph replay test: session resumes identically from board-recorded moves; grep non-kanban SessionStorage impls in lance-graph = zero | SHIPPED v1 2026-07-02 (rs-graph-llm graph-flow `kanban` feature: KanbanSessionStorage, snapshot+move-log; kill-mid-graph replay test GREEN — no repeats/gaps, pinned Rubicon column sequence; grep gate holds: no non-kanban SessionStorage impl in lance-graph) |

## The meta-rule (why this ledger exists)
Expand Down
26 changes: 26 additions & 0 deletions .claude/v3/FUTURE-DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@

---

## 2026-07-17 (sixth wave) — ACK ELIMINATED everywhere (operator directive)

| Ruling | One line | Wiring queue |
|---|---|---|
| E-ACK-ELIMINATED-1 | "remove the ack from everywhere, completely eliminate it" — the concept is expelled from code, doctrine, and vocabulary (it twice produced tier-crossing designs and became a lens distorting every session). SHIPPED: `batch_writer.rs` = pure intent recorder (`ack`/`ack_and_propose`/`acked`/`unacked`/`acked_version` deleted; zero production callers existed); probes + driver tests rewritten; durability evidence = the written row's own LanceVersion via temporal.rs; crash-replay = a temporal READ of intents vs Lance. D-AHG-1 is DEAD; the SLA-gate / actionhandler-queue concepts are retired UNBUILT; the membrane admits/serializes/splits tasks with the transcode's own native semantics (no confirmation abstraction of ours). /v3-audit check 7 = the elimination scan; guardrails trigger 7 bans rebuilding the mechanism under any name | none — the elimination is the wiring. Rows below referencing ack/SLA-gate/actionhandler are HISTORY, read through this row |

## 2026-07-17 (fifth wave) — ack-violation regrade + the stream tier's economics named

| Ruling | One line | Wiring queue |
|---|---|---|
| E-ACK-VIOLATION-REGRADE-1 | the ack-gated advance regraded from "correct code, wrong tier" to a hard architecture violation (duplicate of batch-writer→kanbanstep, operator hard-break + internal reversal); quantified: 40 ns-class stream ops vs 10–400 µs acks (250×–10,000× stall), ractor messaging = Tokio = 10⁴–10⁷× — ractor stays compile-time-ownership-only; NEW mechanism banked: SPO 2³ rung ladder = one SPO cache load + ≤8 L1-resident cycles → CE64 NARS candidates; kanbanstep = auto-progression on the Rubicon aktionale phase (550→200 ms window); the ONLY ack home = the external ontology membrane (callcenter Supabase-realtime tickets/SLA + OGAR actionhandler queues) | doc-only here; chess/expert-iteration Phase-1 wording corrected before start (episode casts fire-and-forget at the storage boundary; teacher/NARS loop paces on nothing); drift signal unchanged |
| E-SOA-OWN-BOARD-NO-SIDECAR-1 | the SECOND ack-model violation: BatchWriter's `board`/`acked` BTreeMaps = a sidecar kanban state OUTSIDE the SoA — M24's own gate ("grep writer-internal intent queues = zero") already forbids the shape; the ruled model is the self-controlling actor-SoA (board INSIDE the SoA: ownership proof + board + budget in the owned rows); `ack_and_propose` = zero production callers, kanbanstep primitive still wired inside the ack path (b49ccf3f) | **Stage A (unblocked):** excise ack_and_propose from batch_writer.rs (pure WAL restored) → SLA gate re-homes at the callcenter membrane; /v3-audit check-7 exemption narrows. **Stage B (gated on the W2a board-tenant mint, T1–T6):** sidecar maps migrate into board-tenant rows (ack = the row's LanceVersion; unacked = a temporal.rs Strict projection); M24 goes green. **W2a priority RAISED — it now gates closing both violations** |
| E-TASKS-SOA-AT-THE-MEMBRANE-1 (⊘ partially retracted — see next row) | ack's POSITIVE role: the outer serialization boundary of INCOMING tasks, which split into SoAs; multi-SoA reasoning first-class (chess opponent "mirror neuron" SoA; Odoo multi-loop business logic never evicted from its reasoning loops); the membrane state = a **Tasks SoA** at lance-graph-callcenter (task = V3 row, 32-bit classid + 96-bit payload; SLA audit = Lance versions + temporal.rs — no bespoke acked map); P64's 64×64-tenant era superseded by the 4+12 facet cast (gridlake stays a measured batch topology, not the tenant atom) | REVISES Stage A's membrane home: Tasks SoA design (envelope-auditor + batched-mint gated — task-row classid rides the next mint), not a module with relocated maps; chess arc gains the opponent-model sibling SoA as a named Phase-1/3 element; P64-doc read-through sweep queued (low priority) |
| E-KANBAN-STAYS-INTERIOR-MEMBRANE-IS-ACK-ONLY-1 (CORRECTION) | kanban does NOT move to the membrane — it is the Rubicon reasoning advance, **reasoning-interior ONLY**. RETRACTS the previous row's "kanban board on the task row" clause: the membrane does ACK-serialization only; the Tasks SoA holds admission + SLA/ack ledger + fan-out edges (no sidecar) — the SLA-gate/actionhandler-queue tier, categorically NOT the Rubicon kanban. Cross-routing either way is the prime violation (thought→ack = E-ACK-VIOLATION-REGRADE-1; task→kanban = this) | Tasks SoA spec carries task lifecycle as an ack-gated SLA ledger, NEVER a Rubicon KanbanColumn; the reasoning kanban stays inside the child SoAs the task splits into |

## 2026-07-10 (fourth wave) — the chess arc: E-CHESS gets its measured instantiation (sibling repo)

| Seed | One line | Wiring queue |
Expand Down Expand Up @@ -38,6 +53,17 @@ D-TSC-1; the 5-savant fan-out surfaced the three-divergent-tables finding.

## 2026-07-10 — the ratified cognition arc (four rulings + one measured probe)

> **⊘ READ-THROUGH (2026-07-17):** the first row below
> (E-ACK-IS-THE-KANBAN-TRIGGER-1, "the Lance ack pumps the next
> KanbanMove") is read THROUGH E-KANBANSTEP-IS-THE-TRIGGER-1 and
> E-ACK-VIOLATION-REGRADE-1 (fifth wave, top of this file): the
> ack-trigger framing was a hard architecture violation, reversed —
> kanbanstep is the only reasoning advance; acks are durability
> bookkeeping (and since 2026-07-17, E-ACK-ELIMINATED-1: no such
> bookkeeping exists at all); SLA-gated waiting lives only at the callcenter/OGAR
> membrane. The row's fire-and-forget clause stands; its trigger
> ranking does not. Append-only: the row is not edited.

**Rulings** (canonical: EPIPHANIES — measured results in
`E-COMMA-QUORUM-MEASURED-1`; plan: `temporal-markov-and-style-classes-v1`):

Expand Down
Loading
Loading