From 750413b22f5ad8bca0905e91d02921f64f5d93d4 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 23 Oct 2026 08:27:12 +0000 Subject: [PATCH 1/3] =?UTF-8?q?board:=20co-research=20rows=20for=20T-CLOSU?= =?UTF-8?q?RE=20crumbs=205=E2=80=936,=20trail=20T-ADMISSION,=20G-2026-10-2?= =?UTF-8?q?3-4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitHub record for what this session posted in the Linear co-research milestone (EXO-132 comment, EXO-134, EXO-135): - BREADCRUMBS: BC-2026-10-23-5 (two-valued rewrites break on a NULL carrier; K3 closes it; #1668 k3_pg_parity) and -6 (sort-closed Boolean composition, with the near-miss that closure decides correctness, not cost) on trail T-CLOSURE, plus an appended naming attempt (HYPOTHESIS). New trail T-ADMISSION with crumbs -7 … -12, verdict RHYME. - GOLDSTAUB: G-2026-10-23-4, count invocation and allocation boundaries before optimizing a fold (#1688 rft1_cost, #1685). Prepended by script; append-only, line counts grew. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA --- .claude/board/BREADCRUMBS.md | 92 ++++++++++++++++++++++++++++++++++++ .claude/board/GOLDSTAUB.md | 19 ++++++++ 2 files changed, 111 insertions(+) diff --git a/.claude/board/BREADCRUMBS.md b/.claude/board/BREADCRUMBS.md index 06a181be6..52b5745ac 100644 --- a/.claude/board/BREADCRUMBS.md +++ b/.claude/board/BREADCRUMBS.md @@ -41,6 +41,90 @@ Coordination happens in Linear (`CC: Thread` label `Breadcrumb`, milestone ## Crumbs +### Trail T-ADMISSION — what may be built before execution, under what witness, and what may never be promoted from it? +Six crumbs (BC-2026-10-23-7 … -12) from six sources: a decision record, two +probe reviews, a co-research map and two plan rows. +**Shared shape (candidate, not adopted):** each crumb has (1) something built +before execution (coordinates, a projection, a slot table, a recipe), (2) a +witness naming who issued it and against which version, and (3) a promotion +that is refused (evidence → premise, census → qualification, replay → proof, +hidden gather → co-addressed read). +**Kill:** two crumbs whose witnesses need incompatible semantics; that makes +the trail a RHYME only. +**Rhymes-with trail:** T-CLOSURE (its refusals `BagNeedsMultiplicity` and +`Complement` under K3 may be the same refused promotion seen from the algebra side). +**Verdict:** RHYME, 2026-10-23; naming attempt open. Linear EXO-135. + +### BC-2026-10-23-12 — D-CMR-5's preimage is a projection built in preparation and witnessed by version +**Observation:** the lawful design for `f⁻¹(S)` is a co-addressed tile fold +over a version-witnessed projection of `f`, built in preparation by a +sequential same-table scan. +**Receipt:** STATUS_BOARD row D-CMR-5; `entries/2026-10-21-d-cmr-5-rescope.md`. +**Rhymes-with:** BC-2026-10-23-7, BC-2026-10-23-11 +**Cluster:** RHYME (trail T-ADMISSION, Linear EXO-135) + +### BC-2026-10-23-11 — D-RU-6's slot assignment must be argued as an attested frozen-codebook lookup +**Observation:** the recursion driver stays Queued/Lab until its slot +assignment is shown to be an attested lookup in a frozen codebook under +ADMISSION B. +**Receipt:** STATUS_BOARD row D-RU-6. +**Rhymes-with:** BC-2026-10-23-7, BC-2026-10-23-12 +**Cluster:** RHYME (trail T-ADMISSION, Linear EXO-135) + +### BC-2026-10-23-10 — Palette256 puts its property in evidence accounting plus a decision gate +**Observation:** the co-research map found the property in evidence +accounting and a decision gate, not in the encoding; where the evidence stamp +lives is open (G5). +**Receipt:** `entries/2026-10-22-coresearch-pal256-evidence-probes.md`. +**Rhymes-with:** BC-2026-10-23-8 +**Cluster:** RHYME (trail T-ADMISSION, Linear EXO-135) + +### BC-2026-10-23-9 — a recipe certificate only a certified compiler may issue; none exists for DR64 +**Observation:** after X15, recipe admission in `dr-math-binding-probe` ends in +`NoCertifiedCompiler`; a replay capsule is evidence, not the issuing authority. +**Receipt:** `entries/2026-10-22-coresearch-drmc-stack.md` § Applied, lance-graph #1703. +**Rhymes-with:** BC-2026-10-23-8 +**Cluster:** RHYME (trail T-ADMISSION, Linear EXO-135) + +### BC-2026-10-23-8 — evidence nominates, a separate validator admits +**Observation:** D-DRMC X7: no conversion from a `PopulationReport` to a law +premise may exist; a population-derived premise can at most be a named, +undischarged hypothesis. +**Receipt:** `entries/2026-10-22-coresearch-drmc-stack.md` (X7, probe not run). +**Rhymes-with:** BC-2026-10-23-9, BC-2026-10-23-10 +**Cluster:** RHYME (trail T-ADMISSION, Linear EXO-135) + +### BC-2026-10-23-7 — preparation may establish coordinates; it may not conceal a relational gather +**Observation:** ADMISSION B separates preparation (coordinates) from +execution (co-addressed sets) and forbids an unaccounted gather in either. +**Receipt:** `entries/2026-10-20-six-decisions.md`, lance-graph #1640. +**Rhymes-with:** BC-2026-10-23-11, BC-2026-10-23-12 +**Cluster:** RHYME (trail T-ADMISSION, Linear EXO-135) + +### BC-2026-10-23-6 — Boolean composition is admitted only within compatible domains +**Observation:** D-DRMC-5 admits `BooleanCompose` only over two-valued +Distinct operands with compatible ClassView domains and refuses commutation. +Closure here is "closed within a sort"; this counts as a T-CLOSURE crumb only +if sort typing is accepted as closure. Same probe, near-miss counterexample: +14 association orders give the same relation (closed and correct) at +6 414–15 310 row-ORs, so closure decides correctness, not cost. +**Receipt:** lance-graph #1707, `entries/2026-10-22-drmc-5-assoc-probe.md`. +**Rhymes-with:** BC-2026-10-23-4, BC-2026-10-23-5 +**Cluster:** RHYME (trail T-CLOSURE, Linear EXO-132) + +### BC-2026-10-23-5 — two-valued rewrites break on a carrier that holds NULL +**Observation:** `set_algebra::normalize` (De Morgan, lane covers) is sound on +{T, F} only. On nullable lanes the carrier is {T, F, U} and the rewrites turn +UNKNOWN into TRUE. Extending the carrier to Kleene K3 closed it; +`Complement` and `RelationalDifference` still refuse under `ThreeValued`. +**Receipt:** lance-graph #1668, `entries/2026-10-21-d-rft-0-kleene-normalization.md`; +`cargo +1.99.0 run --release -p lance-graph-contract --example k3_pg_parity`: +two-valued `normalize` wrong on 474 of 2000 expressions against PostgreSQL +16.14, `normalize_kleene` equal on 2000/2000. Same shape in #1686 / #1687 +(`bool_or`/`bool_and` read NULL as FALSE). +**Rhymes-with:** BC-2026-10-23-1, BC-2026-10-23-4 +**Cluster:** RHYME (trail T-CLOSURE, Linear EXO-132) + ### BC-2026-10-23-4 — the same join is right under Distinct and wrong under Bag **Observation:** D-RFT-1's composition gives the right answer under Distinct (set semantics) and the wrong one under Bag unless multiplicity is carried as @@ -87,3 +171,11 @@ must refit the carrier. **Kill:** a closed carrier on which the composition still fails. **First probe:** TORQUE row T-2026-10-23-1 (EXO-129). **Verdict:** RHYME, 2026-10-23. +**Evidence appended 2026-10-23 (session_013z2e1YXkm6o6HNrDn5BPWA):** crumbs +BC-2026-10-23-5 (K3 NULL, independent of the palette and DR256 lines) and +BC-2026-10-23-6 (sort-closed composition, weaker). Naming attempt, HYPOTHESIS, +not adopted: a rewrite or composition is sound only when the carrier is closed +under every operation it assumes; otherwise snap (lossy, P-S2), extend the +carrier (K3, Bag multiplicity) or refuse (`Complement` under K3, +`BagNeedsMultiplicity`). Scope limiter from BC-2026-10-23-6: closure decides +correctness, not cost. Proposed regrade RHYME → NAMED left to the trail owner. diff --git a/.claude/board/GOLDSTAUB.md b/.claude/board/GOLDSTAUB.md index e6929f27c..a28f4102e 100644 --- a/.claude/board/GOLDSTAUB.md +++ b/.claude/board/GOLDSTAUB.md @@ -30,6 +30,25 @@ Each entry: `**Claim:**`, `**Receipt:**`, `**Scope:**`, `**Date:**`. ## Entries +### G-2026-10-23-4 — count invocation and allocation boundaries before optimizing a fold +**Claim:** The mask work inside a fold costs a few nanoseconds; a slow fold +usually measures how often execution crosses a boundary per answer (an +invocation, a compile, an allocation). Report boundaries per answer before +naming a lever; change the algebra or the kernel only after that count is minimal. +**Receipt:** `cd crates/dir-rmap-probe && cargo run --release --example rft1_cost` +(lance-graph #1688, `entries/2026-10-21-d-rft-1-cost-breakdown.md`): one +`count_and(3)` invocation 54–70 ns against 2.2–2.8 ns for the same AND, AND, +popcount in `ndarray::simd`; 2769 invocations per pass predict 87 % of the +measured time. #1685 removed the boundaries: 310 µs → 11.8–12.4 µs, PostgreSQL +lane parity unchanged. Same pattern for allocations: ndarray +`bf16_tile_gemm_16x16` makes 2 + 256 heap allocations per 16×16 call +(`src/simd_ops.rs:593-608`, ISS-BF16-POLYFILL-PER-ELEMENT-ALLOC). Linear EXO-134. +**Scope:** folds over mask-risc, r2il and `ndarray::simd` in lance-graph and its +probes; not cold, out-of-fold compile phases. +**Date:** 2026-10-23 +**Open:** `count_and(1)` costs more per invocation than `count_and(3)` +(95–121 vs 54–70 ns) in every run; unexplained. + ### G-2026-10-23-1 — on synthetic data, the world construction can decide a probe's verdict before it runs **Claim:** A probe whose verdict depends on the data distribution (evidence LUT vs geometry LUT, shadow-mask salience) decides nothing on synthetic data, From 1b67dcc724e2124a02f8a44c08cec4f056eb3386 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 23 Oct 2026 08:31:32 +0000 Subject: [PATCH 2/3] =?UTF-8?q?board:=20fruits=20from=20ledger=20revision?= =?UTF-8?q?=20(e)=20=E2=80=94=20six-decision=20gaps,=20supervisor,=20D-CGW?= =?UTF-8?q?-4,=20DRMC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Admits this session's inventory to FRUITS.md (regenerated, --check clean): - ISSUES (blocker): new rows for the decided-but-unexecuted ACTION-GATE, FLOAT-REFS and WIRE-50 + ISA-LEGACY, the supervisor dispatch/capacity/ drain gaps and the D-CGW-4 promotion gate, each VERIFIED-IN-CODE at main 19c1324a, all High-signal. Fruit lines added to the existing rows ISS-DURABLEREF-THOUGHTCOMMITID and ISS-BF16-POLYFILL (High-signal) and ISS-RECURSION-DRIVER, ISS-RETRACTION-PROVENANCE, ISS-GATHER-HOP-1616 (Heavy). - IDEAS (innovation debt): the DR64 certified-compiler boundary (Heavy) and the five unrun D-DRMC probes X6/X7/X8/X16/X18 (High-signal). - TECH_DEBT (engineering debt): STATUS rows missing for the October plans (Low-hanging). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA --- .claude/board/FRUITS.md | 24 +++++++++++++++---- .claude/board/IDEAS.md | 16 +++++++++++++ .claude/board/ISSUES.md | 47 ++++++++++++++++++++++++++++++++++++++ .claude/board/TECH_DEBT.md | 6 +++++ 4 files changed, 89 insertions(+), 4 deletions(-) diff --git a/.claude/board/FRUITS.md b/.claude/board/FRUITS.md index ddc35533b..b2ad83816 100644 --- a/.claude/board/FRUITS.md +++ b/.claude/board/FRUITS.md @@ -4,7 +4,7 @@ Generated by `.claude/tools/fruits_index.py --write`. Do not hand-edit: add or change a `**Fruit:**` line on the ledger row and regenerate. CI fails when this file is stale. -Open: 1. Closed: 0. +Open: 14. Closed: 0. ## discovery torque @@ -14,13 +14,29 @@ Open: 1. Closed: 0. ## innovation debt -_none open_ +| tier | row | status | ledger | +|---|---|---|---| +| High-signal | 2026-10-23 — The five unrun D-DRMC probes: X6, X7, X8, X16, X18 | Open | `IDEAS.md` | +| Heavy | 2026-10-23 — A certified-compiler boundary for DR64: typed relational statements, egglog laws with checked proofs, a lowering check | Open | `IDEAS.md` | ## engineering debt -_none open_ +| tier | row | status | ledger | +|---|---|---|---| +| Low-hanging | TD-STATUS-BOARD-ROWS-MISSING-FOR-OCT-PLANS-1 (2026-10-23) — OPEN | — | `TECH_DEBT.md` | ## blocker -_none open_ +| tier | row | status | ledger | +|---|---|---|---| +| High-signal | ISS-SIX-DECISIONS-NOT-EXECUTED-ACTION-GATE — `commit` still fails open where the decision says fail closed (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-contract/src/action.rs:266` `pub fn commit`, `:328` `pub fn commit_via`; read at `main` `19c1324a`). | `ISSUES.md` | +| High-signal | ISS-SIX-DECISIONS-NOT-EXECUTED-FLOAT-REFS — the fold path still pulls OGAR `main` into the default build (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph/Cargo.toml:58` unconditional `lance-graph-r2il`; `crates/lance-graph-r2il/Cargo.toml:19-20` OGAR `branch = "main"`; no `fold` feature in any `crates/*/Cargo.toml`, 39 manifests read in full by a Haiku scout, `:51-58` re-read). | `ISSUES.md` | +| High-signal | ISS-SIX-DECISIONS-NOT-EXECUTED-WIRE50-ISA-LEGACY — CE64 50..52 presence and the 46..49 legacy reading have no code (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`Option` only in `crates/lance-graph-planner/tests/maturation_ladder.rs`, EXPERIMENTAL; no `ISA_LEGACY` / `legacy_opcode` / `LegacyRead` in `crates/`, scout over the named patterns; `causal-edge/src/edge.rs` has `fn activation(self) -> i8`). | `ISSUES.md` | +| High-signal | ISS-SUPERVISOR-DISPATCH-CAPACITY-DRAIN — Health-only dispatch, unread mailbox capacity, unbounded drain (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-supervisor/src/supervisor.rs:203-213` DispatchToG handles only `ConsumerEnvelope::Health`, else `DispatchNotImplemented`; `:42` `mailbox_capacity`, `:389` `spawn_linked` of a `StubConsumerActor` with no capacity; `crates/lance-graph-callcenter/src/drain.rs:97` `mpsc::unbounded_channel()`). | `ISSUES.md` | +| High-signal | ISS-D-CGW-4-PROMOTION-GATE — the counterfactual verdict is computed but promotes nothing (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-planner/src/pearl.rs:259-263` `counterfactual_verdict()` calls `Reaction::verdict`; callers found only in `pearl.rs` tests `:747-815`; STATUS_BOARD row D-CGW-4 Queued). | `ISSUES.md` | +| High-signal | ISS-DURABLEREF-THOUGHTCOMMITID — the two identity types four plans depend on do not exist (2026-10-20) | OPEN. **Basis:** VERIFIED-IN-CODE (`DurableRef` and `ThoughtCommitId` appear in `crates/` only in doc comments, `mork-pathmap-probe/src/rmap.rs:70` and `:690`). | `ISSUES.md` | +| High-signal | ISS-BF16-POLYFILL-PER-ELEMENT-ALLOC — ndarray's BF16 16×16 polyfill allocates per output element (2026-10-20) | OPEN. **Basis:** VERIFIED-IN-CODE (`ndarray/src/simd_ops.rs`, `bf16_tile_gemm_16x16`) and MEASURED (D-RMAP-2 §5a: a 256 × 256 `A·A` takes about 19 ms, about 0.9 GMAC/s, on an AVX-512 host without AMX or `avx512_bf16`). | `ISSUES.md` | +| Heavy | ISS-RECURSION-DRIVER — no lawful (co-addressed, non-gather) recursion driver exists (2026-10-20) | OPEN. **Basis:** VERIFIED-IN-CODE (`STATUS_BOARD.md` D-RA-4 row: "VIOLATION — GATHER. DO NOT BUILD"). | `ISSUES.md` | +| Heavy | ISS-RETRACTION-PROVENANCE — per-derived-cell provenance for selective retraction is undecided (2026-10-20) | OPEN. **Basis:** VERIFIED-IN-CODE (no source bitset or read-provenance plane in `crates/`). | `ISSUES.md` | +| Heavy | ISS-GATHER-HOP-1616 — the merged `OutgoingHop` reads positions taken from another lane's values (2026-10-19) | BLOCKED (quarantined). GATHER-DECISION recorded 2026-10-20 (`entries/2026-10-20-six-decisions.md` §1): `OutgoingHop` stays quarantined; it closes only by a rewrite as a co-addressed read. Was: BLOCKED (quarantined; waits on GATHER-DECISION). **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-mask-risc/src/graph_hop.rs`: two `MaskOp::Gather` over `frontier[sources[i]]` and `visible[targets[i]]`, then `ScatterOrU32` by `targets[i]`). | `ISSUES.md` | diff --git a/.claude/board/IDEAS.md b/.claude/board/IDEAS.md index 4921d6670..ee3d44e85 100644 --- a/.claude/board/IDEAS.md +++ b/.claude/board/IDEAS.md @@ -87,6 +87,22 @@ Agents filter by `@`-mention or domain to see what's theirs. (Prepend new ideas here with today's date. Format:) +## 2026-10-23 — A certified-compiler boundary for DR64: typed relational statements, egglog laws with checked proofs, a lowering check + +`[P2 domain:dr-math D-DRMC]` + +After X15, `dr-math-binding-probe` admits a recipe only through an opaque `RecipeCertificate` that a certified compiler issues; none exists, so every admission ends in `NoCertifiedCompiler` (`entries/2026-10-22-coresearch-drmc-stack.md` § Applied, #1703). The boundary needs three parts: a typed relational statement language over ClassView domains, egglog laws over it whose proofs a checker independent of the producer re-checks, and a check that the lowering preserves the statement. First law: associativity of Boolean relation composition, already measured as a probe (D-DRMC-5, #1707: 14 orders, one relation). Kill: the statement language cannot type the composition D-DRMC-5 already runs. Scope question for the operator: how far the boundary goes (LEDGER-REVISION-2026-10-23e Q2). +**Fruit:** Heavy +**Status:** Open + +## 2026-10-23 — The five unrun D-DRMC probes: X6, X7, X8, X16, X18 + +`[P1 domain:dr-math D-DRMC]` + +Pre-registered in `entries/2026-10-22-coresearch-drmc-stack.md`, none run. X6: `validity: None` must refuse or report `Unattested`, never silently mean all-known. X7: a compile-fail test that no `PopulationReport` → premise conversion exists. X8: two certified bindings for one key (today the first falls back). X16: a law found on class 1 must not reach class 22 (2 counterexamples) unchecked. X18: a census may veto ACT-R eligibility, never qualify it. Each is one falsifier on an existing crate; X6, X7 and X18 are the cheapest. +**Fruit:** High-signal +**Status:** Open + ## 2026-09-07 — SPOG-aware bakes: one artifact per G, and the crosswalk as a chain of masked equality sweeps (PROBE-CROSSWALK-MASK-1) `[P1 @simd-savant @kernel-membrane-warden @layer-boundary-warden domain:medcare/mask D-NXG-2 D-NXG-12]` diff --git a/.claude/board/ISSUES.md b/.claude/board/ISSUES.md index 705dff450..5d51d4544 100644 --- a/.claude/board/ISSUES.md +++ b/.claude/board/ISSUES.md @@ -1,3 +1,45 @@ +## ISS-SIX-DECISIONS-NOT-EXECUTED-ACTION-GATE — `commit` still fails open where the decision says fail closed (2026-10-23) + +**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-contract/src/action.rs:266` `pub fn commit`, `:328` `pub fn commit_via`; read at `main` `19c1324a`). +**Fruit:** High-signal + +- DECISION ACTION-GATE A (`entries/2026-10-20-six-decisions.md`): `commit_via` canonical, fail closed, a `Public` / `Restricted` declaration on every action. +- In code: `commit` still exists and checks role names only; `commit_via` adds `grant_permits`; with `required_role: None` both skip RBAC, pinned by `commit_via_no_required_role_proceeds_regardless_of_rbac`. No `Public`/`Restricted` type exists. +- **What closes it:** test first: flip the pinning test to expect a refusal for an undeclared action, add the declaration, route `commit` through `commit_via` or deprecate it. Each guard disable-verified red. +- Source: `.claude/research/2026-10-recovery/LEDGER-REVISION-2026-10-23e.md` §3a. + +## ISS-SIX-DECISIONS-NOT-EXECUTED-FLOAT-REFS — the fold path still pulls OGAR `main` into the default build (2026-10-23) + +**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph/Cargo.toml:58` unconditional `lance-graph-r2il`; `crates/lance-graph-r2il/Cargo.toml:19-20` OGAR `branch = "main"`; no `fold` feature in any `crates/*/Cargo.toml`, 39 manifests read in full by a Haiku scout, `:51-58` re-read). +**Fruit:** High-signal + +- DECISION FLOAT-REFS B: the fold path off by default. +- **What closes it:** first a census of every `lance_graph::fold` import in the workspace and sibling repos (Haiku `harvest-scout`, a closed search space), then the `fold` feature, with the default build checked to no longer resolve OGAR. + +## ISS-SIX-DECISIONS-NOT-EXECUTED-WIRE50-ISA-LEGACY — CE64 50..52 presence and the 46..49 legacy reading have no code (2026-10-23) + +**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`Option` only in `crates/lance-graph-planner/tests/maturation_ladder.rs`, EXPERIMENTAL; no `ISA_LEGACY` / `legacy_opcode` / `LegacyRead` in `crates/`, scout over the named patterns; `causal-edge/src/edge.rs` has `fn activation(self) -> i8`). +**Fruit:** High-signal + +- DECISIONS WIRE-50 A (pyramid order; presence outside 50..52) and C40 (46..49 = activation i4; `isa.rs`'s opcode reading behind a declared legacy reader). +- Both touch `causal-edge` and the same field-isolation tests (I-LEGACY-API-FEATURE-GATED), so they belong in ONE test-first PR, not two. + +## ISS-SUPERVISOR-DISPATCH-CAPACITY-DRAIN — Health-only dispatch, unread mailbox capacity, unbounded drain (2026-10-23) + +**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-supervisor/src/supervisor.rs:203-213` DispatchToG handles only `ConsumerEnvelope::Health`, else `DispatchNotImplemented`; `:42` `mailbox_capacity`, `:389` `spawn_linked` of a `StubConsumerActor` with no capacity; `crates/lance-graph-callcenter/src/drain.rs:97` `mpsc::unbounded_channel()`). +**Fruit:** High-signal + +- Carried unchanged since ledger revision (d) (SUP-DISPATCH, SUP-CAPACITY, SUP-DRAIN). +- **What closes it:** three independent slices, capacity first (a field no one reads), each with a can-fire test (a full mailbox refuses) and a stay-silent test. + +## ISS-D-CGW-4-PROMOTION-GATE — the counterfactual verdict is computed but promotes nothing (2026-10-23) + +**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-planner/src/pearl.rs:259-263` `counterfactual_verdict()` calls `Reaction::verdict`; callers found only in `pearl.rs` tests `:747-815`; STATUS_BOARD row D-CGW-4 Queued). +**Fruit:** High-signal + +- D-CGW-4: `CausalCandidate` → `Causes` only with `IncreaseEligible` ∧ `Necessary`. The verdict exists; the promotion gate does not. +- **What closes it:** the gate on a production path, with a test where `Necessary` without `IncreaseEligible` stays `CausalCandidate` and a disable run. + ## ISS-ADMISSION-PREP-BINDING — may preparation translate global identities into focus slots before a fold? (2026-10-20) **Status:** RULED 2026-10-20 (ADMISSION option B, `entries/2026-10-20-six-decisions.md` §1): same-table, version-witnessed key-range seeks over an attested sorted key are admitted in preparation; a position derived from another column or table is not, whatever the phase. Frozen codebook lookups are admitted under the attestation the plan defines (`d-relalg-unified-v1.md` § Decisions). D-MPS-8 stays conditionally blocked (a value-to-relationship-table read position is option C); D-RPR-1 and D-RST-4/6 are admitted only where they classify under B. Was: OPEN (operator ruling). **Basis:** VERIFIED-IN-CODE (`crates/mork-pathmap-probe/src/{rmap,join,chain}.rs`) and MEASURED (D-RMAP-1A §8, Schnellverschluss §7b, D-RPR §11.10). @@ -17,6 +59,7 @@ ## ISS-RECURSION-DRIVER — no lawful (co-addressed, non-gather) recursion driver exists (2026-10-20) **Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`STATUS_BOARD.md` D-RA-4 row: "VIOLATION — GATHER. DO NOT BUILD"). +**Fruit:** Heavy - One missing driver under five names: - D-SRAM-4 (BLOCKED, `souffle-ram-64-thought-stack-v1.md:141`); @@ -30,6 +73,7 @@ ## ISS-RETRACTION-PROVENANCE — per-derived-cell provenance for selective retraction is undecided (2026-10-20) **Status:** OPEN. **Basis:** VERIFIED-IN-CODE (no source bitset or read-provenance plane in `crates/`). +**Fruit:** Heavy - One decision under four names: - D-TGA-3 (`thought-git-api-v1.md:184`, source bitset or read-provenance plane); @@ -42,6 +86,7 @@ ## ISS-DURABLEREF-THOUGHTCOMMITID — the two identity types four plans depend on do not exist (2026-10-20) **Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`DurableRef` and `ThoughtCommitId` appear in `crates/` only in doc comments, `mork-pathmap-probe/src/rmap.rs:70` and `:690`). +**Fruit:** High-signal - Owned by D-RST-1, coordinated with #1605's CPG-00 (no duplicate). Needed by: - D-RMAP-1A §7 / D-RMAP-1A-V; @@ -54,6 +99,7 @@ ## ISS-BF16-POLYFILL-PER-ELEMENT-ALLOC — ndarray's BF16 16×16 polyfill allocates per output element (2026-10-20) **Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`ndarray/src/simd_ops.rs`, `bf16_tile_gemm_16x16`) and MEASURED (D-RMAP-2 §5a: a 256 × 256 `A·A` takes about 19 ms, about 0.9 GMAC/s, on an AVX-512 host without AMX or `avx512_bf16`). +**Fruit:** High-signal - Per 16 × 16 call: two decode buffers (`vec!` for A and B), then for each of the 256 output elements a fresh `vec![0.0; k]` filled by a strided read of a B column, an FMA chain and a horizontal `reduce_sum`. About 257 heap allocations per call. - `bf16_tile_gemm_16x16_packed` on the same tier unpacks the VNNI buffer back to row-major (another allocation) before calling it. @@ -70,6 +116,7 @@ ## ISS-GATHER-HOP-1616 — the merged `OutgoingHop` reads positions taken from another lane's values (2026-10-19) **Status:** BLOCKED (quarantined). GATHER-DECISION recorded 2026-10-20 (`entries/2026-10-20-six-decisions.md` §1): `OutgoingHop` stays quarantined; it closes only by a rewrite as a co-addressed read. Was: BLOCKED (quarantined; waits on GATHER-DECISION). **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-mask-risc/src/graph_hop.rs`: two `MaskOp::Gather` over `frontier[sources[i]]` and `visible[targets[i]]`, then `ScatterOrU32` by `targets[i]`). +**Fruit:** Heavy - #1616 merged a hop of exactly the shape the 2026-10-16 no-gather ruling bans (D-HOLO H14c/H14d: the join is the layout). The remediation PR does not delete it and does not rename it into a BIND; it compiles only under the off-by-default feature `quarantined-gather-hop`. - Default build: a `compile_fail` doctest proves `OutgoingHop` is unreachable (disable-verified). The six original tests run in CI with the feature on. diff --git a/.claude/board/TECH_DEBT.md b/.claude/board/TECH_DEBT.md index 7faefd8d8..b39bae3c5 100644 --- a/.claude/board/TECH_DEBT.md +++ b/.claude/board/TECH_DEBT.md @@ -1,3 +1,9 @@ +## TD-STATUS-BOARD-ROWS-MISSING-FOR-OCT-PLANS-1 (2026-10-23) — OPEN + +**Fruit:** Low-hanging + +STATUS_BOARD has no rows for D-DRMC-0..5, D-QR-SAP / IAM / CAP / POLY (plans #1661–#1663), D-RFT-1-COST and the Palette256 probes P-D3, P-E2, P-D4, P-S2, although each has a plan or a board entry (`LEDGER-REVISION-2026-10-23e.md` §3c, checked by searching the board for each D-id, so a row under another name could exist). Payoff: "is it shipped" answerable from the board. Method: a Haiku `census-counter` lists every D-id in `INTEGRATION_PLANS.md` and `.claude/plans/` with no STATUS row; the owning sessions supply the wording; a `spec-editor` applies it. + ## TD-CANON-HIGH-AUDIT-RESIDUE-1 (2026-10-16, filed from #1430) — OPEN #1430 aligned the classid docs and two hand-written shifts with the canon-high From 39f829da99c974f0462ed8f2ebc0fd423b8cbe6c Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 23 Oct 2026 08:33:37 +0000 Subject: [PATCH 3/3] board: stable anchor for the D-CGW-4 citation (citation-decay) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013z2e1YXkm6o6HNrDn5BPWA --- .claude/board/FRUITS.md | 2 +- .claude/board/ISSUES.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/board/FRUITS.md b/.claude/board/FRUITS.md index b2ad83816..e5a6f235c 100644 --- a/.claude/board/FRUITS.md +++ b/.claude/board/FRUITS.md @@ -33,7 +33,7 @@ Open: 14. Closed: 0. | High-signal | ISS-SIX-DECISIONS-NOT-EXECUTED-FLOAT-REFS — the fold path still pulls OGAR `main` into the default build (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph/Cargo.toml:58` unconditional `lance-graph-r2il`; `crates/lance-graph-r2il/Cargo.toml:19-20` OGAR `branch = "main"`; no `fold` feature in any `crates/*/Cargo.toml`, 39 manifests read in full by a Haiku scout, `:51-58` re-read). | `ISSUES.md` | | High-signal | ISS-SIX-DECISIONS-NOT-EXECUTED-WIRE50-ISA-LEGACY — CE64 50..52 presence and the 46..49 legacy reading have no code (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`Option` only in `crates/lance-graph-planner/tests/maturation_ladder.rs`, EXPERIMENTAL; no `ISA_LEGACY` / `legacy_opcode` / `LegacyRead` in `crates/`, scout over the named patterns; `causal-edge/src/edge.rs` has `fn activation(self) -> i8`). | `ISSUES.md` | | High-signal | ISS-SUPERVISOR-DISPATCH-CAPACITY-DRAIN — Health-only dispatch, unread mailbox capacity, unbounded drain (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-supervisor/src/supervisor.rs:203-213` DispatchToG handles only `ConsumerEnvelope::Health`, else `DispatchNotImplemented`; `:42` `mailbox_capacity`, `:389` `spawn_linked` of a `StubConsumerActor` with no capacity; `crates/lance-graph-callcenter/src/drain.rs:97` `mpsc::unbounded_channel()`). | `ISSUES.md` | -| High-signal | ISS-D-CGW-4-PROMOTION-GATE — the counterfactual verdict is computed but promotes nothing (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-planner/src/pearl.rs:259-263` `counterfactual_verdict()` calls `Reaction::verdict`; callers found only in `pearl.rs` tests `:747-815`; STATUS_BOARD row D-CGW-4 Queued). | `ISSUES.md` | +| High-signal | ISS-D-CGW-4-PROMOTION-GATE — the counterfactual verdict is computed but promotes nothing (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-planner/src/pearl.rs:259-263` `counterfactual_verdict` calls `Reaction::verdict`; callers found only in `pearl.rs` tests `:747-815`; STATUS_BOARD row D-CGW-4 Queued). | `ISSUES.md` | | High-signal | ISS-DURABLEREF-THOUGHTCOMMITID — the two identity types four plans depend on do not exist (2026-10-20) | OPEN. **Basis:** VERIFIED-IN-CODE (`DurableRef` and `ThoughtCommitId` appear in `crates/` only in doc comments, `mork-pathmap-probe/src/rmap.rs:70` and `:690`). | `ISSUES.md` | | High-signal | ISS-BF16-POLYFILL-PER-ELEMENT-ALLOC — ndarray's BF16 16×16 polyfill allocates per output element (2026-10-20) | OPEN. **Basis:** VERIFIED-IN-CODE (`ndarray/src/simd_ops.rs`, `bf16_tile_gemm_16x16`) and MEASURED (D-RMAP-2 §5a: a 256 × 256 `A·A` takes about 19 ms, about 0.9 GMAC/s, on an AVX-512 host without AMX or `avx512_bf16`). | `ISSUES.md` | | Heavy | ISS-RECURSION-DRIVER — no lawful (co-addressed, non-gather) recursion driver exists (2026-10-20) | OPEN. **Basis:** VERIFIED-IN-CODE (`STATUS_BOARD.md` D-RA-4 row: "VIOLATION — GATHER. DO NOT BUILD"). | `ISSUES.md` | diff --git a/.claude/board/ISSUES.md b/.claude/board/ISSUES.md index 5d51d4544..076066841 100644 --- a/.claude/board/ISSUES.md +++ b/.claude/board/ISSUES.md @@ -34,7 +34,7 @@ ## ISS-D-CGW-4-PROMOTION-GATE — the counterfactual verdict is computed but promotes nothing (2026-10-23) -**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-planner/src/pearl.rs:259-263` `counterfactual_verdict()` calls `Reaction::verdict`; callers found only in `pearl.rs` tests `:747-815`; STATUS_BOARD row D-CGW-4 Queued). +**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-planner/src/pearl.rs:259-263` `counterfactual_verdict` calls `Reaction::verdict`; callers found only in `pearl.rs` tests `:747-815`; STATUS_BOARD row D-CGW-4 Queued). **Fruit:** High-signal - D-CGW-4: `CausalCandidate` → `Causes` only with `IncreaseEligible` ∧ `Necessary`. The verdict exists; the promotion gate does not.