diff --git a/.claude/board/LATEST_STATE.md b/.claude/board/LATEST_STATE.md index ba21703b1..9be0de24d 100644 --- a/.claude/board/LATEST_STATE.md +++ b/.claude/board/LATEST_STATE.md @@ -1,3 +1,10 @@ +## 2026-10-07 — lance-graph #1391 MERGED; D-PEARL-PROD-0 shipped + +- #1391 (`53212db`): Pearl's ladder in production (`lance_graph_planner::pearl::{reason, revise, hydrate}`; `revise(&Measured, Reading)` writes back only to the measured edge). Supersedes the "on branch, unmerged" line in the section below. +- Contract delta, now on main: `certification` (`CertificationModel` / `ModelBuilder` generic over `PopulationMask`) and `dismech_evidence::{DISMECH_CONCEPT_ID, citation_quorum, CitationQuorum}` (listed under the section below). +- Planner: `chain_replay`, `chain_counterfactual` (renamed from `dismech_*`, deprecated aliases kept) and `chain_admission` (palette resolved by the classid's concept half). +- Open: no runtime producer of sealed evidence; demotion policy; what counts as a distinct source; the W2b field map. + ## 2026-10-07 — lance-graph #1387 and #1390 MERGED; D-PEARL-PROD-0 on branch - #1387 (`e6612dc`): D-PUZZLE-0 step 3, crossword mask propagation (four arms, cui-bono ablation). #1390 (`6368d8c`): D-PEARL-IO-0 probe, the CE64 upper-half diagram and its comparison page, README picture. No contract change in either. diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index 602a0ba96..0ee68eafd 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -1,3 +1,17 @@ +## 2026-10-07 — lance-graph PR #1393 (merged `69e661a`, branch `codex/ce64-semantic-upper-half-probe`, head `6c98015`, 6 commits) — D-CE64-SEM-0: a probe-local semantic reading of the CE64 upper half + +- **Added:** test-only readings in `pearl_ladder_probe.rs`: bits 46..49 as a signed reaction activation, 50..52 as novelty (`ceil(log2)` of the surviving `EpistemicState5` population; `None` when no state survives), 53..58 as a belief-update breadcrumb. Tests ported onto `planner::pearl` after #1391. +- **Locked (test-pinned):** 4 example tests: breadcrumb advances only on an Epi5 change, opposite activation signs from one operator, novelty widths 5/2/2/0 plus the contradiction case, direction does not select the operator. +- **Deferred / open (review findings, PR comment):** each reading reuses bits that already mean something in code: 46..49 is the inference type (activation ±6 aliases Intervention/Counterfactual), 50..52 is plasticity (`network.rs` filters on it), 53..58 is the witness handle (#1371). The tests sit in a `with-planner` example, which CI does not run. +- **Confidence:** the readings are a candidate only; no layout or accessor changed. + +## 2026-10-07 — lance-graph PR #1391 (merged `53212db`, branch `claude/epistemicstate5-ce64-bits-3oe0dq`, head `9289c46`, 6 commits) — D-PEARL-PROD-0: Pearl's ladder in production, generic over population width, admission keyed by classid + +- **Added:** `contract::certification` (`CertificationModel`, `ModelBuilder`, `PopulationMask`: generic over `u64` / `[u64; N]`); `planner::pearl` (`reason`, `revise(&Measured, Reading)`, `hydrate`); `planner::chain_replay`, `chain_counterfactual` (renamed from `dismech_*`, deprecated aliases kept) and `chain_admission` (palette resolved by the classid's concept half); `contract::dismech_evidence::{DISMECH_CONCEPT_ID, citation_quorum}`. +- **Locked (test-pinned):** the 14 Pearl falsifiers now run in CI in the planner suite; width-equivalence and past-the-first-word tests; classid routing; citation dedup / abstention / two-sided; review fixes (measurement bound to its edge, ungrounded SO, hydrate checks its own path, `Inert` reachable). Each with a disable run. +- **Deferred / open:** no runtime producer of sealed evidence; demotion policy; what counts as a distinct source; the W2b field map. +- **Confidence:** high for the rules as pinned; the counterfactual fixture is one measured chain and never reaches `Inert`. + ## 2026-10-07 — lance-graph PR #1390 (merged `6368d8c`, branch `claude/epistemicstate5-ce64-bits-3oe0dq`, head `fec0613`, 5 commits) — D-PEARL-IO-0: Pearl's ladder executed in and out of CausalEdge64 - **Added:** `pearl_ladder_probe.rs` (bits 40..42 select an operator; the measurement revises bits 59..63); P7a model moved to `examples/shared/certification_model.rs`; `docs/architecture/ce64-semantic-upper-half.md` + diagram; README picture. diff --git a/.claude/board/STATUS_BOARD.md b/.claude/board/STATUS_BOARD.md index 953e05b7b..4d3252d6e 100644 --- a/.claude/board/STATUS_BOARD.md +++ b/.claude/board/STATUS_BOARD.md @@ -48,7 +48,7 @@ Plan: `.claude/plans/2026-10-06-global-sudoku-replayable-orchestration-v1.md`. O | **D-EPI-CANON-0** | Canonical joint `EpistemicState5` reading of bits 59..63 in the contract | Shipped (#1381) | `contract::epistemic_state5`: Cartesian `Topology2 × Certification3`, `raw5 = t \| c << 2`, 24 meaningful / 8 reserved; per-factor facts; declarations + `project_state5`; `CausalEdge64::{epistemic_raw5, with_epistemic_raw5}`; non-declared-reading writers deprecated | | **D-EPI-POP-0** | Facts → 32-state population: the missing operator between one edge's coordinate (u5) and a semantic condition over all coordinates (u32) | Shipped (#1381) | `contract::epistemic_state5::{Population, facts_population, EpistemicState5::bit}`: `const fn`, no DSL / query object / planner. Tests pin exact sets (`CAUSES` = {20..23}, `IND_UNKNOWN \| RELATED` = {10,14,18,22}, `IND_KNOWN \| SUPPORTS` = {13,17,21}, `RELATED` = 8..23), operator == state enumeration over all 2048 requirements with no reserved code, conjunction == intersection; 2 disable runs red (any-of semantics; reserved read as fact-less) | | **D-EPI-LEGACY-DEPROJECT-0** | Deproject the remaining `ReasoningBand` / CE64-`TrustTexture` consumers: each goes to an exact coordinate, a `facts_population(..)`, MUL, or another subsystem (e.g. counterfactual context) — never a 1:1 replacement enum | Shipped (#1381) | `entries/2026-10-07-epi-legacy-deprojection.md`: 6 ReasoningBand caller sites (1 certification question, 1 non-interference witness → both exact coordinates; 2 context/obsolete → compat; 2 refusal witnesses), 0 production CE64 `TrustTexture` consumers, 4 `TrustTexture` types with no bridge; `EdgeRole::band` removed; hinge + V3 lift migrated; 4 code loops → `facts_population` | -| **D-PEARL-PROD-0** | Pearl's ladder in production: `lance_graph_planner::pearl::{reason, revise, hydrate}` over `lance_graph_contract::certification` | In PR | the P7a folds become `contract::certification::{CertificationModel, ModelBuilder}`; the dispatch, write-back and topology gate become `planner::pearl`, taking the caller's declared reading. The 14 falsifier tests run in the planner suite (CI); 12 disable runs red against the production module. No runtime caller yet: nothing in production produces sealed populations or chains for it (`entries/2026-10-07-pearl-prod-0-production-wiring.md`) | +| **D-PEARL-PROD-0** | Pearl's ladder in production: `lance_graph_planner::pearl::{reason, revise, hydrate}` over `lance_graph_contract::certification` | Shipped (#1391) | the P7a folds become `contract::certification::{CertificationModel, ModelBuilder}`; the dispatch, write-back and topology gate become `planner::pearl`, taking the caller's declared reading. The 14 falsifier tests run in the planner suite (CI); 12 disable runs red against the production module. No runtime caller yet: nothing in production produces sealed populations or chains for it (`entries/2026-10-07-pearl-prod-0-production-wiring.md`) | | **D-PEARL-IO-0** | Pearl's ladder executed in and out of `CausalEdge64`: bits 40..42 select the operator, the measurement revises bits 59..63 | Shipped (#1390) | `cognitive-shader-driver/examples/pearl_ladder_probe.rs`, `entries/2026-10-07-pearl-io-0-ladder-in-and-out-of-ce64.md`: SO → P7a observational folds, PO → P7a executed arms (only path to `Causes`), SPO → `counterfactual_replay` (reaction, never a certification), SP → SO-vs-PO direction; `hydrate` gates `IndirectUnknown → IndirectKnown` on both bindings. CUI BONO script: `IndirectUnknown × Related` → `IndirectKnown × Related` → `IndirectKnown × Causes`. 14 tests, 12 disable runs red. P7a model moved to `examples/shared/certification_model.rs` unchanged | | **D-PUZZLE-0** | Sudoku / crossword / chess on the same population algebra under domain laws | In progress | step 1 Sudoku shipped (#1382). Step 2 crossword (`crossword_population_fold_probe.rs`, `entries/2026-10-07-puzzle-0-crossword-same-algebra.md`): domain-free half moved to `examples/shared/population_fold.rs` (fence test, Sudoku counts unchanged); 1,000,052 crossword edges, counts equal 3 ways; filter 0.30–0.43 ns/edge in both domains. Step 2b real words (`crossword_real_words_probe.rs`, `entries/2026-10-07-puzzle-0-crossword-real-words.md`): English = DeepNSM v1 4096 + academic_20k (committed), German = DeReKo top 20k only from `DEREKO_PATH` (CC BY-NC, nothing committed); ~1.0M edges each, counts equal 3 ways. Steps 2/2b merged (#1384). Step 3, merged #1387 (`crossword_mask_propagation_probe.rs`, `entries/2026-10-07-puzzle-0-crossword-mask-propagation.md`): Morton cell + `(slot:offset)` lanes, DeepNSM-v2 `WordId` masks, `MooreSymbol8` letters; four arms on identical puzzles (EN 5×5: token 3.0 µs ≈ hybrid 2.9, Cartesian 5.1, literal ~1,045); with no repeated words, creation stops at 5×5 with the 18–20k vocabularies; cui-bono ablation of givens. Next: chess in `stockfish-rs` (GPL) — how it reaches the shared half is open | | **D-EPI-MIG-0** | Migrate readers/writers to the canonical reading; #1378 → conformance | Shipped (#1381) | `entries/2026-10-07-epi-mig-0.md`: affordance law (per-factor compile) + P7a (identity packing) + 6 probes + dismech + V3 lift; conformance census 24/0/8 (was 3/5/16); 3 historical-band probes cannot migrate without invention |