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
7 changes: 6 additions & 1 deletion .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
## 2026-10-19 — MORK / PathMap Schnellverschluss probe (in PR)
## 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.
- Contract inventory delta: none.

## 2026-10-19 — MORK / PathMap Schnellverschluss probe (#1620, merged `dca8e7b1`)

- New excluded crate `crates/mork-pathmap-probe` (own workspace, git deps on the AdaWorldAPI MORK and PathMap forks, results only) with CI job `mork-pathmap-probe.yml`; plan `mork-pathmap-schnellverschluss-v1.md`; entry `2026-10-19-mork-pathmap-schnellverschluss.md`; issue `ISS-MORK-LIBRARY-GLOBAL-ALLOCATOR`.
- Contract inventory delta: none.
Expand Down
21 changes: 21 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
## 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`.
- **Locked:** none. Results-only probe: no production executor, no CE64 change, nothing wired into Quack/R2IL/Mask-RISC or Lance storage, no upstream file modified, no MORK source vendored (no licence declared, D-MPS-7). The native arm refuses under the 2026-10-16 no-gather ruling.
- **Deferred / open:** D-MPS-2..5 upstream proposals (PathMap as a git/version dep; stable-build commit; no `jemalloc` global allocator in the library; cursor-provider generic `UnifyJoin`), none opened. D-MPS-6 BLOCKED until a sealed `RelationOrder` exists. ABA on a reused generation number is pinned as not detected; the D-RMAP-1A §7 `DurableRef` witness is the replacement.
- **Confidence:** measured. The differential tests pass in both builds, and four disable runs each turned their guard's test red. Cost is from one release run per cell. A Codex review found that the first cost table compared a per-thought shared cost with a 64-thought rebuilt total and reported about 110×. The probe was fixed and re-run in `d514396c`: sharing a PathMap index over 64 thoughts saves 1.6× at n = 50 000 (1 556 vs 2 487 ms), and only the build is saved. The MORK query time includes the probe's text decode.

## 2026-10-19 — lance-graph PR #1619 (merged `8e004a20`, branch `ccr-08f48cec-lbv9l4`, head `79baa045`, 3 commits) — D-RMAP palette generation in the binding; versioning derived from Thought Git and #1605

- **Added:** D-RMAP-1A §7 (`.claude/plans/d-rmap-separate-tables-thought-palettes-v1.md`). It is an ownership crosswalk: map generation is a reading of the sealed RelationshipMap/RelationFacts `DurableRef` only; palette generation is the palette table's `DurableRef` once sealed, or the `ThoughtCommitId` of a speculative palette edit; and the thought-palette binding is `(ThoughtCommitId, palette generation)`. Focus generation and the index seal are retained witnesses, and authorization scope is a separate key. §7 also specifies falsifiers X1–X9, a cost/entropy comparison, and the Schnellverschluss note. The PR also adds gap notes in `thought-git-api-v1.md` and the causal-pickaxe plan, STATUS_BOARD row D-RMAP-1A-V, ENTROPY-MILESTONES M28, and the board entry `2026-10-19-d-rmap-thought-git-versioning.md`. `a7e075d3`: `ThoughtMapPaletteBinding` stores the palette generation it bound; `act-r.yml` also runs on `rust-toolchain.toml` changes.
- **Locked:** none. Status PROPOSED. CE64 is unchanged. There is no new executor, store, type or per-fold commit, and the no-gather ruling stands.
- **Deferred / open:** `ThoughtCommitId` must be never-reused, which #1605 does not say. A thought needs a dirty bit. A multi-dataset write needs one `DurableRef` per dataset, or a refusal (the measured instance is `versioned.rs::commit_encounter_round`). `DurableRef` has no type until CPG-00 runs. X1–X9 are not run.
- **Confidence:** doc only. The code facts in §7.2 were read in source. CI caught a line-number citation (`citation-decay`); it was fixed in `79baa045` by citing symbols.

## 2026-10-19 — lance-graph PR #1618 (merged `dbe0696f`, branch `ccr-08f48cec-lbv9l4`, head `b2c5453c`, 5 commits) — post-merge recovery for #1601–#1617

- **Added:** board rows for #1601–#1617 (arc entries, STATUS_BOARD, plan index, entry `2026-10-19-post-merge-recovery-1601-1617.md`). Remediation: the ACT-R crate renamed to `lance-graph-act-r`, with `Refusal::StaleCandidate` and its own CI job; #1616's `OutgoingHop` quarantined behind the off-by-default `quarantined-gather-hop` feature (`ISS-GATHER-HOP-1616`); verified review findings applied across #1603–#1613; the D-RMAP `RelationTile` key carries the map generation (or index seal) and `MapPalette` gained its own palette generation; the thought-palette binding did not yet carry it.
- **Locked:** the gather hop stays quarantined while the 2026-10-16 no-gather ruling holds.
- **Deferred / open:** the palette generation of a thought's binding was left to the follow-up, which landed in #1619.
- **Confidence:** the ACT-R refusal and the quarantine are pinned by disable-verified tests. The rest is documentation.

