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: 7 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 2026-11-01 — main after #1904–#1907 (merged `39511c92e`)

- New workspace crate `lance-graph-xlog` (#1907): XLOG's admitted two-atom chain (support, bag count) described in Quack, evaluated by mask-risc, addressed by DT64/DR, run from an admitted bind-store method. No `xlog-*` or arrow dependency. `xlog-relcomp-probe` keeps XLOG admission and calls it.
- `lance_graph_dt64::dr::MapTable`, `MapRead`, `TileId` (#1905): the versioned global → local table. A tile's `LocalMap` is read only under the frame it was sealed under; `coordinates` is derived from the held maps.
- `lance_graph_contract::ogar_codebook::{HARDCODED_BEHAVIOUR, HARDCODED_BEHAVIOUR_DOMAIN}` (#1904), mirroring OGAR #365: no codebook row in `0xFFXX`. `lance_graph_r2il::polyfill::HARDCODED` reads it.
- D-DYNBAG-0 (#1906): the probe no longer calls `ndarray::simd` folds; only `mask_and` (elementwise alias) and `checked_binary_i64` (TRACKED, MISSING-3) remain direct.

## 2026-10-31 — main after #1884 (merged `d3c2a29`)

- `xlog-relcomp-probe` executes its admitted chain on `ndarray::simd`, binds the bag count through `lance-graph-dt64`, and pins the Epi5 reading of XLOG results. Lab only.
Expand Down
25 changes: 25 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
## 2026-11-01 — lance-graph PR #1907 (merged `39511c92e`, branch `ccr-85acaff0-oszq40-xlogcrate`, head `1087758d1`) — lance-graph-xlog: XLOG's admitted chain over Quack → mask-risc (D-XLOG-NATIVE-4)

- **Added:** `crates/lance-graph-xlog` (workspace member): `Bounds`, `Intake`, `support`, `bag_count`, `bag_count_admitted`, `Word`, `Support`, `NativeRefusal`, `BoundRefusal`, `ids`, `nonzero`, and `and` (= `ndarray::simd::mask_and`). `xlog-relcomp-probe` now calls it and keeps `admit`, `admit_count`, `ChainQuery::bounds()`.
- **Locked:** plan `d-xlog-native-v1.md` Amendment D; deps Quack + mask-risc + DT64 + contract + ndarray (alias and TRACKED call only).
- **Deferred:** `p(X, Z)` and longer chains (NATIVE, refused at admission); MISSING-1/2/3/4 in owner crates.
- **Confidence:** 4 crate tests (scalar oracle under four bounds; `fn_addr_eq` against ndarray and `lance-graph-onnx`); N4 via `cargo tree -e normal`; probe suites green; disable run (bound ignored) red. Merged before Codex finished.

## 2026-11-01 — lance-graph PR #1906 (merged `cbc909993`, branch `ccr-85acaff0-oszq40-dynbag0`, head `dc2099bb4`) — D-DYNBAG-0: XLOG probe through Quack → mask-risc, gated by the bind store

- **Added:** probe `native.rs` runs support (`ScatterOrU32` ×2 + `mask_and`) and bag count (`GroupReduce Count` ×2 + checked product) through Quack `lower` and mask-risc `execute_into`; `Intake` (Y looked up once under a `MapTable` frame); `bag_count_admitted` (runs only from an admitted Bag `MethodBinding`, caller-read words). Probe deps gain Quack, mask-risc, contract.
- **Locked:** plan §17.7 gate table (gates 1–7 met).
- **Deferred:** the cost columns; MISSING-1/2/3/4.
- **Confidence:** probe suites green; 7 disable runs red; clippy clean. The probe has no CI line.

## 2026-11-01 — lance-graph PR #1905 (merged `bc45e97db`, branch `ccr-85acaff0-oszq40-o5`, head `907426515`) — dr: MapTable, the versioned global → local table (D-DT64-7 O5)

- **Added:** `dr::MapTable` (`new`, `advance`, `seal`, `revisions`, `map`), `MapRead { Stale, NoSuchTile }`, `TileId`; plan D-DT64-7 §1e.
- **Deferred:** stored selections (D7'), waiting on O4.
- **Confidence:** 4 tests in `tests/dr.rs`; 2 disable runs red (the tile-id case was added after the first version stayed green); Codex: no findings.

## 2026-11-01 — lance-graph PR #1904 (merged `e9c7de5ac`, branch `ccr-85acaff0-oszq40-o2mirror`, head `e5304db78`) — contract: mirror OGAR's 0xFFXX hardcoded-behaviour reservation (D-DT64-7 O2)

- **Added:** `ogar_codebook::HARDCODED_BEHAVIOUR`, `HARDCODED_BEHAVIOUR_DOMAIN`, guard test; `r2il::polyfill::HARDCODED` reads the contract constant. Board: D-XLOG-DR64-3 marked shipped (#1864).
- **Confidence:** contract lib 1563 passed; disable run (planted `0xFF01` row) red.

## 2026-10-31 — lance-graph PR #1884 (merged `d3c2a29`, branch `ccr-85acaff0-oszq40`, head `1e85104`) — xlog-relcomp-probe: ndarray::simd execution, binding through lance-graph-dt64, Epi5 reading; plans D-SOC-FENCE and D-DYNBAG

- **Added:**
Expand Down
6 changes: 3 additions & 3 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Plan: `.claude/plans/d-dt64-7-behaviour-addressing-registration-v1.md`. Docs onl
| D-DT64-7-L1 | full-classid basis for behaviour lenses (contract `ClassView` accessor) | Queued | after L4 |
| D-DT64-7-L5 | consumer `ClassView` + immutable basis witness at registration | Queued | after L1 |
| D-DT64-7-L2 | host composition of DT64 and OGAR authorities + views, with activation checks (L3) | Queued | after L5 |
| D-DT64-7-5 | the versioned global → local table, a BindStore plan item (plan §1e; Litho is a mental model, folded into the bind store plan as D-DT64-6 Amendment A) | Core in PR: `dr::MapTable`; stored selections (D7') wait on O4 | O4 for the selection half |
| D-DT64-7-5 | the versioned global → local table, a BindStore plan item (plan §1e; Litho is a mental model, folded into the bind store plan as D-DT64-6 Amendment A) | Core shipped (#1905): `dr::MapTable`; stored selections (D7') wait on O4 | O4 for the selection half |

## D-MIST-NATIVE — Mistaber's Kripke holdings over the DR64 relation register (2026-10-30)

Expand All @@ -37,7 +37,7 @@ Plan: `.claude/plans/d-dynbag-holographic-bags-v1.md`. Plan only.

| D-id | Deliverable | Status | Gate |
|---|---|---|---|
| D-DYNBAG-0 | PR #1884 layering fix: XLOG intake as lanes, support + bag count via Quack → mask-risc, fold oracles, cost columns | In PR: gates 1–7 (plan §17.7); cost columns not done | operator go-ahead (given 2026-11-01) |
| D-DYNBAG-0 | PR #1884 layering fix: XLOG intake as lanes, support + bag count via Quack → mask-risc, fold oracles, cost columns | Shipped (#1906): gates 1–7 (plan §17.7); cost columns not done | operator go-ahead (given 2026-11-01) |
| D-DYNBAG-1 | ℕ-compose probe: `matmul_i8_to_i32` over two DR64² tiles for `p(X, Z)`; B projection = `relcomp::compose` | Queued | D-DYNBAG-0 |
| D-DYNBAG-2 | semiring parameter K (B, ℕ) in relalg `Rel` + Quack surface; typed refusal per (op, K) | Queued | D-DYNBAG-1 |
| D-DYNBAG-3 | missing ℕ words backend-first (i64 masked select, min, truncated minus, compare-to-mask, masked sum; maybe bit-packed product) | Queued | D-DYNBAG-2 |
Expand Down Expand Up @@ -68,7 +68,7 @@ Plan: `.claude/plans/d-soc-fence-v1.md`. Plan only; nothing runs yet.
| D-XLOG-NATIVE-1 | test the selection rows (eq/ne_u32_to_mask, i32 comparisons, mask_and/or/andnot) against the probe's two oracles, signatures checked | Queued | N2 |
| D-XLOG-NATIVE-2 | test masked_group_count_u32 keyed by one table's column against the RIR walk, with the out-of-universe refusal | Queued | N2, N3 |
| D-XLOG-NATIVE-3 | ask the ndarray / mask-risc owners for a native home for the many-to-many join (fixture: Gate B) | Queued | owner decision |
| D-XLOG-NATIVE-4 | create `crates/lance-graph-xlog` (shape per Amendment C/D: Quack + mask-risc + DT64, no `xlog-*` or arrow dep, no plan type) | In PR (stacked on D-DYNBAG-0) | N1, N4, N5 met; N2 scalar oracle in-crate + both oracles in the probe; N3 typed refusals |
| D-XLOG-NATIVE-4 | create `crates/lance-graph-xlog` (shape per Amendment C/D: Quack + mask-risc + DT64, no `xlog-*` or arrow dep, no plan type) | Shipped (#1907) | N1, N4, N5 met; N2 scalar oracle in-crate + both oracles in the probe; N3 typed refusals |
| D-XLOG-NATIVE-6 | probe executes on `ndarray::simd` (`src/native.rs`): support via `eq_u32_to_mask` / `mask_scatter_or_u32` / `mask_and`, bag count via `masked_group_count_u32` ×2 + `checked_binary_i64`; DR `LocalMap` up to 256; register path kept as differential (plan Amendment B) | Shipped (#1884) | lab probe; layering fix is D-DYNBAG-0 |
| D-XLOG-NATIVE-5 | bag count bound through the production bind store (`lance-graph-dt64` + `dt64::dr`), polyfill words by position; Epi5 reading of XLOG results pinned (plan Amendment A) | Shipped (#1884) | lab execution only |

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# D-DYNBAG-0: the XLOG probe runs through Quack → mask-risc, gated by the bind store

**Date 2026-11-01 · ID D-DYNBAG-0 · Status IN PR · Plan `.claude/plans/d-dynbag-holographic-bags-v1.md` §17.7 · Crate `crates/xlog-relcomp-probe`**
**Date 2026-11-01 · ID D-DYNBAG-0 · Status SHIPPED · Plan `.claude/plans/d-dynbag-holographic-bags-v1.md` §17.7 · Crate `crates/xlog-relcomp-probe`**

- `native.rs` describes each side as a Quack `Query` and runs it with mask-risc `execute_into`:
- support: `ScatterOrU32`, then `mask_and`;
Expand Down
2 changes: 1 addition & 1 deletion .claude/board/entries/2026-11-01-lance-graph-xlog-crate.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# D-XLOG-NATIVE-4: `crates/lance-graph-xlog`

**Date 2026-11-01 · ID D-XLOG-NATIVE-4 · Status IN PR (stacked on D-DYNBAG-0) · Plan `.claude/plans/d-xlog-native-v1.md` Amendment D**
**Date 2026-11-01 · ID D-XLOG-NATIVE-4 · Status SHIPPED (stacked on D-DYNBAG-0) · Plan `.claude/plans/d-xlog-native-v1.md` Amendment D**

A workspace crate holds XLOG's admitted two-atom chain over the substrate:
- Quack describes it, mask-risc evaluates it, DT64/DR address it, and it runs from an admitted bind-store method.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# D-DT64-7-5: `dr::MapTable`, the versioned global → local table

**Date 2026-11-01 · ID D-DT64-7-5 · Status IN PR · Plan `.claude/plans/d-dt64-7-behaviour-addressing-registration-v1.md` §1e**
**Date 2026-11-01 · ID D-DT64-7-5 · Status SHIPPED · Plan `.claude/plans/d-dt64-7-behaviour-addressing-registration-v1.md` §1e**

`LocalMap` and `FrameStore` existed, and `LocalMap::digest` was documented as the frame's `coordinates` revision, but nothing tied a map to its frame. `MapTable` holds every tile's `LocalMap` under one `FrameStore`:

Expand Down
Loading