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
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 — d-rmap-dir-1-membership-closure-focus-v1 — compiled membership closure vs a 256-slot focus over dir-sim → `.claude/plans/d-rmap-dir-1-membership-closure-focus-v1.md`

**Status:** D-RMAP-DIR-1 MEASURED, lab only (`crates/dir-rmap-probe`); D-RMAP-DIR-2 PROPOSED, not authorized. Sharing compiled closure rows across users (B+) is where the acceleration comes from (thousands of times over dir-sim's per-call scan); a 256-slot focus (F) adds at most 2× and only for small foci reused about 1,000 times. Entry `2026-10-20-d-rmap-dir-1-membership-closure-focus.md`.

## 2026-10-20 — thought-git-basics-v1 — the basics of thinking with a git API → `.claude/plans/thought-git-basics-v1.md`

**Status:** D-TGB-0..6 PROPOSED, lab, test-first; nothing built. From the ideal state: a slot is taken only at the Rubicon crossing (`Planning → CognitiveWork`) and freed at `Commit` / `Plan` / `Prune`, so no stale branch can exist; squash, prune and GC are kanban outcomes; every thought is replayable from its receipt. `Commit` lands one sparse batch through `LanceCycleWriter`, which gives `KanbanColumn::Commit` its declared-but-missing calcify step. Lance 13 supplies `Ref::Version(branch, version)`, branches, tags, `delta()`, `read_version_transaction`; MemWAL is an optional arm (D-WAL, D-LNC-7). Parent: `thought-git-api-v1.md` correction (#1628).
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 @@ -54,6 +54,8 @@ These PRs merged with no board rows. Every row below is a PROPOSAL (documents an
| D-RPR-3 | MeTTa-facing parity of a chain's answers | BLOCKED on D-ASM-4 (not authorized) | — |
| 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`) | LAB ONLY, not admitted to production; PARTIAL: §5a MEASURED on the polyfill tier and on the AMX tile tier (§5a-AMX); `VDPBF16PS`-only tier and GraphBLAS arm not run | arms 1–5 in the plan; 297× (D-GTM-0j) is not evidence |
| D-RMAP-DIR-1 | dir-sim membership: A (View) vs D (crepe oracle) vs B (bidirectional CSR) vs B+ (compiled closure rows + roles by ordinal) vs F (256-slot focus over B+) (`d-rmap-dir-1-membership-closure-focus-v1.md`; `crates/dir-rmap-probe`, CI `dir-rmap-probe.yml`) | MEASURED, lab only; nothing admitted, no production file changed | 5 tests: every arm = A = D on every user/group/chain; 7 guards disable-verified red, 1 shown redundant; B removes A's per-call full scan (W2 ~4,000×), B+ adds 2–3× (groups) and 12–15× (roles), F ≤ 2× only for ≤ 64 focus groups after ~1,000 reuses, none near 256. **Round 2 (§9):** 11 tests; F per chain, refuses incomplete answers; projection through down rows moves F's break-even to 2–100 reuses; F 2–5× warm / ~2× cold while the question masks fit L1, its gain growing with group count (2.9× at 1.5k groups → 5.5× at 11k); slower than B+ once ~4,300 conjunction masks exceed L1; rebuilding per question never pays; not promoted |
| D-RMAP-DIR-2 | B built in `Snapshot::build` from the lanes; B+ closure as a lazily compiled, version-witnessed cache behind the existing `View` methods; F not proposed | PROPOSED; not authorized; waits on `ISS-ADMISSION-PREP-BINDING` (hot path reads rows at a user's direct-group values) | dir-sim tests + D-RMAP-DIR-1 oracle as the equivalence gate |
| 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 |
| D-SRAM-2 | cold optimizer rewrites (SCC/strata, magic sets, ordering, dedup) | Queued (research until D-ASM AST placement and D-RA-2); lab spike measured 2026-10-20, `entries/2026-10-20-crepe-rule-optimizer-spike.md`, not authorization | optimized == unoptimized == oracle; rewrite off removes only the plan shape; disabling a semantic guard fails |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# D-RMAP-DIR-1: compiled membership closure vs a 256-slot focus over dir-sim (2026-10-20)

**Status:** MEASURED, lab only. **Basis:** `crates/dir-rmap-probe` (`tests/equivalence.rs` 5/5, `examples/bench.rs` at 8,000 and 65,000 users, 3 runs at 8,000). Plan `d-rmap-dir-1-membership-closure-focus-v1.md`.

- **Arms:** A dir-sim `View` walks; D crepe Datalog over fixture ids; B membership and nesting CSR; B+ closure rows per group and chain plus roles by ordinal; F B+ projected onto a 256-slot focus (and F+users, one focus row per user).
- **Equivalence:** B, B+, D equal A on every user, group and chain of the small fixture; B+ equals D on all 79,229 (8,000) and 611,965 (65,000) memberships before timing. 7 guards disable-verified red; the closure's parent-admit check stayed green and is marked an optimisation.
- **A's cost is a full membership scan per call:** 0.4 ms at 35,000 rows, 0.7 ms at 263,000.
- **B:** W2 user → groups 92–124 ns vs 408–466 µs; all-user reconciliation 7.1 s → 0.9 ms (8,000 users).
- **B+:** 32–49 ns per user's groups, 11–15 ns per user's roles; compile 1.6 ms independent of user count; one nesting pair inserted incrementally in 2–2.5 µs.
- **F:** ≤ 2× faster evaluation than B+ with ≤ 64 focus groups, break-even ~1,000 evaluations per prepared focus; 1.3× at 128; none near 256 and none cold. The focus saves the OR stage only; question tests dominate past a few hundred questions.

OPEN: hot-path read pattern of B/B+/F (reads at a user's direct-group values) under `ISS-ADMISSION-PREP-BINDING`; membership row patching; ordinal remap after a snapshot rebuild; real directory data; D-RMAP-DIR-2 not authorized.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# D-RMAP-DIR-1 round 2: when 256-slot focus geometry beats compiled closure (2026-10-20)

**Status:** MEASURED, lab only; nothing promoted. **Basis:** `crates/dir-rmap-probe` (`tests/equivalence.rs` 11/11; `examples/bench.rs`, 4 runs at 8,000 users plus 1 at 65,000). Plan `d-rmap-dir-1-membership-closure-focus-v1.md` §9.

- **Completeness:**
- F binds one chain and projects the full B+ closure through down rows, so paths through unfocused groups are represented (tested on two-hop cases for every chain);
- it refuses >256 groups, duplicates, a stale B+ or focus, and unfocused groups;
- the witness now compares the `Snapshot` by pointer, so two stores both starting at `VersionId(0)` refuse each other;
- 8 guards disable-verified red.
- **Preparation:**
- down-row projection costs 1.6–2.7 µs at 64 groups, against 72–82 µs for round 1's per-slot test, and that moves F's break-even from ~1,000 reuses to 2–100;
- eager per-user rows cost 84–95 µs and 32 B per user; lazy rows fill at ~16 ns per user;
- every arm's hot path makes 0 allocations.
- **Working set:**
- B+'s closure passing L2 cost it only 5–17 % (warm vs hot); it slows with row width (218 → 436 ns from 1.5k to 11k groups);
- F stays at 74–79 ns, a 2.9× → 5.5× advantage;
- cold: F ~2×, F+users ~4×.
- **Question shape decides:**
- composite membership (one bit): F 1.7–2.9× at every focus size;
- conjunctions: 2.4–5.4× up to ~650 questions, but at 256 groups (~4,300 conjunctions, 135 KiB of masks, more than L1d) F's mask form is 1.5–1.7× *slower* than B+.
- **Rebuilding a focus per question never pays;** question-aware B+ (needed words only) never helps.

OPEN: real directories' question-to-group ratio; other CPUs (small L3); the gather admission (`ISS-ADMISSION-PREP-BINDING`); D-RMAP-DIR-2 not authorized.
4 changes: 3 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.

389 entries, 2026-08-06 .. 2026-10-20.
391 entries, 2026-08-06 .. 2026-10-20.

| date | entry id | finding | file |
|---|---|---|---|
Expand All @@ -39,6 +39,8 @@ exactly one of them, never both.
| 2026-10-20 | `D-TGA-SLOT-AXIS` | thoughts are 64 slots, and the slot number is CE64's witness pointer | [2026-10-20-d-tga-slot-axis-witness-pointer.md](2026-10-20-d-tga-slot-axis-witness-pointer.md) |
| 2026-10-20 | `D-RPR` | | [2026-10-20-d-rpr-consolidation-1624.md](2026-10-20-d-rpr-consolidation-1624.md) |
| 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-DIR-1` | | [2026-10-20-d-rmap-dir-1-round-2-focus-geometry.md](2026-10-20-d-rmap-dir-1-round-2-focus-geometry.md) |
| 2026-10-20 | `D-RMAP-DIR-1` | | [2026-10-20-d-rmap-dir-1-membership-closure-focus.md](2026-10-20-d-rmap-dir-1-membership-closure-focus.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) |
Expand Down
Loading
Loading