## 2026-10-19 — lance-graph PR #1617 (merged `47697c77`, branch `design/relationship-map-implicit-register-v1`, head `55be2fed`, 7 commits) — D-RMAP: separate RelationshipMap tables and thought-selected palettes

- **Added:** plans `.claude/plans/d-rmap-implicit-relationship-register-v1.md` (D-RMAP-1), `d-rmap-separate-tables-thought-palettes-v1.md` (D-RMAP-1A, the controlling contract for ownership and CE64 opacity) and `d-rmap-2-context-tile-algebra-probe-v1.md` (D-RMAP-2, a preregistered GraphBLAS vs BF16 tile comparison); entry `2026-10-19-d-rmap-implicit-relationship-register.md`; entries README row. Nothing implemented.
Expand Down
2 changes: 2 additions & 0 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ These PRs merged with no board rows. Every row below is a PROPOSAL (documents an
| D-RMAP-1 | implicit RelationshipMap and focus-relative registers (`d-rmap-implicit-relationship-register-v1.md`) | PROPOSAL (superseded on ownership by D-RMAP-1A) | falsifier matrix F0–F10 in the plan |
| D-RMAP-1A | separate map tables, borrowed projections, thought-selected palettes (`d-rmap-separate-tables-thought-palettes-v1.md`) | PROPOSAL; generation witnesses corrected 2026-10-19 (§6a) | refusal on map regeneration, palette-slot reassignment, focus-slot reuse, incarnation reuse, stale tile, cross-tenant change |
| D-RMAP-1A-V | versioning crosswalk: map/palette/binding generations derived from D-TGA `ThoughtCommitId` + #1605 `DurableRef`; focus generation and index seal retained (`d-rmap-separate-tables-thought-palettes-v1.md` §7) | PROPOSED; no code, no type; falsifiers specified, none run | X1–X9 in §7.4 (cross-dataset, compaction, palette ABA, slot reuse, uncommitted change, rebase, authorization, squash+replay, deletion/DRed) |
| D-RMAP-1A-P | focus-bound RelationshipMap probe over existing sorted/trie indexes: CSR, 256×256 tile via mask-risc, incremental rebind, thought deltas, place masks, postings (`d-rmap-separate-tables-thought-palettes-v1.md` §8; `crates/mork-pathmap-probe/src/rmap.rs`) | MEASURED, probe only; nothing adopted | 12 tests vs scan oracle; 11 guards disable-verified; break-even 76/11/1.8 reuses (sparse d2 / d8 / dense) |
| D-MPS-8 | native join over a versioned relationship table: R and S laid out by `y` slot, leapfrog intersection as one mask-risc `And`, per-side generations and reseal, per-thought filter planes (`mork-pathmap-schnellverschluss-v1.md` §7b; `crates/mork-pathmap-probe/src/join.rs`) | MEASURED, probe only; not admitted (D-RMAP-1 BIND membrane review) | 8 join tests + native arms in the differential suite vs the oracle; 7 guards disable-verified; cyclic bodies open |
| D-RMAP-2 | context-declaration reuse and GraphBLAS/BF16 tile probe (`d-rmap-2-context-tile-algebra-probe-v1.md`) | PROPOSAL; not run | arms 1–5 in the plan; 297× (D-GTM-0j) is not evidence |
| D-SRAM-0 | inventory Soufflé AST/ast2ram/RAM passes against D-ASM/D-RA/D-TGA owners | Queued | evidence per mapped pass; no code imported |
| D-SRAM-1 | bound AST → RAM-like schedule for pure conjunctive selection | Queued | same answers and read sets on hand-built fixtures; unsupported ops typed-refused |
Expand Down
17 changes: 17 additions & 0 deletions .claude/board/entries/2026-10-19-d-rmap-focus-probe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# D-RMAP focus probe: a focus-bound RelationshipMap over existing indexes (2026-10-19)

**Status:** MEASURED (D-RMAP-1A-P), probe only. Record: `.claude/plans/d-rmap-separate-tables-thought-palettes-v1.md` §8. Code: `crates/mork-pathmap-probe/src/rmap.rs`, `tests/rmap.rs`, `examples/rmap_cost.rs`.

## Measured

- A 256-slot focus over 65 536 identities, prepared into a slot-space CSR (and a 256×256 tile per predicate), answers 1–3-hop scoped reach through the existing mask-risc executor with no gather and no copied fact. 12 tests equal a full-slice scan; 11 guards disable-verified.
- Break-even reuse count (arithmetic from measured medians): 76 (sparse, degree 2), 11 (degree 8), 1.8 (dense). The tile beats CSR only on the dense relation.
- Reporting escapes as source slots instead of identities cut the degree-8 CSR eval from 50.4 to 5.6 µs.
- Incremental rebind beats full re-preparation for small k and loses at k = 256 (dense: from k ≥ 16).
- 1/8/64 thoughts over one shared tile: flat per-eval cost; 32 B per thought as sparse edits, 16 KiB as executor planes.
- PathMap: prefix seek beats the sorted run on sparse relations; trie build is 4–6× slower and keys are ≥ 3× the bytes; `restrict` is exact but slower than CSR preparation. MORK matching not exercised.
- Place focus: zero-copy counting over canonical lanes is 20–24 µs (word-granular gate); a 3 072 B register copy counts in ~1–2 µs.

## Open

- Lance-backed `DurableRef` and stable-row-id seals; cold-cache measurement; bit-granular `under` gating; any gather admission.
15 changes: 15 additions & 0 deletions .claude/board/entries/2026-10-19-native-join-relationship-table.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Native join over a versioned relationship table (2026-10-19)

**Status:** MEASURED (D-MPS-8), probe only; not admitted. Record: `.claude/plans/mork-pathmap-schnellverschluss-v1.md` §7b. Code: `crates/mork-pathmap-probe/src/join.rs`.

## Measured

- `Q(x,y,z) :- R(x,y), S(y,z)` with R and S laid out by the slot of `y` in one shared domain. The leapfrog `y`-level intersection is one mask-risc `And` over two presence planes; enumeration reads both sides at the surviving slot only. No gather. Native now answers in the differential suite, for set and bag semantics.
- n = 50 000: prepare 2.7 ms (PathMap 14.7, MORK 22.9). Set answers into a map 7.4 ms (PathMap 26.1, MORK 144). Streamed answers 0.33 ms; bag count 36 µs; joint plane 0.15 µs.
- One dataset resealed: 0.21 ms to re-prepare its side vs 2.47 ms for the table. 64 thoughts with their own `y` filter planes: 5.2 µs each over one shared table.
- The presence-plane `And` is an answer only as the existence mask; for enumeration and counts it prunes. Seven guards disable-verified.

## Open

- Cyclic bodies (triangle) need two variables co-addressed at once; chain joins over large domains would need a forbidden scatter.
- Admission of the global-to-local binding as a membrane (D-RMAP-1 BIND review).
4 changes: 3 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,16 @@ 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.

372 entries, 2026-08-06 .. 2026-10-19.
374 entries, 2026-08-06 .. 2026-10-19.

| date | entry id | finding | file |
|---|---|---|---|
| 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) |
| 2026-10-19 | `D-RMAP-1A` | | [2026-10-19-d-rmap-thought-git-versioning.md](2026-10-19-d-rmap-thought-git-versioning.md) |
| 2026-10-19 | `D-RMAP-1` | | [2026-10-19-d-rmap-implicit-relationship-register.md](2026-10-19-d-rmap-implicit-relationship-register.md) |
| 2026-10-19 | `D-RMAP` | | [2026-10-19-d-rmap-focus-probe.md](2026-10-19-d-rmap-focus-probe.md) |
| 2026-10-17 | `thinking-tables-wiring` | | [2026-10-17-thinking-tables-wiring.md](2026-10-17-thinking-tables-wiring.md) |
| 2026-10-17 | `D-ASM-11` | | [2026-10-17-pgring-idea-catalogue.md](2026-10-17-pgring-idea-catalogue.md) |
| 2026-10-17 | `epistemic-frontier-clicks` | | [2026-10-17-epistemic-frontier-clicks.md](2026-10-17-epistemic-frontier-clicks.md) |
Expand Down
2 changes: 2 additions & 0 deletions .claude/plans/d-rmap-2-context-tile-algebra-probe-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

> **PRIOR-ART CORRECTION (2026-10-19, precedence over earlier wording):** The operator already reverse-engineered BlasGraph, MKL-like backends, BF16 16x16, AMX, VNNI and mask-GEMM interop in AdaWorldAPI/ndarray and AdaWorldAPI/lance-graph. **Do not start a new GraphBLAS/MKL implementation, import production FFI or redo settled kernel comparisons.** The unproven subject is the separate RelationshipMap tables, zero-copy index binding and thought-selected map palettes. Use existing native kernels and probes as references; any external GraphBLAS implementation is optional independent oracle only.

> **Partial answer (2026-10-19):** the first "updated test priority" item (bind a focus, compare direct indexed seek with a repeated local Boolean fold, focus churn, external-neighbour escapes, 1/8/64 thoughts) is measured in D-RMAP-1A §8 for in-memory warm fixtures. The GraphBLAS and BF16/INT8 arms here remain unrun.

## 0. Existing implementation and measurements: mandatory reuse

| Precedent | Source | What is already present |
Expand Down
Loading