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
29 changes: 29 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# LATEST_STATE — What Just Shipped (read this FIRST)

## 2026-07-17 — branch `claude/review-claude-board-files-nhqgx1` — D-TRI-1 value-tenant half: the autopoiesis triangle lands as 3 SoA lanes

**IN PR.** The value-tenant half of the D-TRI-1 batched mint
(`triangle-tenants-gestalt-separation-v1.md` §1). Three NEW append-only
`ValueTenant`s — `FrozenStyle = 10`, `LearnedStyle = 11`, `ExploreStyle = 12`
— each `ColumnKind::U8 × 12` (12 palette256 atoms), contiguous at `row_offset`
152 / 164 / 176 (value-slab `[120,156)`), appended **after Kanban** per the
2026-07-17 operator ruling ("triangle right after the kanban board").
**Additive, reserve-don't-reclaim, layout-preserving** (Full carve 120→156 B,
`NODE_ROW_STRIDE` 512 untouched, no `ENVELOPE_LAYOUT_VERSION` bump). Added to
`ValueSchema::Full` **only** — deliberately NOT `Cognitive`, so entity classes
(OSINT/PROJECT/ERP/Commerce, which resolve to Cognitive) do **not** inherit a
thinking-style triangle; the thinking-row schema decision is deferred to P4
(ancestry pipeline). Slot `f` = `StyleFamily` ordinal 0..11 **or** compiled-
template step 0..11 (one content-blind register, ClassView-selected reading,
plan §4). **Atom 0 = null default** (zero-fallback: an un-populated lane reads
all-null, never a wrong policy). Accessors `NodeRow::{style_lane, set_style_lane,
triangle_for}` (`triangle_for(f) -> (frozen[f], learned[f], explore[f])`, the
one-glance per-family read the dispatch/perturbation/learning ancestry pipeline
resolves against; `set_style_lane` is the owner-`&mut` write that resolves the
W4b orphan-write flag). **The I-LEGACY field-isolation matrix**
(`thinking_style_triangle_tenant_carve_field_isolation_matrix`) certifies each
lane's 12 bytes flip in isolation, key/edges/other-tenant untouched.
**906 contract lib tests green; clippy `-D warnings` + fmt clean.**
**Still queued (the classid half — cross-repo OGAR mint):** chess domain 0x06
concepts, the Tasks-SoA task-row classid (cognitive-task concepts), and
BoardAggregates @ row_offset 188 — one batched OGAR-originated mint (never solo).
Refs: STATUS_BOARD D-TRI-1, plan §1/§5/§6, v3-envelope-auditor gate.

## 2026-07-16 — branch `claude/x265-x266-plans-review-h9osnl` (v5, post-#702) — probe-wave verdicts on main

#702 MERGED (autonomous merge under the operator-granted authority):
Expand Down
2 changes: 1 addition & 1 deletion .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Plan: `.claude/plans/triangle-tenants-gestalt-separation-v1.md`. Design shipped;

| D-id | Title | Repo | Status | Evidence |
|---|---|---|---|---|
| D-TRI-1 | Triangle tenant spec (Frozen/Learned/Explore, 12 slots x palette256) through envelope-auditor T1-T6, behind the batched mint | lance-graph | Queued (LAYOUT-GATED) | plan §1, §6 |
| D-TRI-1 | Triangle tenant spec (Frozen/Learned/Explore, 12 slots x palette256) through envelope-auditor T1-T6, behind the batched mint | lance-graph | **VALUE-TENANT HALF IN PR** — 3 lanes `ValueTenant::{FrozenStyle=10,LearnedStyle=11,ExploreStyle=12}` U8×12 at row_offset 152/164/176 (value-slab [120,156)), additive after Kanban per operator ruling; in `Full` only (NOT Cognitive — entity classes keep their carve), zero ENVELOPE_LAYOUT_VERSION bump; `NodeRow::{style_lane,set_style_lane,triangle_for}` + field-isolation matrix test; v3-envelope-auditor gated. **classid half (chess 0x06 + Tasks-SoA + BoardAggregates @188) still queued — the cross-repo OGAR mint.** | plan §1, §6 |
| D-TRI-2 | 12-family vs 12-step reading agreement: jc battery (ICC, Pearson/Spearman, Cronbach alpha) over real shader cycles; collapse only on measured identity | lance-graph | Queued | plan §4, §6 |
| D-TRI-3 | Nail->hammer dispatch probe: object resonance -> atom retrieval vs inverted baseline; no inverted read path exists structurally | lance-graph | Queued | plan §3, §6 |
| D-TRI-4 | Chess<->thinking transfer measurement (validity + reliability) — the quarantine-lift gate | lance-graph + stockfish-rs | Queued | plan §5, §6 |
Expand Down
9 changes: 9 additions & 0 deletions .claude/board/TECH_DEBT.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Technical Debt Log — Open + Paid (double-entry, append-only)

