Skip to content
Merged
2 changes: 1 addition & 1 deletion .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 2026-11-10 — D-FOUNDRY-PARITY-1: DR × DT64 as an operational ontology → `.claude/plans/foundry-parity-v1.md`

**Status:** ACTIVE; Level R lab landed (`crates/foundry-parity-lab`). Evidence matrix over 18 Foundry capability rows, missing-contract register G1–G6, roadmap P0–P5. [entry](entries/2026-11-10-foundry-parity-1-lab.md) · STATUS_BOARD D-FOUNDRY-*.
**Status:** ACTIVE; Level R lab landed (#1991) and P1a arm C per-store cost (#1995); P1b (min/argmin) open. Evidence matrix over 18 Foundry capability rows, missing-contract register G1–G6, roadmap P0–P5. [entry](entries/2026-11-10-foundry-parity-1-lab.md) · [P1a](entries/2026-11-10-foundry-parity-1-arm-c.md) · STATUS_BOARD D-FOUNDRY-* · Linear EXO-223.
**Confidence:** lab MEASURED; every Foundry-side cell is documented capability only (no comparator). No row claims parity.

## 2026-11-06 — D-LANESOCK: DR × DT64 property-to-lane socket and joint version witness → `.claude/plans/d-lanesock-dr-dt64-lane-socket-v1.md`
Expand Down
6 changes: 6 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 2026-11-10 — main after #1991 (merged `637d638`) and #1995 (merged `15d4b4c`) — D-FOUNDRY-PARITY-1

- `crates/foundry-parity-lab` (excluded, own workspace): a 64-store × 64-category operating network over DT64 `LaneBinding` + mask-RISC. Arms A (materialized objects), B (`CanCook` / `CanFulfill` / `NetworkCapacity` / network cost, 0 bytes copied) and C (per-store cost as one INT8 GEMM via `ndarray::simd::int8_gemm_packed_strided`), against an independent scalar oracle; 24 tests.
- Refusals: stale frame, foreign scope, other row order, unmapped / unbound field, missing demanded cost lane, `u8` overflow, foreign menu revision, out-of-range quantity. Unknown stock is never zero; the denied store is `NotAuthorized`.
- Open: G1 remainder (limiting resource, P1b), G2–G6. Linear EXO-223. [entry](entries/2026-11-10-foundry-parity-1-arm-c.md)

## 2026-11-06 — branch `ccr-fd2682ed-sai06j-scope-inventory` (D-LANESOCK-4, in PR)

- Spec §8 records where a sealed reader scope and its issuer can live: OGAR `VerifiedLogin` is the only login proof, decisions are values not witnesses, `FrameStore` is the sealing precedent, and the issuer belongs in OGAR or downstream (dependency direction). No code.
Expand Down
14 changes: 14 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## 2026-11-10 — lance-graph PR #1995 (merged `15d4b4c`) — D-FOUNDRY-PARITY-1 P1a: per-store cost via INT8 packed GEMM

- **Added:** `foundry-parity-lab::arm_c` (`PreparedDemand` packed once per menu revision, `CostQuery::open` stages A once per binding, `per_store` runs one GEMM); `Network::set_unit_cost`; fair arm A comparator `store_costs`; bench rows; 8 integration tests; plan §5a.
- **Locked (measured):** oracle and null-model parity over 64 × 8 × q ∈ {1, 3, 128}; arm C summed over arm B's mask equals `network_cost`; refusals for missing demanded lane (Codex P2, red before the fix), `u8` overflow, stale frame, foreign menu revision, bad q; five disable runs red. Per-store cost 0.65–1.17 µs vs fair arm A 1.19–1.66 µs; 4 096 B staged.
- **Not done:** limiting resource / per-store max (P1b); scalar tier not run; scaling not measured.
- **Confidence:** CI green on merged head `288f130`.

## 2026-11-10 — lance-graph PR #1991 (merged `637d638`) — D-FOUNDRY-PARITY-1: evidence matrix and 64-store lab

- **Added:** `crates/foundry-parity-lab` (fixture, source owner implementing `LaneSource`, `World::bind`, arms A and B, scalar oracle, bench); `.claude/plans/foundry-parity-v1.md` (18-row matrix, G1–G6 register, roadmap); board entry, STATUS_BOARD and INTEGRATION_PLANS rows.
- **Locked (measured):** 16 tests at merge (oracle + null-model parity; refusals; negative controls; `answers()` validates q, Codex P2); `CanCook` 470 ns with 0 bytes copied; layer-cake per-store max ~15 µs vs 1.8 µs over built objects.
- **Not done:** element-wise arithmetic (G1); IAM, overlay frame, action gate, bound relations, method lowering (G2–G6).
- **Confidence:** CI green on the merged head.

## 2026-11-06 — lance-graph PR #1970 (merged `fb27c46`) — D-LANESOCK-3: one field basis, test-only scope admission

- **Added:** `LaneSource::lane_of(.., basis: &FieldRef, ..)` carries the field DT64 validated; `AbiLanes` holds no ClassView; three implementers updated; `AbiLanes::unwitnessed` and its suite moved to `#[cfg(test)]`, the `unwitnessed-scope` feature removed; spec §8 consumer contract and reader-scope inventory; board for #1969.
Expand Down
4 changes: 2 additions & 2 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Execution admitted = meaning valid (OGAR/DT64) ∧ representation compatible (DR

| D-id | Deliverable | Status |
|---|---|---|
| D-FOUNDRY-PARITY-1 | Foundry parity evidence matrix + 64-store read-only lab (`crates/foundry-parity-lab`): CanCook / CanFulfill / NetworkCapacity / network cost via DT64 `borrow_all` + mask-RISC, oracle + materialized null model, refusals, negative controls | In PR |
| D-FOUNDRY-G1 | Element-wise cross-lane arithmetic (per-store max / limiting resource / per-store cost) in an admitted operator | Queued (decision needed) |
| D-FOUNDRY-PARITY-1 | Foundry parity evidence matrix + 64-store read-only lab (`crates/foundry-parity-lab`): CanCook / CanFulfill / NetworkCapacity / network cost via DT64 `borrow_all` + mask-RISC, oracle + materialized null model, refusals, negative controls; arm C per-store cost via INT8 GEMM | Shipped (#1991, #1995) |
| D-FOUNDRY-G1 | Element-wise cross-lane arithmetic (per-store max / limiting resource / per-store cost) in an admitted operator | Partial: per-store cost shipped (#1995); limiting resource / per-store max queued (P1b, decision needed) |
| D-FOUNDRY-G2..G6 | IAM in the read path; scenario overlay frame; governed action gate; bound relations; method lowering from `MethodRef` | Queued |
| D-SC-E1 | `MapTable::map_at` fenced as `diagnose_at` → `MapDiagnostic`; executable maps only via `map(frame)` | Shipped (#1981) |
| D-SC-E2a | dt64 `CodeTable` (versioned code space, advances the lanes' FrameStore) + quack `bind_typed` / `TypedQuery::admit` (`StaleCodeSpace`, `Unwitnessed`) | In PR |
Expand Down
36 changes: 36 additions & 0 deletions .claude/board/entries/2026-11-10-foundry-parity-1-arm-c.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 2026-11-10 — D-FOUNDRY-PARITY-1-P1A: per-store cost as one INT8 GEMM; LGJ knowledge transfer

**Status:** MEASURED (lab, read-only Level R). Crate `crates/foundry-parity-lab`
(arm C, `src/arm_c.rs`), merged in #1995 (`15d4b4c`). Plan:
`.claude/plans/foundry-parity-v1.md` §5a. Linear: EXO-223.

**Question.** Can the per-store ingredient cost that mask-RISC cannot express
(register G1) be answered over the same DT64 binding with exact parity?

**Answer.** Yes. `C[store][item] = Σ_k cost[store][k]·demand[k][item]` is one
`u8 × i8 → i32` GEMM through `ndarray::simd::int8_gemm_packed_strided`
(ndarray#418, AMX `TDPBUSD` tier on the lab host). 24 tests agree with the
scalar oracle and the materialized null model (64 stores × 8 items ×
q ∈ {1, 3, 128}); arm C summed over arm B's `CanCook` mask equals arm B's
`network_cost`. Refused: a binding missing a demanded cost lane (`NotBound`,
Codex P2 on #1995), a cost that does not fit `u8` (never truncated), a stale
frame after a price change, a demand band from another menu revision, q
outside `1..=128`. Per-store cost 0.65–1.17 µs against 1.19–1.66 µs for arm A
over hoisted recipes; A is staged once per binding (4 096 B, counted).

**Not established:** the limiting resource (element-wise min/argmin, the G1
remainder, P1b — a decision); the kernel's scalar tier (the host has AMX);
scaling past one mask word.

**LGJ knowledge transfer (read-only; EXO-223 comment).** lance-graph-java is
read as a consumer, never a dependency. Already solved in DT64: lazy
filtering with one crossing per terminal, projection without hydration,
named materialisation, lookup counting. Transferable: generated vocabularies
must dispatch through `ClassView`; a mechanical consumer-surface guard; a
source declaring a second stride reading of the same bytes (would remove arm
C's staging). R11: identity is already layout-free (`LaneAddr` has no stride),
but nothing witnesses layout — `FrameRevisions` has no layout field, so a
re-layout is invisible to `check`. That is D-DRISA-M1. LGJ `rbac.rs` unread.

**OPEN:** G1 remainder (P1b); D-DRISA-M1 layout witness; generator from
`Resolved` to a typed vocabulary; G2–G6 unchanged.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,14 @@ 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.

595 entries, 2026-08-06 .. 2026-11-10.
596 entries, 2026-08-06 .. 2026-11-10.

| date | entry id | finding | file |
|---|---|---|---|
| 2026-11-10 | `lab-resolve-borrow-all` | | [2026-11-10-lab-resolve-borrow-all.md](2026-11-10-lab-resolve-borrow-all.md) |
| 2026-11-10 | `int8-direct-packed-b` | | [2026-11-10-int8-direct-packed-b.md](2026-11-10-int8-direct-packed-b.md) |
| 2026-11-10 | `D-FOUNDRY-PARITY-1` | | [2026-11-10-foundry-parity-1-lab.md](2026-11-10-foundry-parity-1-lab.md) |
| 2026-11-10 | `D-FOUNDRY-PARITY-1-P1A` | | [2026-11-10-foundry-parity-1-arm-c.md](2026-11-10-foundry-parity-1-arm-c.md) |
| 2026-11-10 | `dt64-map-table-lance` | | [2026-11-10-dt64-map-table-lance.md](2026-11-10-dt64-map-table-lance.md) |
| 2026-11-10 | `dt64-lane-borrow-all` | | [2026-11-10-dt64-lane-borrow-all.md](2026-11-10-dt64-lane-borrow-all.md) |
| 2026-11-10 | `dt64-int8-facet-stride` | | [2026-11-10-dt64-int8-facet-stride.md](2026-11-10-dt64-int8-facet-stride.md) |
Expand Down
Loading
Loading