diff --git a/.claude/board/INTEGRATION_PLANS.md b/.claude/board/INTEGRATION_PLANS.md index 532a99ae5..155a9bae2 100644 --- a/.claude/board/INTEGRATION_PLANS.md +++ b/.claude/board/INTEGRATION_PLANS.md @@ -1,3 +1,10 @@ +## 2026-10-24 — index catch-up: six ONNX-family plans merged without an index entry (#1745–#1749, #1751) + +- `d-onnx-relalg-cap-convergence-1745-v1` (#1745), `d-onnx-relalg-s1-s2-semantic-intake-v1` (#1746), `d-dr3-holo-onnx-s3a-s3c-v1` (#1747), `d-onnx-relalg-s3d-physical-shootout-v1` (#1748), `d-onnx-relalg-s4-s5-palette-export-v1` (#1749), `d-optimum-bgz-offline-frontend-v1` (#1751) → `.claude/plans/.md`. + +**Status:** PROPOSAL, documentation only; nothing authorized. #1746–#1749 and #1751 carry the D-NFC supersession note (`d-native-first-dependency-correction-v1.md`, #1753), which governs where they disagree with it. #1745 carries none (D-NFC §7: "not edited; §6 proposal"). +**Confidence:** index row only; read from each plan's header. + ## 2026-10-24 — d-dr64-focus-lease-foreign-cache-v1 + d-dr64-focus-cache-falsifiers-v1 — immutable DR64 focus, leased foreign cache, sparse writeback → `.claude/plans/d-dr64-focus-lease-foreign-cache-v1.md`, `.claude/plans/d-dr64-focus-cache-falsifiers-v1.md` **Status:** D-DRF-1 REFERENCE DESIGN / PRE-REGISTRATION ONLY (#1756); DRF-P1..P4 PROPOSED, not authorized. The DR map stays an immutable versioned reference; focus load acquires an ephemeral residency lease; caches are disposable; dirty rows coalesce by canonical destination and go through the existing CycleWriter. DECISION 2026-10-24: the DR64³ foreign-key cache is a scoped exception to the zero-copy law (cost basis, several ontologies, learning into live-generated ONNX), lapsing if DRF-P2 does not measure a whole-run win. Entry `2026-10-24-d-drf-1-focus-lease-foreign-cache.md`. diff --git a/.claude/board/LATEST_STATE.md b/.claude/board/LATEST_STATE.md index 681f89c5a..7bc6dcd30 100644 --- a/.claude/board/LATEST_STATE.md +++ b/.claude/board/LATEST_STATE.md @@ -1,3 +1,10 @@ +## 2026-10-24 — main after #1758 (merged `0dcaf8b5`) + +- New crates on main: `lance-graph-onnx` (#1754; ONNX names over existing native functions, `onnx::bounded` Tanh/Exp aliases in #1758), `math-polyfill-probe` (#1752, lab), `soa-view-probe` (#1755, lab). +- `dr-math-binding-probe`: the D-DRMC-5 certificate holds egglog's `ProofStore` + `ProofId` (#1742). +- Docs only: three S0 capstones for D-ONNX-RELALG-CAP are on main (#1744 base path, #1745 convergence amendment on HOLD, #1750 second capstone) plus S1–S5 plans (#1746–#1749) and O0–O4 (#1751); where they disagree, D-NFC (#1753) governs; which draft documents the conformance-adapter layer is for the three owners on EXO-50 (OPEN). #1744's S0 now carries the D-NFC owner note. D-NFR-0 / D-NFC-0 (#1753), D-DRF-1 (#1756) are proposals with falsifiers NOT RUN. +- Per-PR records: `PR_ARC_INVENTORY.md` catch-up #1742–#1758. + ## 2026-10-23 — main after #1741 (merged `59538865`) - **On main since #1725:** Palette256 compose and learned-LUT probes (#1726, #1731), the BREADCRUMBS / TORQUE / GOLDSTAUB ledgers and `fruits_index.py` (#1729), the thought-git squash gate and Probe D (#1736, #1739, lab, `thought-git-probe`), the D-DRMC-5 fresh-frame reuse L1 (#1740, lab, `dr-math-binding-probe`), the "no certified compiler" scope correction (#1738), and coresearch maps (#1737, #1741). Per-PR records: `PR_ARC_INVENTORY.md`. diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index c6fa43ea1..21f11888d 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -1,3 +1,82 @@ + + +## 2026-10-24 — lance-graph PR #1758 (merged `0dcaf8b5`, branch `feat/onnx-tanh-alias-20261024`, head `4b3685e8`) — lance-graph-onnx: Tanh and Exp as ULP-bounded aliases (`onnx::bounded`) + +- **Added:** `crates/lance-graph-onnx/src/lib.rs` (`onnx::bounded` aliases), `tests/conformance.rs`. +- **Docs:** `.claude/plans/d-onnx-native-v1.md`. +- **Confidence:** recorded from the merge commit. + +## 2026-10-24 — lance-graph PR #1757 (merged `76e44b59`, branch `lab/symmetric-i8-tanh-research-20261024`, head `ddd2c993`) — bgz-tensor: symmetric signed-i8 probe + Fisher-Z error decomposition (lab, no wire change) + +- **Added:** `crates/bgz-tensor/tests/symmetric_i8_quantization_probe.rs`, `examples/fisher_z_error_decomposition.rs`; `crates/lance-graph-onnx` src + conformance tests touched. +- **Docs:** entry `2026-10-24-tanh-precision-symmetric-i8.md`; `d-onnx-native-v1.md`. +- **Confidence:** lab; see the entry. + +## 2026-10-24 — lance-graph PR #1756 (merged `06adcbce`, branch `docs/dr64-focus-lease-foreign-cache-20261024`, head `d16be839`) — docs(D-DRF-1): immutable DR64 focus leases, foreign-cache amortization, sparse writeback + +- **Added:** docs only — plans `d-dr64-focus-lease-foreign-cache-v1.md`, `d-dr64-focus-cache-falsifiers-v1.md`; `zero-copy-warden.md` and `zero-copy-lens-law.md` amended. +- **Docs:** entry `2026-10-24-d-drf-1-focus-lease-foreign-cache.md`. Falsifier matrix pre-registered, NOT RUN. +- **Confidence:** PROPOSAL. + +## 2026-10-24 — lance-graph PR #1755 (merged `23404736`, branch `lab/d-nfr-6-validate-once-20261023`, head `bca2d937`) — lab(D-NFR-6): native operations over the SoaEnvelope borrow — no Table, no frame guard + +- **Added:** `crates/soa-view-probe` (lib, `tests/falsifiers.rs`, `examples/view_cost.rs`), `.github/workflows/soa-view-probe.yml`. +- **Docs:** plans `d-nfr-6-soa-borrow-v2.md`, `d-nfr-6-validate-once-v1.md` (v1 superseded, D-NFR-6a withdrawn); entries `2026-10-23-d-nfr-6-soa-borrow.md`, `…-validate-once.md`. +- **Confidence:** MEASURED (lab), per the entry. + +## 2026-10-24 — lance-graph PR #1754 (merged `cc0bffa7`, branch `feat/lance-graph-onnx-20261023`, head `ad4d064e`) — D-ONNX-NATIVE-0: lance-graph-onnx, ONNX names over existing native functions + +- **Added:** new crate `crates/lance-graph-onnx` (src, `tests/conformance.rs`, `examples/alias_cost.rs`); workspace `Cargo.toml`; `rust-test.yml` line. +- **Docs:** plan `d-onnx-native-v1.md`; entry `2026-10-23-d-onnx-native-0-facade.md`; `TECH_DEBT.md` row. +- **Confidence:** IMPLEMENTED; conformance tests + disable runs per the entry. + +## 2026-10-24 — lance-graph PR #1753 (merged `c3681ba5`, branch `docs/native-first-repr-contract-20261023`, head `bad13fc2`) — D-NFR-0 / D-NFC-0: native representation contract and canonical dependency correction + +- **Added:** docs only — plans `d-native-repr-contract-v1.md`, `d-native-first-dependency-correction-v1.md`. +- **Docs:** entry `2026-10-23-d-nfr-0-native-repr-contract.md`. +- **Confidence:** PROPOSAL. + +## 2026-10-24 — lance-graph PR #1752 (merged `5367fae8`, branch `lab/math-polyfill-probe-20261023`, head `aaece43b`) — lab(mpf): D-MPF-1, the Stage 1 math polyfill already exists + +- **Added:** `crates/math-polyfill-probe` (examples incl. `fixed_cost`, `cost_split`, `hybrid`, `classid_route`, codegen witness), `math-polyfill-probe.yml`; `crates/lance-graph-r2il` (`src/lib.rs`, `tests/dialect.rs`) touched. +- **Docs:** plan `d-mpf-math-polyfill-v1.md`; entries `d-mpf-1-polyfill-probe`, `d-mpf-2-fixed-cost`, `d-mpf-4-classid-route`. +- **Confidence:** MEASURED (lab), per the entries. + +## 2026-10-24 — lance-graph PR #1751 (merged `389b6d0e`, branch `research/d-optimum-bgz-offline-frontend-20261023`, head `915f8964`) — docs(onnx) O0–O4: Optimum offline compiler frontend → BGZ/Palette256 sidecar + +- **Added:** docs only — plan `d-optimum-bgz-offline-frontend-v1.md`. +- **Confidence:** PROPOSAL. + +## 2026-10-24 — lance-graph PR #1750 (merged `2c3d16c6`, branch `docs/d-onnx-relalg-cap-20261023`, head `bb064276`) — docs(board): D-ONNX-RELALG-CAP S0 capstone (second version) + board reconciliation + +- **Added:** docs only — plan `d-onnx-relalg-cap-capstone-1750-v1.md` (moved off #1744's base path at merge); entry `…-s0-capstone-1750.md`; `FRUITS.md`, `IDEAS.md`, `STATUS_BOARD.md`, `INTEGRATION_PLANS.md` rows. +- **Deferred:** reconciliation of the three S0 capstones (#1744 / #1745 / #1750) is open. +- **Confidence:** PROPOSAL. + +## 2026-10-24 — lance-graph PRs #1745–#1749 (merged `fe97956c`, `f2085407`, `9f7e78f3`, `6a02664c`, `f6e275a6`; branches `research/d-onnx-relalg-*-20261023`) — docs(onnx): S0 convergence amendment (HOLD), S1–S2 intake, S3a–S3c DR³/holo, S3d physical shootout, S4–S5 palette export + +- **Added:** docs only — one plan each: `d-onnx-relalg-cap-convergence-1745-v1.md`, `d-onnx-relalg-s1-s2-semantic-intake-v1.md`, `d-dr3-holo-onnx-s3a-s3c-v1.md`, `d-onnx-relalg-s3d-physical-shootout-v1.md`, `d-onnx-relalg-s4-s5-palette-export-v1.md`. +- **Deferred:** no board rows, no entries; #1745 is marked HOLD by its own title. +- **Confidence:** PROPOSAL. + +## 2026-10-24 — lance-graph PR #1744 (merged `aa84cc17`, branch `ccr-d3ce1263-ied9yh`, head `30c8c1be`) — D-ONNX-RELALG-CAP S0: ONNX as an import membrane; board closeout #1726–#1741 + +- **Added:** docs only — plan `d-onnx-relalg-cap-v1.md` (OP-ONNX-1..14), entry `2026-10-23-d-onnx-relalg-cap-s0.md`; STATUS_BOARD D-ONNX-0/1/3, D-TGA-5D shipped. +- **Locked:** only egglog associativity is called certified; no float law admitted; DR64³ is a new labelled proposal (original plan NOT FOUND). +- **Confidence:** PROPOSAL (docs). + +## 2026-10-23 — lance-graph PR #1743 (merged `f0b046b9`, branch `board/gf2-elim-preregistration-20261023`, head `b622acec`) — board: pre-register EXP-GF2-ELIM + +- **Docs:** entry `2026-10-23-gf2-elimination-preregistration.md`. Pre-registered, NOT RUN. +- **Confidence:** PROPOSAL. + +## 2026-10-23 — lance-graph PR #1742 (merged `801c8b1f`, branch `lab/drmc-proofstore-certificate-20261023`, head `c0802ce5`) — lab(drmc): certificate keeps egglog's ProofStore + ProofId, not its rendering + +- **Added:** `crates/dr-math-binding-probe` (`recipe.rs`, `relcomp.rs`, tests `relcomp`, `x8_fresh_frame`, `contract_handoff`); `crates/egglog-r2il-probe/src/lib.rs` touched. +- **Locked:** the D-DRMC-5 certificate holds `EggProof { store, root }`; closes #1740's Deferred line. +- **Docs:** entry `2026-10-23-drmc-l1-x8-fresh-frame-result.md` updated. +- **Confidence:** MEASURED (lab). + diff --git a/.claude/board/STATUS_BOARD.md b/.claude/board/STATUS_BOARD.md index 7f4674949..e381fda96 100644 --- a/.claude/board/STATUS_BOARD.md +++ b/.claude/board/STATUS_BOARD.md @@ -4,7 +4,7 @@ Plan: `.claude/plans/d-onnx-native-v1.md`. Crate: `crates/lance-graph-onnx` (ALI | D-id | scope | status | gate / falsifier | |---|---|---|---| -| **D-ONNX-NATIVE-0** | crosswalk + minimal facade: elementwise float arithmetic, int32 comparisons, Boolean ops, Where, ReduceSum, ReduceSum(Where(Greater)) | IMPLEMENTED, draft PR (`entries/2026-10-23-d-onnx-native-0-facade.md`) | 11 conformance tests + doctest; 4 disable runs red on their own test; alias = native symbol; asm diff | +| **D-ONNX-NATIVE-0** | crosswalk + minimal facade: elementwise float arithmetic, int32 comparisons, Boolean ops, Where, ReduceSum, ReduceSum(Where(Greater)) | Shipped (#1754 `cc0bffa7`; `entries/2026-10-23-d-onnx-native-0-facade.md`) | 11 conformance tests + doctest; 4 disable runs red on their own test; alias = native symbol; asm diff | | **D-ONNX-NATIVE-1** | the NATIVE rows: approximate transcendentals, float ReduceSum tolerance, empty-population min/max | PROPOSAL | each row names its open decision (plan §2) | ## D-DRF — immutable DR64 focus, leased foreign cache, sparse writeback (2026-10-24) @@ -13,7 +13,7 @@ Docs only (#1756). Plans `d-dr64-focus-lease-foreign-cache-v1.md` and `d-dr64-fo | D-id | scope | status | gate / falsifier | |---|---|---|---| -| **D-DRF-1** | reference semantics: geometry, focus lease, lookahead prefetch, foreign-key cache exception, dirty-row writeback, learning overlay | In PR | falsifier matrix G1–G7, L1–L4, P1–P3, M1–M2, W1–W8, R1–R7 pre-registered, NOT RUN | +| **D-DRF-1** | reference semantics: geometry, focus lease, lookahead prefetch, foreign-key cache exception, dirty-row writeback, learning overlay | Shipped, docs only (#1756 `06adcbce`) | falsifier matrix G1–G7, L1–L4, P1–P3, M1–M2, W1–W8, R1–R7 pre-registered, NOT RUN | | **DRF-P1** | two-focus lazy load / lease / prefetch / last-reader eviction | Proposed | L1–L3, P1–P2; stale-map and race fixtures first | | **DRF-P2** | 64-thought foreign-table A/B/C (direct+prefetch vs gather+reuse vs gather+reuse+writeback) | Proposed | whole-run cost incl. cold build; the foreign-key cache exception lapses if B/C does not win | | **DRF-P3** | relationship cube / slices and typed dirty-row reduction oracle | Proposed | R1–R3, W1–W3; no Bag/NULL/evidence loss | @@ -39,7 +39,7 @@ Lab only: `crates/soa-view-probe`, plan `.claude/plans/d-nfr-6-soa-borrow-v2.md` | D-id | scope | status | gate / falsifier | |---|---|---|---| -| **D-NFR-6** | views are `NodeRowPacket` borrows (512-byte rows, 16-byte facets); operations are one ndarray kernel each; mutation through the owner's `&mut`; no `Table`, no frame guard | MEASURED (`entries/2026-10-23-d-nfr-6-soa-borrow.md`) | 3 compile_fail examples (E0502/E0597/E0599); 4 runtime falsifiers; 3 disable runs red; packet = direct within noise, 0 allocations, asm shows only kernel calls | +| **D-NFR-6** | views are `NodeRowPacket` borrows (512-byte rows, 16-byte facets); operations are one ndarray kernel each; mutation through the owner's `&mut`; no `Table`, no frame guard | MEASURED, merged (#1755 `23404736`; `entries/2026-10-23-d-nfr-6-soa-borrow.md`) | 3 compile_fail examples (E0502/E0597/E0599); 4 runtime falsifiers; 3 disable runs red; packet = direct within noise, 0 allocations, asm shows only kernel calls | | ~~**D-NFR-6a**~~ | ~~`FrameStore::check` by pointer comparison~~ | WITHDRAWN (v2: a faster unneeded guard is not the fix) | — | ## D-MPF — mathematical polyfill API, Stage 1 (2026-10-23) @@ -48,7 +48,7 @@ Lab only (`crates/math-polyfill-probe`). Plan `.claude/plans/d-mpf-math-polyfill | D-id | scope | status | gate / falsifier | |---|---|---|---| -| **D-MPF-1** | one expression (SUM − k·COUNT, NULL plane) through the existing r2il procedures; oracle; typed refusals; cost split | MEASURED (this branch) | equal to an `i128` row loop at 64..65 537 rows; D1–D3 red; 0.86–0.91 ns/row at 64 K, ~600 ns per call at 64 rows | +| **D-MPF-1** | one expression (SUM − k·COUNT, NULL plane) through the existing r2il procedures; oracle; typed refusals; cost split | MEASURED, merged (#1752 `5367fae8`) | equal to an `i128` row loop at 64..65 537 rows; D1–D3 red; 0.86–0.91 ns/row at 64 K, ~600 ns per call at 64 rows | | **D-MPF-2** | attribute the one-word fixed cost (~120 ns mask-risc + ~150 ns dialect) | Measured (#1752) | gate not met, reason recorded: floor alone 39 ns at one word; per-row bottleneck is `masked_sum_i32`'s bit walk (plan §7) | | **D-MPF-3** | element-wise integer arithmetic (G1) | Blocked (owner decision) | `lane_plus_lane_is_refused` turns into an admitted, oracle-checked op | | **D-MPF-2b** | dense/sparse hybrid masked sum (per-word density threshold) and one mask reused across count/sum/min/max | Measured (#1752) | hybrid th=16 is 2–3.7× (uniform) and 4–5× (clustered) faster than the walk, and never slower; reuse ~2× when sparse; a fused scalar pass is 6× faster at 50 % (plan §9) | @@ -73,7 +73,7 @@ Plan `d-onnx-relalg-cap-v1.md`, PROPOSAL. Only S0 is in a PR. | D-id | scope | status | gate / falsifier | |---|---|---|---| -| **D-ONNX-0** | S0 capstone plan, coverage matrix, open-points register OP-ONNX-1..14 | In PR (docs only) | consistent with code at `59538865`; no DR64³ claim | +| **D-ONNX-0** | S0 capstone plan, coverage matrix, open-points register OP-ONNX-1..14 | Shipped, docs only (#1744 `aa84cc17`) | consistent with code at `59538865`; no DR64³ claim | | **D-ONNX-1** | S1 intake probe: ONNX-subset reader with typed refusals; Boolean/compare/reduce fragment onto relalg | Queued (not authorized) | onnxruntime differential (a test, not a proof); waits on OP-ONNX-1, OP-ONNX-2 | | **D-ONNX-3** | S3 DR64³ R1/R2 contraction probe (new proposal) | Queued (not authorized) | four arms bit-exact; waits on OP-ONNX-4 | diff --git a/.claude/plans/d-onnx-relalg-cap-v1.md b/.claude/plans/d-onnx-relalg-cap-v1.md index e22bde8de..837553123 100644 --- a/.claude/plans/d-onnx-relalg-cap-v1.md +++ b/.claude/plans/d-onnx-relalg-cap-v1.md @@ -1,5 +1,14 @@ # D-ONNX-RELALG-CAP — ONNX as import membrane over the existing substrate (S0) +> **⊘ SUPERSESSION — D-NFC (2026-10-24, owner note per `d-native-first-dependency-correction-v1.md` §6 step 1).** This S0 adopts §1 and §2 of `.claude/plans/d-native-first-dependency-correction-v1.md` (#1753, operator DECISION 2026-10-23) by reference. Where this text and that correction disagree, the correction governs. In particular: +> +> 1. **A1.** Native typed expressions and compiled R2IL procedures are the internal contract. An ONNX file is external input, read only by the conformance adapter (layer [7]). +> 2. **A2.** Native Stage 1 has no ONNX prerequisite. The importer (OP-ONNX-2) and any target model gate only the optional external-file adapter, not native work. The shipped native polyfill is #1752. +> 3. **OP-ONNX-1 (home for value maths)** is answered by D-NFC §4: floating-point operations run in existing ndarray / bgz / Helix kernels with explicit numerical validation and no algebraic certificate. `crates/lance-graph-onnx` (#1754, #1758) puts ONNX names over those native functions. relalg still takes no value maths. +> 4. **Unchanged:** the egglog associativity certificate is the only certified law; no float law is admitted; ADMISSION B; DR64³ identity is not invented here. +> +> Which S0 draft (#1744 / #1745 / #1750) documents layer [7] is for the three owners on EXO-50 (D-NFC §6 step 3); this note does not decide it. The rest of this plan is unchanged. + **Status:** PROPOSAL, documentation only, 2026-10-23. No code in this plan's PR. Read at `origin/main` `59538865`. ONNX facts are read from the upstream clone at commit `0c8af065` and cited as `onnx::line`. Stages S1..S5 are PLANNED and not authorized. **Corrected statement (replaces the original proposal wording).** ONNX is a read-only interchange membrane. An imported model is refused unless every op is in an explicit admitted subset. Admitted ops lower, as written, onto existing contract set-algebra forms and R2IL/Quack/mask-risc terminals through relalg's planning and lowering. Value-indexed ops (`Gather*`, `Scatter*`, `NonZero`, `Unique`, `Compress`), training graphs and float reassociation are refused. The only certified law remains Boolean-Distinct reassociation (egglog, #1707). Every other stage is a differential test. DR64³ and DR256³ are unimplemented proposals with no measured figures. (Source: opusC, "Minimal corrected capstone sentence", adjusted to add `Compress`, which opusA §1 lists as unsupported.) @@ -159,7 +168,7 @@ The 64³ Explore → 256³ Validate → Certified Method → 64³ Reuse progress | ID | Question | Owner | Dependency | Evidence | Falsifier | Decision | Status | |---|---|---|---|---|---|---|---| -| OP-ONNX-1 | Home for value maths (arithmetic, MatMul, Exp/Tanh/Mish): relalg cannot take it without a new IR | operator | none | opusA §2; D-RA-2 `.claude/plans/d-relalg-unified-v1.md`; `crates/lance-graph-relalg/src/lib.rs` | any proposal adding value-producing nodes to `Rel` | none | OPEN | +| OP-ONNX-1 | Home for value maths (arithmetic, MatMul, Exp/Tanh/Mish): relalg cannot take it without a new IR | operator | none | opusA §2; D-RA-2 `.claude/plans/d-relalg-unified-v1.md`; `crates/lance-graph-relalg/src/lib.rs` | any proposal adding value-producing nodes to `Rel` | none | ANSWERED 2026-10-24: D-NFC §4 (#1753) + `lance-graph-onnx` (#1754) | | OP-ONNX-2 | Importer dependency (options A-E) | operator | OP-ONNX-1 for scope | §5 above | S1 reads real ONNX bytes | none | OPEN | | OP-ONNX-3 | DR64³/DR256³ original plan missing | operator | none | §6 negative search (BRIEF) | the plan is located | none | OPEN | | OP-ONNX-4 | Does bit-position scanning in one co-addressed frame violate ADMISSION B / D-RU-6? | operator | none | `relcomp.rs`; `compose.rs`; `qr.rs`; `.claude/board/ISSUES.md` | a ruling | none | OPEN |