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
11 changes: 10 additions & 1 deletion .claude/board/FRUITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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: 25. Closed: 1.
Open: 34. Closed: 1.

## discovery torque

Expand All @@ -14,19 +14,26 @@ _none open_

| tier | row | status | ledger |
|---|---|---|---|
| High-signal | 2026-10-31 — The probe's support masks against `DerivationLedger::pooled` | Open. | `IDEAS.md` |
| High-signal | 2026-10-23 — A certificate replaces the deltas: lane 0 keeps the delta, a receipt or seal, and in time a proof reference — never the operations | Open. | `IDEAS.md` |
| High-signal | 2026-10-23 — Lumpability as the closure check: a palette composes under an operation only if its cells are lumpable for it, and purity measures that | Open | `IDEAS.md` |
| High-signal | 2026-10-23 — One replay that checks proof, receipt and commit witness together | Open. | `IDEAS.md` |
| High-signal | 2026-10-23 — OGAR #357's first kill test (TLAC-P01) is now buildable from real guards | Open. | `IDEAS.md` |
| High-signal | 2026-10-23 — The five unrun D-DRMC probes: X6, X7, X8, X16, X18 | Open — amended 2026-10-23: X8 is partially measured. L1 (#1740) keyed a certified recipe on its semantics and guarded the binding on each run, reusing it on fresh frames with refusals for a wrong ABI, another order and another chain. X8's own falsifier (two certified bindings for one key in `egglog-r2il-probe`, where the first falls back today) was not run. X6, X7, X16 and X18 remain unrun. | `IDEAS.md` |
| Low-hanging | 2026-10-31 — Independent support is a mask question: does one source root's edges still cover the answer? | Open. | `IDEAS.md` |
| Low-hanging | 2026-10-31 — Recursion never emits a count | Open. | `IDEAS.md` |
| Low-hanging | 2026-10-23 — The MeTTa four-binding case can run against the D-MPS-9 oracle | Open. | `IDEAS.md` |
| Heavy | 2026-10-31 — `ref/call` edges for the Kythe bridge, from a source of call facts | 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 — amended 2026-10-23 (D-ONNX-RELALG-CAP S0): "none exists" is stale for one law. `relcomp::certify_reassociation` issues a `RecipeCertificate` for associativity of Boolean-Distinct composition over a DR64 chain (#1707), and L1 executed such certificates on fresh frames (#1740, `entries/2026-10-23-drmc-l1-x8-fresh-frame-result.md`). The single-operand recipe path still ends in `NoCertifiedCompiler`. Still open: a checker independent of egglog (none exists; egglog checks its own proof internally), a law token that selects rewrites, laws beyond associativity, rebinding beyond the same shape, and the typed statement language. | `IDEAS.md` |

## engineering debt

| tier | row | status | ledger |
|---|---|---|---|
| High-signal | TD-FROZEN-POLYFILL-NAMED-BY-R2IL — the compile-time polyfill is declared at runtime and named through `ogar-r2il` (2026-10-31) — OPEN | OPEN. **Basis:** VERIFIED-IN-CODE (lines above, `main` `b38d88e`). | `TECH_DEBT.md` |
| High-signal | TD-NARS-REVISION-UNGUARDED-CAUSAL-EDGE-ISA-1 — `Opcode::Revision` pools a duplicated source; a measured site of TD-NARS-REVISION-UNGUARDED (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE + MEASURED. | `TECH_DEBT.md` |
| Low-hanging | TD-CLASSID-CANON-COMPAT-MISREADS-LEFT-EMPTY — `classid_canon_compat(0x0000_F123)` returns `0xF123` (2026-10-31) — OPEN | OPEN. **Basis:** VERIFIED-IN-CODE (`classid_canon_compat`, read on `main` `b38d88e`). | `TECH_DEBT.md` |
| Low-hanging | TD-XLOG-NATIVE-COUNT-OVERFLOW-UNTESTED — the native bag count refuses on overflow, and no test reaches it (2026-10-31) — OPEN | OPEN. **Basis:** VERIFIED-IN-CODE (`native.rs:45`, `:148-157`; no hit for `NativeRefusal::Count` outside `native.rs`, read on main `b38d88e`). | `TECH_DEBT.md` |
| Low-hanging | TD-BGZ-TENSOR-INTEGRATION-TESTS-UNGATED-1 (2026-10-23) — OPEN | OPEN | `TECH_DEBT.md` |
| Low-hanging | TD-CE64-W-SLOT-DOC-SAYS-NO-ANCHOR — `edge.rs` still documents W = 0 as "no corpus anchor" (2026-10-23) — OPEN | OPEN. **Basis:** VERIFIED-IN-CODE (`edge.rs:944` on main `8f610a85`). | `TECH_DEBT.md` |
| Low-hanging | TD-STATUS-BOARD-ROWS-MISSING-FOR-OCT-PLANS-1 (2026-10-23) — OPEN | — | `TECH_DEBT.md` |
Expand All @@ -35,13 +42,15 @@ _none open_

| tier | row | status | ledger |
|---|---|---|---|
| High-signal | ISS-SOURCE-ROOT-AGENT-OR-REPORT — is a source root the observer or one report? (2026-10-31) | OPEN (operator decision). **Basis:** VERIFIED-IN-CODE (`crates/xlog-relcomp-probe/tests/provenance.rs` `root()` hashes the observer and the report's facts; `unrelated_sources_never_collapse_to_one_root` pins that one observer with two different reports gives two roots). | `ISSUES.md` |
| 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<Maturation3>` 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` |
| Low-hanging | ISS-RA-STATICINDEX-MISSES-MACRO-ARGUMENT-REFS — references inside `assert_eq!` are not recorded (2026-10-31) | OPEN. **Basis:** MEASURED (`crates/sag-ra-probe/KYTHE.md` § Result, #1894: 3 of 11 pins fail; moving the calls out of the macro records them). | `ISSUES.md` |
| Low-hanging | ISS-FISHERZ-ENCODE-SATURATES-SILENTLY — out-of-family cosines encode to the edge code with no flag (2026-10-23) | OPEN. **Basis:** VERIFIED-IN-CODE (`crates/bgz-tensor/src/fisher_z.rs:67`, `i8_val.clamp(-128.0, 127.0) as i8`, read at `main` `8f610a85`) + MEASURED. | `ISSUES.md` |
| Low-hanging | ISS-CAUSAL-EDGE-CARRIES-SEVEN-PRE-EXISTING-CLIPPY-FINDINGS (2026-08-22) — OPEN | — | `ISSUES.md` |
| Heavy | ISS-ORDER-AND-CODEBOOK-WITNESS-HAS-NO-CONTRACT-TYPE — seven open items wait on one witness nobody owns (2026-10-23) — OPEN | OPEN (reframed, see correction). **Basis:** VERIFIED-IN-CODE | `ISSUES.md` |
Expand Down
66 changes: 66 additions & 0 deletions .claude/board/IDEAS.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,72 @@ Agents filter by `@`-mention or domain to see what's theirs.

## Open Ideas

## 2026-10-31 — Independent support is a mask question: does one source root's edges still cover the answer?

`[P1 @falsifier-designer domain:provenance D-STAUNEN X6a D-DT64-7]`

`xlog-relcomp-probe` `tests/provenance.rs` computes independent support as the
minimal-environment label over source roots (ATMS / PosBool; #1896). Its oracle
enumerates simple paths, which is traversal; graph work is mask selection
(D-DT64-7 D9'). **Next probe (P-X6A-MASK):** for each source root, AND the
edge register with that root's edge mask, run the closure on the result, and
test the answer bit. A root (or a set of roots) is a support exactly when its
masked closure still holds the answer, so the minimal supports come from
masks, never from walks. Fixture: the diamond with A and B as in the current
test, plus a cycle 2→3→2 reported by B; the cycle must not change the result.
Twin: a bypass 1→5→4 reported by C gives two disjoint supports. **Kill:** the
mask computation and the path oracle disagree on any of these, or the cycle
changes the minimal supports. Disable: drop the minimality filter.
(`entries/2026-10-31-coresearch-d-staunen-arc.md` rows 1/1b.)

**Fruit:** Low-hanging
**Status:** Open.

## 2026-10-31 — The probe's support masks against `DerivationLedger::pooled`

`[P1 @bridge-architect domain:provenance D-STAUNEN X6a D-EPI-COT]`

Root-disjoint support already exists in production as `DerivationLedger`
(`lance-graph-planner/src/nars/support.rs:308-323`, D-EPI-COT C1/C2). **Next
probe (P-X6A-LEDGER):** `xlog-relcomp-probe` exports a plain-text fixture (the
source roots and the edge mask each reported); a planner dev test replays it
into the ledger. `pooled` must agree with the probe's mask-computed supports
on {A}/{A,B} and on disjoint {A},{B}. On {A,B},{B,C},{A,C} they differ by
design: three minimal supports, `pooled` selects 1. The test pins that. The
probe crate does not depend on the planner (arrow 60 vs 58; path vs git
ndarray). **Kill:** `pooled` and the probe disagree on a case they are meant to
share. This decides whether X6a is already met by existing code.

**Fruit:** High-signal
**Status:** Open.

## 2026-10-31 — Recursion never emits a count

`[P2 @falsifier-designer domain:xlog D-STAUNEN X2]`

**P-REC-NO-COUNT:** no function returns a derivation multiplicity for a
recursive fact (all-tree N[X] is infinite under recursion, arXiv 2202.10766
§3.2); twin: the acyclic count is admitted. **Kill:** an API yields a count for
a recursive fact. (A trace-versus-label probe proposed alongside it was dropped:
`recursive::trace` rebuilds a node path and is not the traceroute, DR256
capstone §C.5; D-DT64-7 F8.)

**Fruit:** Low-hanging
**Status:** Open.

## 2026-10-31 — `ref/call` edges for the Kythe bridge, from a source of call facts

`[P3 @systems-scout domain:codegraph D-REASONING-CODEGRAPH-0]`

`sag-ra-probe` (#1894) emits `ref` only. A reference is not a call, and calls
are not inferred from references. **Next probe (P-KYTHE-CALL):** one function
that both calls `f()` and takes `&f` must give exactly 1 `ref/call` and 1
`ref`; a pure address-of gives 0 `ref/call`. It starts red. Needs a call-fact
source; Charon is not installed here.

**Fruit:** Heavy
**Status:** Open.

## 2026-10-25 — Virtual associative folds + comma syndromes + emergency Thought-Git Pickaxe (brainstorm cluster)

`[P3 @truth-architect @thought-struct-scribe domain:thought-git domain:memory]`
Expand Down
5 changes: 5 additions & 0 deletions .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 2026-10-31 — D-DT64-7: behaviour addressing and registration → `.claude/plans/d-dt64-7-behaviour-addressing-registration-v1.md`

**Status:** PROPOSED, docs only. **Board:** [STATUS_BOARD](STATUS_BOARD.md) D-DT64-7. Behaviour for fixed relalg is Frozen (compile time, at `0xFFFF :: 0xF###`, registered by DT64 as delegate for `lance-graph-ogar` without asking `ogar-vocab`; the range names the concern: relalg, XLOG, ONNX, TFLite, SQL, Gremlin), Learned (registered in the `BindStore` at `Domain::AppId :: 0xF###`, withdrawn only by its registrant, never deleted) or Explore (not registered). ONNX, SQL and Gremlin are Frozen; the R2IL codegraph harvest is Learned / Explore; XLOG is Learned in the lab and Frozen once minted as `lance-graph-xlog`. Findings: the Frozen polyfill is runtime-declared and named through `ogar-r2il`'s vocabulary; only routes can be withdrawn; registration moves no version; no activation is consulted; `classid_canon_compat` misreads a legacy left-empty classid (it reads `0xFFFF` correctly); the global → local selection is not yet a versioned table.
**Confidence:** plan; every finding cited to code read on `main` `b38d88e`; no new measurement.

## 2026-10-31 — D-DYNBAG: DR{dynamic bag}, holographic bags as polyfill, the PostgreSQL endgame → `.claude/plans/d-dynbag-holographic-bags-v1.md`

**Status:** PROPOSED, plan only. **Board:** [STATUS_BOARD](STATUS_BOARD.md) D-DYNBAG. DuckDB's selection vector made explicit: a Quack selection becomes a mask plus one pointer table (`dt64::dr::LocalMap`) and runs on a local tile whose width follows the survivor count (DR64 / DR256 / multi-tile). Relations on a tile are read in a semiring per operation (B for presence, ℕ for bag multiplicity; K-relations), one address with several readings. The bag-op polyfill names each relational operation once with one realization per semiring. ℕ-compose via `ndarray::simd::matmul_i8_to_i32` is the candidate home for the many-to-many join (falsifier D-DYNBAG-1). Endgame: a PostgreSQL-compatible surface (`sql-quack-probe`, modelled on `lance-graph-cypher-quack`) scored against DuckDB and PostgreSQL in ns, losses reported. The membrane stays a reference note on EXO-50.
Expand Down
31 changes: 31 additions & 0 deletions .claude/board/ISSUES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
## ISS-SOURCE-ROOT-AGENT-OR-REPORT — is a source root the observer or one report? (2026-10-31)

**Status:** OPEN (operator decision). **Basis:** VERIFIED-IN-CODE (`crates/xlog-relcomp-probe/tests/provenance.rs` `root()` hashes the observer and the report's facts; `unrelated_sources_never_collapse_to_one_root` pins that one observer with two different reports gives two roots).
**Fruit:** High-signal

- Today one observer filing two different reports counts as two independent
sources. In PROV and evidence-combination terms independence attaches to
the agent, not to each report (co-research map row 7,
`entries/2026-10-31-coresearch-d-staunen-arc.md`).
- Every root-disjoint count (X6a, M2, D-HL-3) depends on the answer.
- **What closes it:** the ruling, then P-AGENT-VS-REPORT pinning both readings
(`roots by report == 2`, `roots by agent == 1`, two observers give 2 under
both).

## ISS-RA-STATICINDEX-MISSES-MACRO-ARGUMENT-REFS — references inside `assert_eq!` are not recorded (2026-10-31)

**Status:** OPEN. **Basis:** MEASURED (`crates/sag-ra-probe/KYTHE.md` § Result, #1894: 3 of 11 pins fail; moving the calls out of the macro records them).
**Fruit:** Low-hanging

- `ra_ap_ide` 0.0.358 `StaticIndex` records no reference to `count_below`,
`popcount_mask` or `mask_below` inside `assert_eq!(...)` in
`fixtures/sag_fixture/tests/law.rs` lines 21 and 31. Calls outside a macro
are recorded. `add_file` calls `descend_into_macros_exact` on each token, so
the cause is not yet known.
- Until it is found, any Kythe reading from these facts under-counts
references inside macro arguments.
- **What closes it:** the cause, from rust-analyzer's source, then either a
fix upstream or a documented limit on the exporter.

## ISS-FISHERZ-ENCODE-SATURATES-SILENTLY — out-of-family cosines encode to the edge code with no flag (2026-10-23)

**Status:** OPEN. **Basis:** VERIFIED-IN-CODE (`crates/bgz-tensor/src/fisher_z.rs:67`, `i8_val.clamp(-128.0, 127.0) as i8`, read at `main` `8f610a85`) + MEASURED.
Expand Down Expand Up @@ -159,6 +188,7 @@ operator decision (raised on EXO-50 by session 01G22 /036).
- the JC-SBI note (`jc-sbi-counterfactual-integration-v1.md:191`).
- `chain::ask` (#1624) is one candidate shape, in the lab: fold, read escapes, admit in preparation, fold again. Translation happens only in preparation. It is Boolean, one variable, and has no cycle refusal, so it is evidence for a design, not the driver.
- **What closes it:** a reviewed driver design under D-HOLO H14c/H14d: least fixpoint equal to Datafrog on set workloads, terminated cycles, refusal past the bound. Gated by `ISS-ADMISSION-PREP-BINDING`.
- **Candidate evidence, not the driver (2026-10-31, #1896):** `xlog-relcomp-probe` `src/recursive.rs` admits XLOG's compiled linear transitive closure (one recursive SCC; mutual recursion and non-linear steps refused) and evaluates it semi-naively on the DR64 register with `relcomp::compose`, against a BFS oracle and a 200-case differential. It is one shape, set semantics, in a lab crate, with no bound-and-refuse. Whether `compose` counts as co-addressed under ADMISSION B is not decided here.

## ISS-RETRACTION-PROVENANCE — per-derived-cell provenance for selective retraction is undecided (2026-10-20)

Expand All @@ -172,6 +202,7 @@ operator decision (raised on EXO-50 by session 01G22 /036).
- D-RST-5 (DRed retraction).
- Until it is decided a changed premise can only be refused, never selectively retracted.
- **What closes it:** the D-TGA-3 decision, then X9 run against it.
- **Candidate evidence, not the decision (2026-10-31, #1896):** `recursive::support` and `affected` compute, from the closure and on demand, the base facts an answer can rest on and the answers a base fact feeds. Nothing is stored per derived cell. A changed fact is handled by refusing the old frame and recomputing, not by retraction. The D-STAUNEN co-research (row 5) notes that counting is exact only for non-recursive rules; DRed^c needs split counters (arXiv 1711.03987).

## ISS-DURABLEREF-THOUGHTCOMMITID — the two identity types four plans depend on do not exist (2026-10-20)

Expand Down
Loading
Loading