## TD-TRI-1-P4-OBLIGATIONS — two forward obligations the v3-envelope-auditor flagged on the D-TRI-1 value-tenant half (2026-07-17, PR #717)

**Surfaced by the v3-envelope-auditor** on the LAYOUT-CLEAN verdict for the triangle value tenants (`FrozenStyle`/`LearnedStyle`/`ExploreStyle`, PR #717). Neither gates #717 (the layout is additive + byte-isolated); both are **P4 (ancestry-pipeline) obligations** that must land WITH the reader that decodes these lanes:

1. **The 226-atom cognitive palette256 codebook MUST reserve index 0 as the null / no-op atom.** The triangle's zero-fallback (`atom 0 = null default`, `NodeRow::{style_lane,triangle_for}`) is byte-safe today (reserved tail zero-fills, no persisted corpus wrote `[152,188)`), but the *reading* semantics are unbacked: that codebook does not exist in code yet (grep finds only the plan doc + the new doc-comments). When it lands, a zeroed slot must decode to "no policy," NOT "verb 0" (a live, wrong policy). Recommend a codebook-level `assert!`/test reserving index 0. This is the le-contract §3b split (bytes-don't-move is proven; the reading is a jc-pillar obligation).
2. **The P4 thinking-row `ValueSchema` MUST include `FrozenStyle`/`LearnedStyle`/`ExploreStyle`** — or thinking rows must resolve to `Full`. The triangle is in `Full` ONLY (not `Cognitive`, deliberately — entity classes OSINT/PROJECT/ERP keep their carve). Reads are schema-independent (accessors read raw slab bytes), so no read-side gap today; the risk is *persist-side*: a thinking row with POPULATED triangle data that resolves to `Cognitive` would have those bytes dropped on a `field_mask`-driven bake. Today `DEFAULT → Full` covers unmapped rows.

Both recorded so P4 (D-TRI-2/3 ancestry-pipeline consolidation) inherits them. Refs: PR #717, plan §1/§4, `E-*` (P4 wiring session to append the reader-side finding).

## TD-PLANNER-STYLE-DEFAULT-DRIFT-1 — PAID (2026-07-17, same day as surfaced)

**Paid** in `crates/lance-graph-planner/src/thinking/style.rs` `default_modulation`. The 5 formerly-`_ => default()` families (`Convergent`/`Systematic`/`Divergent`/`Diffuse`/`Peripheral`) now carry the canonical `UNIFIED_STYLES`≡`StyleParams` values on the three MEASURED dims: `Convergent` 0.75/4/0.10, `Systematic` 0.70/5/0.10, `Divergent` 0.40/10/0.70, `Diffuse` 0.45/8/0.40, `Peripheral` 0.20/20/0.60. The **4 planner-specific dims** (`depth_bias`/`breadth_bias`/`noise_tolerance`/`speed_bias`) have NO canonical source, so they stay at `FieldModulation::default()` via `..default()` struct-update — filled only what was measured, fabricated nothing. The `_` fallback is REMOVED → the match is exhaustive over all 12 `StyleFamily` variants (a future variant is now a compile error, not a silent default). Regression test `formerly_defaulted_families_match_canonical_on_measured_dims` pins the 5 families' 3 dims + asserts the 4 unmeasured dims stayed at default; `every_family_has_a_nondefault_or_explicit_modulation` pins exhaustiveness. 218 planner lib tests green (+2), clippy `-D warnings` exit 0. Behavior change: the 5 families now search with their real per-family resonance/fan_out/exploration instead of the flat default — a correctness improvement (the drift D-TSC-1b measured is retired; re-running the probe would now show Mode A ≈ Mode B). Numeric half of census question O5 answered. See `E-PLANNER-STYLE-DRIFT-PAID-1`.
Expand Down
Loading
Loading