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
8 changes: 8 additions & 0 deletions .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
## 2026-10-14 — d-holo-address-indexed-algebra-v1 — falsifiers H1, H5, H6 for the address-indexed algebra → `.claude/plans/d-holo-address-indexed-algebra-v1.md`

**Status:** PRE-REGISTERED; nothing measured.

- Tests the D-HOLO-0 candidate: bounded parallel evaluation of coordinate-aligned constraints across up to 64 thought branches with no query-time intermediate relations.
- H1 K-branch scaling (mask-risc per-branch and gate-once arms, a positional-popcount arm outside the contract, a snapshot baseline); H5 coordinate-native vs coordinate-crossing (prefix count, one identity's perspectives, reverse `memberOf` by scan vs maintained inverse with build and update cost); H6 closure of prefix/Morton-box restrictions as interval sets vs masks vs value sweep.
- Every input mask's construction is charged; work avoided is measured in coordinates examined; a `Range` needs a layout-order witness and gets an adversarial permuted run.

## 2026-10-13 (2) — relalg-v1 — relational algebra over coordinate populations, rewritten before it runs → `.claude/plans/relalg-v1.md`

**Status:** D-RA-1 MEASURED (prototype crate); D-RA-2..4 PROPOSAL. A prototype for D-CMR, not a competing IR.
Expand Down
4 changes: 4 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 2026-10-14 — main after #1548 (merged)

- **On `main` (#1548, merged `e7c5f790`):** D-NALP-4, exact truth codes for deduction, induction and abduction in `causal_edge::isa::truth::code`, packed by `execute` and `syllogize` (0 of 2³² rows off an independent oracle). Revision and synthesis keep the `f32` path. Board: entries `2026-10-14-isa-truth-exact-codes.md` and `2026-10-14-revision-layer-invariants.md` (Gadamer invariants G1–G7, test-pinned; Rubikon R1–R4, specified, tests open).

## 2026-10-13 — main after #1505, #1506, #1507–#1509, #1514, #1516, #1518, #1520, #1523, #1524, #1525, #1526, #1529, #1530, #1531, #1534, #1536, #1537, #1538, #1539, #1540, #1545, #1546 (merged)

- **On `main`, live:** `.cargo/config.toml` defaults to `-Ctarget-cpu=native` with `config-v3.toml` as the portable baseline and `debug = 0` everywhere (#1505); `compute_dag_kahn` checks all 256 field positions (#1506); R2IL `MIN`/`MAX` lowering onto mask-risc (#1518, the part outside glove-parity).
Expand Down
7 changes: 7 additions & 0 deletions .claude/board/PR_ARC_INVENTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 2026-10-14 — lance-graph PR #1548 (merged `e7c5f790`, branch `ccr-9f3b8075-74u47l-truth-exact`, head `0e15cff7`, 4 commits) — D-NALP-4: exact truth codes in `causal_edge::isa::truth`; revision-layer invariants

- **Added:** `truth::code::{deduction, induction, abduction}` over `u8` codes (integer arithmetic, one half-up rounding); `Opcode::truth_code` routes the three rules there, and `execute` / `syllogize` pack its result. `tests/ce64_truth_exact.rs` (8 tests) against an oracle written independently of the crate (`tests/common/truth_law.rs`); `examples/truth_exact_probe.rs` checks all 2³² inputs per law. Board entry `2026-10-14-revision-layer-invariants.md`: Gadamer gate invariants G1–G7 and the Rubikon goal-revision specifications R1–R4.
- **Locked:** the exact per-row law lives in `isa::truth`, not in a second substrate. Measured: 0 of 2³² rows off the oracle per law, where the old `f32` path missed 2,413 / 4,352 / 4,352 (each by one confidence code). Against `main`, 5 of 16,000,000 results differ, each only in the confidence field, by one code. Counting layers answer "how much"; the Gadamer gate answers "whether", and runs first.
- **Deferred / open:** exact revision and synthesis (the both-at-255 case packs `(0, 0)`, pinned as a known defect); whether D-NALP-4/5 still need a lane terminal; R1–R4 tests; derived edges write witness and epistemic bits as 0; six pre-existing clippy lints in `causal-edge`. Harvested from draft #1544, which stays open.
- **Confidence:** high; four disable runs red (`truth_code` back to `f32`, `syllogize` back to `f32`, round down, ties-to-even); the legacy golden capture unchanged.

## 2026-10-14 — lance-graph PR #1546 (merged `c21bd165`, branch `ccr-9f3b8075-74u47l-relalg`, head `1b2e8f5b`, 4 commits) — D-RA-1: relational IR rewritten before it runs, lowered through R2IL (a D-CMR prototype)

- **Added:** `crates/lance-graph-relalg` (own workspace root, excluded). `Rel` describes a row set of one table (`All`, `Empty`, plane, one `I32`/`U32` comparison, `And`/`Or`/`Not`); `normalize` rewrites to a fixpoint (negation to the leaves, unit/zero, complement, value-interval fusion per lane, interval union with `≠` reconciliation, `U32` agreement, absorption); `symbolic` answers `∅` and a counted `U` with no program; `run` lowers to R2IL calls over `FoldDialect`. No strings in the IR (`Atom`/`Cmp`/`Measure` must be `Copy`). `tests/rewrites.rs`, 11 tests: rewritten == as written == row oracle over 400 generated descriptions × 5 measures.
Expand Down
8 changes: 7 additions & 1 deletion .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ Plan: `.claude/plans/relalg-v1.md`. Crate: `crates/lance-graph-relalg` (own work

| D-id | scope | status | gate / falsifier |
|---|---|---|---|
| **D-HOLO-H1** | K-branch evaluation of a coordinate-aligned Boolean constraint (plan `d-holo-address-indexed-algebra-v1`) | Measured 2026-10-14: MIXED, C flat in K; beats gate-once only with row-stored coverage and a narrow gate | == row oracle; total cost at K = 64 ≤ 2× K = 1 and ≤ 0.5× best baseline |
| **D-HOLO-H5** | Coordinate-native vs coordinate-crossing: prefix count, perspectives, reverse `memberOf` with inverse build/update cost | Measured 2026-10-14, corrected after review: Q1 CONFIRMED at N = 100 (31–37×), FAILS at N = 1 (1.3–1.4×, the occupancy build dominates); Q2 passes only with row words stored; plane inverse refuted on Q3b (break-even > 1,000) | == row oracle; Range ≥ 5× sweep; break-even N reported; permuted-tile run disagrees |
| **D-HOLO-H6** | Closure of address restrictions as interval sets vs masks vs value sweep | Measured 2026-10-14: HOLDS; symbolic cheapest in all 24 cells | == row oracle; symbolic cost flat in area, linear in interval count |
| **D-HOLO-H6b** | Product normal form vs Morton intervals vs dense mask vs hybrid on the Context × Operation reading of the `u8:u8` tile; construction, normalization, ∩/∪/¬, emptiness, equality, bytes, reuse at N = 1..1,000 | Queued (pre-registered, not run) | == row oracle; structured patterns ≤ 0.5× dense at N = 100; hybrid ≤ 1.25× dense on adversarial patterns |
| **D-HOLO-H8** | One formula in three domains: logical algebra, physical realization and semantic leakage compared separately | Queued (pre-registered, not run) | no semantic leakage; families grow only with representation and value algebra |
| **D-HOLO-H9** | Relational emptiness decided symbolically (empty operand, disjoint domains, contradictory constraints) vs by fold | Queued (pre-registered, not run) | zero false empties; fraction decided symbolically reported |
| **D-RA-1** | `Rel` + `normalize` + `symbolic` + R2IL lowering | Shipped #1546 `c21bd165` (11 tests, 11 disable runs red; four comparisons on one lane 8 → 2 ops; 70/2,000 small descriptions refused as written, all run rewritten) | == row oracle over 400 generated descriptions × 5 measures |
| **D-RA-2** | Rules into the contract set IR (D-CMR-1/-6); relalg keeps only lowering or is deleted | Queued (maintainer decision) | relalg tests pass unchanged against the contract IR |
| **D-RA-3** | Datalog rules as algebra values; names are labels resolved through the label codebook, never strings in a rule | Queued (after D-RA-2) | codebook-built rules == hand-written `Rel`; unknown label refused at resolution |
Expand Down Expand Up @@ -104,7 +110,7 @@ Plan: `.claude/plans/nal-polyfill-v1.md`. Template: D-SQLP. No opcode, tenant or
| **D-NALP-1** | Statement layout + declared ClassView reading; additive `WideFieldMask` projection path on `ClassView`; binder's mask; term width decision | Partial: #1525 merged `08635ed` (NodeGuid reading `nal-statement-v1`, term width u16, aperture selection); ClassView wide projection and binder mask Queued | only the mask's lanes are read; undeclared reading and masked-out field refuse; Small = Wide answers |
| **D-NALP-2** | Query procedures: select, truth threshold, choice by confidence, support count | Shipped #1525 `08635ed` (`crates/lance-graph-nal`: NodeGuid key, byte apertures; 7 oracle tests, 7 disable runs red; 19–248 ns at 1,048,576 rows); support count and argmax not built | equal to a row-at-a-time oracle; one-pattern threshold disable red; no new opcode |
| **D-NALP-3** | Revision as `GroupCrossPowerSumsI32` over stored `w`/`f` | Shipped #1538 `4ceaab3` (`nal::Revision`, key = evidence class from the stamps; refuses overlap and missing provenance; 11 tests, 7 disable runs red; ONA's mid-fold saturation is a documented divergence, the fold keeps the exact sum) | equal to exact integer revision; OpenNARS revision points; duplicate evidence counts once |
| **D-NALP-4** | Per-row truth law into a lane: `MapPairU8` vs fixed-point multiply-high | Partial, in PR: the exact scalar law for deduction / induction / abduction is `causal_edge::isa::truth::code`, packed by `execute` and `syllogize` (0 of 2³² rows off the oracle; harvested from draft #1544); whether a lane terminal is still needed is open (entry `2026-10-14-isa-truth-exact-codes.md`) | insufficiency proof; per-row parity with `isa::truth`, error in codes; one shape also serves SQL nullable arithmetic |
| **D-NALP-4** | Per-row truth law into a lane: `MapPairU8` vs fixed-point multiply-high | Partial, shipped (#1548 `e7c5f790`): the exact scalar law for deduction / induction / abduction is `causal_edge::isa::truth::code`, packed by `execute` and `syllogize` (0 of 2³² rows off the oracle; harvested from draft #1544); whether a lane terminal is still needed is open (entry `2026-10-14-isa-truth-exact-codes.md`) | insufficiency proof; per-row parity with `isa::truth`, error in codes; one shape also serves SQL nullable arithmetic |
| **D-NALP-5** | Deduction / induction / abduction / analogy over populations | Queued (after D-NALP-4) | equals pairwise scalar rule; abduction direction test red for the reversed statement |
| **D-NALP-6** | `lance-graph-nal`: typed `nal::{Operation}` surface (`NalOp`), parser (tokens only), binder over the reverse label index, `NAL::narsese()`, typed refusals | Queued | text and typed calls give byte-identical `Program`s; no string in the plan, rows or wire; ambiguous / unknown label refuses; lowers from the bound plan; no fallback; no `Program` outside procedures |
| **D-NALP-7** | Oracle parity on NAL-1/2 fixtures vs pinned OpenNARS, `jc::reliability` | Queued | within D-HL-4 tolerance per rule |
Expand Down
30 changes: 30 additions & 0 deletions .claude/board/entries/2026-10-14-d-holo-falsifiers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# 2026-10-14 — D-HOLO falsifiers H1, H5, H6 (measured)

**Status:** MEASURED (v4, avx512f). Plan `.claude/plans/d-holo-address-indexed-algebra-v1.md`,
§ Results (2026-10-14). Probes: `crates/lance-graph-mask-risc/examples/holo_{k_branch,coord,interval}_probe.rs`.

**Outcome:**
- **H1 (K branches): MIXED.** The bit-parallel arm over per-row words is flat in K (0.84–1.47×
from K = 1 to 64). With 100-query amortization at s = 10 % it beats gate-once-then-AND only on
the 4,096-row aperture (4.8 vs 31.0 µs); on the full tile gate-once is as fast (71.2 vs 71.7 µs).
The verdict depends on storing coverage by row: with per-thought planes stored, gate-once wins
every reference cell.
- **Correction after review (`30fb38dd`):** H5 charged no input construction and both probes
recognised lowerings inside the timed path. Re-run: H5 Q1 holds at N = 100 (31–37×) but fails at
N = 1 (1.3–1.4×), because building the occupancy plane (about 110 µs) dominates both arms; Q2's
1 ns holds only with row words stored. H1's verdict is unchanged. Details: plan § Results,
corrected after review.
- **H5 (native vs crossing), as first measured: CONFIRMED.** A prefix `Range` reads exactly the prefix's occupancy
words and is 292–573× faster than a key sweep; a permuted key lane makes it disagree with the
oracle, so it needs a layout-order witness. A row popcount answers all 64 perspectives in 1 ns.
Reverse `memberOf` costs the aperture's rows without a seal-time inverse. The per-group plane
inverse does not pay back on prefix-restricted queries within 1,000 queries (1,114–1,740); CSR
does (≤ 546), at 6–13 µs per inserted edge.
- **H6 (closure): HOLDS.** Formulas over Morton boxes and prefixes stay interval sets under ∩, ∪
and ¬, match the oracle, cost the same as box area grows 256× at a fixed interval count, and were
cheaper than full-tile masks and value sweeps in all 24 cells. Quack's `fold_ranges` already
covers the ∩-of-ranges case.

**OPEN:** the stored orientation of thought coverage; a vectorized positional popcount; a single
multi-interval `Range` write (not built, no new op added); external baselines (DuckDB,
differential dataflow, TACO).
2 changes: 1 addition & 1 deletion .claude/board/entries/2026-10-14-isa-truth-exact-codes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 2026-10-14 — Exact truth codes in `causal_edge::isa::truth` (D-NALP-4 harvest)

**Status:** IN PR (branch `ccr-9f3b8075-74u47l-truth-exact`). Harvested from
**Status:** MERGED (#1548, `e7c5f790`). Harvested from
the draft #1544, which stays open as a reminder and is not merged.

**DECISION:** the exact per-row truth law lives where NARS truth already
Expand Down
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,13 @@ 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.

328 entries, 2026-08-06 .. 2026-10-14.
329 entries, 2026-08-06 .. 2026-10-14.

| date | entry id | finding | file |
|---|---|---|---|
| 2026-10-14 | `revision-layer-invariants` | | [2026-10-14-revision-layer-invariants.md](2026-10-14-revision-layer-invariants.md) |
| 2026-10-14 | `D-NALP-4` | | [2026-10-14-isa-truth-exact-codes.md](2026-10-14-isa-truth-exact-codes.md) |
| 2026-10-14 | `D-HOLO` | | [2026-10-14-d-holo-falsifiers.md](2026-10-14-d-holo-falsifiers.md) |
| 2026-10-13 | `D-PROD-V4` | | [2026-10-13-production-targets-v4.md](2026-10-13-production-targets-v4.md) |
| 2026-10-12 | `D-SAG-1` | | [2026-10-12-software-awareness-graph.md](2026-10-12-software-awareness-graph.md) |
| 2026-10-12 | `D-CMR-RESET` | method layer was a second algebra beside the folds and slower than a row loop (430–480 µs vs 283 µs); moved to backup, rebuild as bindings over existing folds | [2026-10-12-session-reset-inventory.md](2026-10-12-session-reset-inventory.md) |
Expand Down
Loading
Loading