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
9 changes: 9 additions & 0 deletions .claude/board/AGENT_LOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## 2026-10-20 — synergy map #1592–#1626 and board catch-up for #1621–#1626 (Haiku)

- Round 1 (#1592–#1624): seven substrate-mapper runs over about 8 700 lines of plans, research docs and probe code; one harvest of board rows. Four claims re-read at the source, all held. A few off-by-one line numbers and one stray placeholder, self-reported.
- Round 2 (#1622–#1626), three harvest-scout runs:
- board coverage for #1621–#1626: confirmed, no arc or LATEST_STATE rows existed;
- nine type and driver names in `crates/`: `DurableRef` 0 definitions confirmed. One miss: it reported 21 `MaskOp::Gather` matches, a recount gives 57 matching lines;
- blocker names on the board and in plans: three citations re-read, all held.
- Retired: none (one miss, below the two-miss rule). Written by the orchestrating main thread only.

## 2026-10-16 — PR-body harvest #1582–#1591 (general-purpose on Haiku)

- One run: ten PR bodies and file lists, verbatim, into the session scratchpad.
Expand Down
4 changes: 4 additions & 0 deletions .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 2026-10-20 — correction: D-RMAP-2 is measured (the 2026-10-19 index line said "not run")

**Status:** CORRECTION. The 2026-10-19 entry lists `d-rmap-2-context-tile-algebra-probe-v1.md` (#1617) as "preregistered GraphBLAS vs BF16 tile probe; not run". Since then §5a measured the polyfill tier (#1623, byte count #1625) and §5a-AMX the AMX tile tier (#1626). The plan is PARTIAL: the `VDPBF16PS`-only tier, tiles above one focus and the GraphBLAS arm are not run. That line is left as written; this entry supersedes it.

## 2026-10-20 — recursive-perspective-rebinding-v1 — WORLD × ANGLE × THOUGHT over composable relational registers → `.claude/plans/recursive-perspective-rebinding-v1.md`

**Status:** D-RPR-0 PROPOSED, LAB ONLY, documentation only; D-RPR-1 not authorized; D-RPR-2/3 BLOCKED (D-TGA-3, D-ASM-4).
Expand Down
53 changes: 53 additions & 0 deletions .claude/board/ISSUES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,56 @@
## ISS-ADMISSION-PREP-BINDING — may preparation translate global identities into focus slots before a fold? (2026-10-20)

**Status:** 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).

- One question under five names. Each row keeps its own wording and points here:
- D-RMAP-1 §6, the BIND membrane review;
- D-MPS-8 "not admitted" (STATUS_BOARD; `mork-pathmap-schnellverschluss-v1.md:185`);
- admission A1 in D-RST (`relstore-quack-petgraph-traversal-v1.md` §8) and in D-RPR (`recursive-perspective-rebinding-v1.md` §10 item 1);
- D-RPR-1 "not authorized; waits on A1";
- GATHER-DECISION in `ISS-GATHER-HOP-1616`, the same question asked from the hop side.
- Evidence for the ruling, all lab:
- the focus probe translates only in `Csr::prepare` / `rebind`;
- the native join intersects with one mask-risc `And` over co-addressed planes;
- the chain's lookup is keyed by the previous fold's escapes and runs in counted preparation, while its fold program contains no `Gather` and no scatter terminal (checked on the program, disable-verified).
- **What closes it:** a written ruling on "a counted, witnessed lookup in preparation, folds co-addressed". It settles D-MPS-8, D-RPR-1, D-RST-4/6 and the fate of `quarantined-gather-hop`.

## 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").

- One missing driver under five names:
- D-SRAM-4 (BLOCKED, `souffle-ram-64-thought-stack-v1.md:141`);
- D-MTP-3 (`metta-polyfill-v1.md:391`, through d′);
- D-RA-4's d′ (the banned preimage gather);
- the D-RPR loop;
- 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`.

## 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/`).

- One decision under four names:
- D-TGA-3 (`thought-git-api-v1.md:184`, source bitset or read-provenance plane);
- D-RPR-2 (BLOCKED);
- D-RMAP-1A falsifier X9 (`d-rmap-separate-tables-thought-palettes-v1.md:179`, deletion / DRed);
- 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.

## 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`).

- Owned by D-RST-1, coordinated with #1605's CPG-00 (no duplicate). Needed by:
- D-RMAP-1A §7 / D-RMAP-1A-V;
- D-RST-1 (and blocker B1);
- the D-RPR witnesses;
- the Schnellverschluss `generation` stand-in (`mork-pathmap-schnellverschluss-v1.md:145`).
- Every probe witness is a `u64` stand-in until they land. The never-reused rule for `ThoughtCommitId` is not yet written anywhere authoritative.
- **What closes it:** the contract types plus a reuse test (STATUS_BOARD D-RST-1).

## 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`).
Expand Down
7 changes: 7 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 2026-10-20 — main after #1626 (merged `bc8012da`)

- **On main:** #1621 (`fcd1f60e`, D-RMAP focus probe and native join), #1622 (`4dbd0853`, plans D-RST and D-RPR), #1623 (`8b570ed3`, D-RMAP-2 tile-GEMM cell, polyfill tier), #1624 (`7d2722bd`, consolidation, plan links, D-RPR-1 handoff probe), #1625 (`37b866ee`, BF16 byte count), #1626 (`bc8012da`, D-RMAP-2 on the AMX tier). All six have arc entries.
- **Probe surface in `crates/mork-pathmap-probe` (lab only, nothing admitted):** `rmap` (focus, CSR, tile, `rebind`), `join` (native join), `tile_gemm` (BF16 against bit tile), `chain` (escape-driven handoff).
- **Blockers now one row each in ISSUES:** `ISS-ADMISSION-PREP-BINDING`, `ISS-RECURSION-DRIVER`, `ISS-RETRACTION-PROVENANCE`, `ISS-DURABLEREF-THOUGHTCOMMITID`.
- Contract inventory delta: none.

## 2026-10-19 — main after #1620 (merged `dca8e7b1`)

- **On main:** #1618 (`dbe0696f`, post-merge recovery for #1601–#1617 plus the remediation), #1619 (`8e004a20`, D-RMAP binding palette generation and the D-RMAP-1A §7 versioning crosswalk) and #1620 (`dca8e7b1`, the MORK/PathMap Schnellverschluss probe, D-MPS-0..7). All three have arc entries.
Expand Down
42 changes: 42 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
## 2026-10-20 — lance-graph PR #1626 (merged `bc8012da`, branch `ccr-08f48cec-lbv9l4-amx`, head `2976e117`) — D-RMAP-2 §5a-AMX: the tile arm on the AMX tier

- **Added:** D-RMAP-2 §5a-AMX (five runs on a host where ndarray reports `AMX TDPBF16PS`); entry `D-RMAP-2-AMX`; STATUS_BOARD D-RMAP-2 row. No code change.
- **Locked:** none. Lab probe only.
- **Deferred / open:** `VDPBF16PS`-only hosts, tiles above one focus, the GraphBLAS arm; why the row-major entry (no AMX) took 5.6–6.1 ms here against about 19 ms on the §5a host.
- **Confidence:** measured. Walk counts: AMX `A·A` 58–67 µs against popcount 128–164 µs, staging excluded; Boolean composition and triangles still go to the bit arm. Re-measured on a second AMX host in the PR that adds this entry: ratios hold (2.06–2.31×), absolute times 10–60 % higher.

## 2026-10-20 — lance-graph PR #1625 (merged `37b866ee`, branch `ccr-08f48cec-lbv9l4-tile-gemm`, head `74eb6cf7`, 1 commit) — D-RMAP-2: count the row-major B blocks in the BF16 byte total

- **Added:** test `bf16_bytes_count_every_retained_buffer` (pins `3 · 256 · 256 · 2`).
- **Locked:** `Bf16Staged::bytes()` counts `b_rows`; a staged map holds 384 KiB, not 256 KiB. Plan §5a and its entry corrected.
- **Deferred / open:** none of its own. Carries the fix pushed after #1623 merged.
- **Confidence:** measured. Removing the `b_rows` term turns the test red (262 144 against 393 216).

## 2026-10-20 — lance-graph PR #1624 (merged `7d2722bd`, branch `ccr-d3ce1263-ied9yh`, head `f9ab46a1`) — #1622 consolidation, plan links for #1601–#1617, the D-RPR-1 handoff probe

- **Added:** plan links (19 artifacts → owning plans, 11 plans gain a "Connected sources" section; entry `2026-10-20-prs-1601-1617-plan-links.md`); `recursive-perspective-rebinding-v1.md` §11 (D-RPR-1 sub-cases 1a–1f, anti-vacuity, oracles, refusal axes, costs, limits) and §11.10; `crates/mork-pathmap-probe/src/chain.rs`, `tests/chain.rs` (8 tests), `examples/chain_cost.rs`; entries `2026-10-20-d-rpr-consolidation-1624.md`, `2026-10-20-d-rpr-1-handoff-lab-demo.md`.
- **Locked:** `TileExec::program` is `pub`. The no-gather ruling holds: the chain's lookup runs in counted preparation (`rebind`), and its fold program contains no `Gather` and no scatter terminal, which a test reads off the program.
- **Deferred / open:** A1 / D-RMAP-1 §6; D-RPR-1 as written (the probe adds glue types, synthetic fixture); `rebind`'s copy floor; KJV fixture; a termination bound (disabling `keep` livelocks `ask`).
- **Confidence:** measured. Every answer equals a full-scan oracle; 3 of 4 disable runs red, the fourth hangs. 360 seeks against 3 840 for a full rebuild per admission; the direct arm is cheaper per pass (23.6 µs against 1 509 µs for the first framed pass).

## 2026-10-20 — lance-graph PR #1623 (merged `8b570ed3`, branch `ccr-08f48cec-lbv9l4-tile-gemm`, head `9e6cb940`) — D-RMAP-2 probe: BF16 16×16 tile GEMM against the bit tile

- **Added:** `crates/mork-pathmap-probe/src/tile_gemm.rs`, `tests/tile_gemm.rs` (4 tests, 5 guards disable-verified), `examples/tile_gemm_cost.rs`; D-RMAP-2 §5a; `ISS-BF16-POLYFILL-PER-ELEMENT-ALLOC`; entry `2026-10-20-d-rmap-2-tile-gemm-cell.md`.
- **Locked:** none. Uses `ndarray::simd::bf16_tile_gemm_16x16{,_packed}` through the facade; no new kernel.
- **Deferred / open:** AMX and `VDPBF16PS` hardware (the host had neither); the polyfill's per-element allocation. The byte-count fix arrived after merge (#1625).
- **Confidence:** measured on the F32x16 polyfill tier only: the bit arm wins every cell; BF16 `A·A` about 19 ms, which measures allocation, not tile arithmetic.

## 2026-10-20 — lance-graph PR #1622 (merged `4dbd0853`, branch `ccr-08f48cec-lbv9l4`, head `d5c79258`) — plans D-RST (relational geometry amortization) and D-RPR (recursive perspective rebinding)

- **Added:** `.claude/plans/relstore-quack-petgraph-traversal-v1.md` (D-RST-0..9, reframed) and `.claude/plans/recursive-perspective-rebinding-v1.md` (D-RPR-0..3); plan-index entries, STATUS_BOARD rows, board entries.
- **Locked:** lab exploration only; no production code may be rewired to either plan. Petgraph is an optional consumer (D-RST-3 deferred). Tile GEMM consumes prepared geometry and does not obtain it (§5b). Ownership: `RelationshipMapStore` owns facts, layouts, domains, seals and invalidation; Quack compiles; mask-risc executes.
- **Deferred / open:** admissions A1–A6, blockers B1–B3; D-RPR-1 not authorized; D-RPR-2/3 blocked on D-TGA-3 / D-ASM-4.
- **Confidence:** proposed. Documentation only.

## 2026-10-20 — lance-graph PR #1621 (merged `fcd1f60e`, branch `ccr-08f48cec-lbv9l4`, head `9108865b`) — D-RMAP focus probe, native join over a relationship table, board rows for #1618–#1620

- **Added:** `crates/mork-pathmap-probe/src/rmap.rs` (256-slot focus, slot-space CSR, 256 × 256 bit tile per predicate, `rebind`, thought deltas; 12 tests, 11 guards disable-verified); `src/join.rs` (`JoinTable`, leapfrog `y` intersection as one mask-risc `And`; 8 tests, 7 guards); `Backend::Native` in the differential suite; arc entries for #1618–#1620 and a LATEST_STATE section.
- **Locked:** address translation only in preparation; out-of-focus targets reported as escapes, never dropped.
- **Deferred / open:** the D-RMAP-1 BIND membrane review (native join not admitted); cyclic bodies; the zero-copy against register-copy trade-off (20–24 µs against 1–2 µs).
- **Confidence:** measured. Break-even reuses 76 / 11 / 1.8 (sparse d2, d8, dense); rebind loses to a rebuild at k = 256; per-evaluation cost flat over 1 / 8 / 64 thoughts; native join prepare 2.7 ms against 14.7 (PathMap) and 22.9 (MORK) at n = 50 000.

## 2026-10-19 — lance-graph PR #1620 (merged `dca8e7b1`, branch `ccr-08f48cec-lbv9l4-mork-pathmap`, head `d514396c`, 5 commits) — MORK / PathMap Schnellverschluss: source switch, typed backend switch, differential probe

- **Added:** excluded crate `crates/mork-pathmap-probe`. It has its own workspace and git deps on the AdaWorldAPI MORK (`de9312e3`) and PathMap (`ef02591`) forks; one `[patch]` line keeps a single `pathmap` package in the graph. `boundary.rs` is the only module naming either library. It holds `Backend::{Mork, PathMapZipper, Native}` and typed refusals: `SetOnly`, `NoAdmittedNativeJoin` and `Stale`. The crate also has 8 differential tests plus 1 unit test against a nested-loop oracle, the cost example, CI job `mork-pathmap-probe.yml` (default and `--features leapfrog`), plan `mork-pathmap-schnellverschluss-v1.md` (D-MPS-0..7; §7a ties `RelationView.generation` to the D-RMAP-1A §7 witness), entry `2026-10-19-mork-pathmap-schnellverschluss.md`, and `ISS-MORK-LIBRARY-GLOBAL-ALLOCATOR`.
Expand Down
23 changes: 23 additions & 0 deletions .claude/board/entries/2026-10-20-d-rmap-2-amx-remeasured.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 2026-10-20 — D-RMAP-2-AMX-RERUN — §5a-AMX re-measured on a second AMX host

**Status:** MEASURED, lab probe only. **Basis:** `crates/mork-pathmap-probe` at `main` `bc8012da`; `cargo test --release --test tile_gemm` (5 passed); five runs of `cargo run --release --example tile_gemm_cost`, each the example's medians of 7. Host flags `amx_bf16`, `amx_tile`, `amx_int8`, `avx512_bf16`; `Intel(R) Xeon(R) Processor @ 2.10GHz`, 4 vCPU; ndarray tier `AMX TDPBF16PS`.

Median of five, µs. The #1626 value is in brackets.

| Map | bit compose | popcount counts | AMX `A·A` | stage | threshold | bit triangles | BF16 triangles | row-major |
|---|---|---|---|---|---|---|---|---|
| 1 % | 2.1 (2.0) | 181 (164) | 88 (67) | 182 (132) | 61 (50) | 2.5 (1.9) | 57 (45) | 8 819 (5 842) |
| 10 % | 7.6 (6.0) | 184 (135) | 80 (58) | 222 (182) | 133 (105) | 10.8 (7.4) | 110 (94) | 7 789 (5 823) |
| 50 % | 34 (27) | 174 (137) | 84 (63) | 501 (470) | 141 (101) | 48 (36) | 422 (323) | 9 000 (6 107) |
| hubs | 3.7 (2.6) | 174 (128) | 82 (58) | 171 (143) | 133 (97) | 6.0 (3.7) | 63 (41) | 8 819 (5 599) |

- **The ratios hold:**
- walk counts: AMX over popcount 2.06–2.31× (#1626: 2.2–2.5×);
- staging repaid after 1.85–5.57 products (#1626: 1.4–6.4);
- bit arm over the GEMM for composition 6.6–71×, for triangles 8.8–22.6×;
- the threshold alone costs more than bit composition on every map.
- **Absolute times are 10–60 % higher in every cell.** That points to load on the shared VM, not a code change; it is not verified.
- The `bf16_bytes` column reads 393 216 (384 KiB): the #1625 fix is on `main`.
- **Arithmetic check of #1626's own table:** ratios 2.18–2.46×, staging repaid after 1.36–6.35 products, composition 6.1–59.6×, triangles 8.9–23.8×; every derived claim in its body matches.

OPEN: why the row-major entry (no AMX) is 6–11 ms on these hosts against about 19 ms on the §5a host.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ index row, (3) no duplicate entry id. Checks 1 and 2 are deliberately
opposite directions; the stranding this convention prevents shows up in
exactly one of them, never both.

382 entries, 2026-08-06 .. 2026-10-20.
383 entries, 2026-08-06 .. 2026-10-20.

| date | entry id | finding | file |
|---|---|---|---|
Expand All @@ -37,6 +37,7 @@ exactly one of them, never both.
| 2026-10-20 | `D-RPR-1` | | [2026-10-20-d-rpr-1-handoff-lab-demo.md](2026-10-20-d-rpr-1-handoff-lab-demo.md) |
| 2026-10-20 | `D-RMAP-2` | | [2026-10-20-d-rmap-2-tile-gemm-cell.md](2026-10-20-d-rmap-2-tile-gemm-cell.md) |
| 2026-10-20 | `D-RMAP-2-AMX` | | [2026-10-20-d-rmap-2-amx-tier.md](2026-10-20-d-rmap-2-amx-tier.md) |
| 2026-10-20 | `D-RMAP-2-AMX-RERUN` | §5a-AMX re-measured on a second AMX host | [2026-10-20-d-rmap-2-amx-remeasured.md](2026-10-20-d-rmap-2-amx-remeasured.md) |
| 2026-10-19 | `post-merge-recovery-1601-1617` | | [2026-10-19-post-merge-recovery-1601-1617.md](2026-10-19-post-merge-recovery-1601-1617.md) |
| 2026-10-19 | `native-join-relationship-table` | | [2026-10-19-native-join-relationship-table.md](2026-10-19-native-join-relationship-table.md) |
| 2026-10-19 | `mork-pathmap-schnellverschluss` | | [2026-10-19-mork-pathmap-schnellverschluss.md](2026-10-19-mork-pathmap-schnellverschluss.md) |
Expand Down
Loading