diff --git a/.claude/board/LATEST_STATE.md b/.claude/board/LATEST_STATE.md index 6c04f3329..856029e00 100644 --- a/.claude/board/LATEST_STATE.md +++ b/.claude/board/LATEST_STATE.md @@ -1,4 +1,8 @@ -## 2026-10-16 — D-CGW-1: CE64 bits 43..45 are the orientation (in PR) +## 2026-10-17 — CE64 one layout; Moore tenant as synapse, membrane and local NARS (board, #1595 in PR) + +- Entry `2026-10-17-ce64-one-layout-moore-synapse-membrane.md`: eleven decisions with their basis (CE64 = 64-bit ISA contract in three regions, one layout aligned by migration, Moore reuses it minus what locality answers, the witness is two neighbours agreeing on a membrane, Hebbian wiring = SPOFC evidence with local NARS), the CE64 reader catalog, open items. No code. + +## 2026-10-16 — D-CGW-1: CE64 bits 43..45 are the orientation (#1594, merged `8f50cd9e`) `causal_edge::Orientation` (Core + the seven Haspelmath dative functions) is the one meaning of 43..45; `direction()` → `orientation()`, `pack`/`pack_v2` take it. The S/P/O pathological triad and `detect_simpsons_paradox` are removed (no production writer). Contract `MooreDirection` replaces `DirectionReading`; `lift_ce64` refuses an oriented edge. #1593 merged (`124eb6cf`). Entry `2026-10-16-d-cgw-1-orientation-contract.md`. diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index b2feb2ee2..d40a60197 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -1,3 +1,10 @@ +## 2026-10-17 — lance-graph PR #1594 (merged `8f50cd9e`, branch `ccr-9f3b8075-74u47l-cgw1`, head `0ee072cb`, 10 commits) — D-CGW-1: CE64 bits 43..45 are the orientation + +- **Added:** `causal_edge::Orientation` (Core + seven Haspelmath dative functions) as the one meaning of 43..45; `orientation()` / `set_orientation()`; `pack` / `pack_v2` take an `Orientation`; contract `MooreDirection { slot, polarity }` and `MooreRefusal::Oriented` (`lift_ce64` refuses an oriented edge and writes nothing); `causal-edge/tests/orientation_contract.rs`; ~85 call sites migrated across 8 crates; entry `2026-10-16-d-cgw-1-orientation-contract.md`; arc entry for #1593. +- **Locked:** removed the S/P/O pathological triad, `concern_level` and `CausalNetwork::detect_simpsons_paradox` (no production writer of the triad). +- **Deferred / open:** D-CGW-9 (activation off 46..49), the 50..52 ruling, two edge-facet writers on the 12+4 reading, WordNet G1–G3. +- **Confidence:** orientation_contract 5 tests (red first); moore_tenant h/h2 with a disable run; causal-edge, contract, deepnsm-v2, planner, shader-driver, osint, p64-bridge, thinking-engine tests pass; KJV `bible_wave` exits 0. `intervene_counterfactual` not run locally (disk), left to CI. + ## 2026-10-16 — lance-graph PR #1593 (merged `124eb6cf`, branch `ccr-9f3b8075-74u47l-synergy-1591`, head `526a0bc5`) — synergy map since #1579; config note reword; D-ARG-1..4 queued - **Added:** entry `2026-10-16-synergy-map-since-1579.md` (§1–§9: revision of every base point, CE64 vs identity/edge tenants and the 24×i4 loci, triangle join as presence-plane intersection); `.cargo/config.toml` note on the avx and v2 arms; STATUS rows D-CGW-13/14 and D-ARG-1..4. diff --git a/.claude/board/STATUS_BOARD.md b/.claude/board/STATUS_BOARD.md index 1077ff18d..6df20770c 100644 --- a/.claude/board/STATUS_BOARD.md +++ b/.claude/board/STATUS_BOARD.md @@ -5,7 +5,7 @@ Plan: `.claude/plans/ce64-grammar-wiring-v1.md`. Entry: `entries/2026-10-16-gram | D-id | scope | status | gate / falsifier | |---|---|---|---| | **D-CGW-0** | `deepnsm-v2::wire`: CE64 0..63 from named sources; Gadamer gate before counting; W = Markov arc in `WitnessTable<64>`; activation = update-caused frequency change; 43..45 = Haspelmath function; Antecedent / TEKAMOLO / Quorum / Contradiction loci; qualia register; `wired_reasoning_probe` | In PR | 229 tests; probe 741 rows, 5 rules, 0 violations; disable runs red per entry §7–§11 | -| **D-CGW-1** | one global meaning per CE64 field, held in the `causal-edge` contract (no per-tenant readings; superseded the same day); amend 43..45 to orientation with all triad readers migrated | In PR (branch `ccr-9f3b8075-74u47l-cgw1`): `causal_edge::Orientation` on 43..45, `pack`/`pack_v2` take it, the S/P/O triad removed (no production writer), Moore `lift_ce64` refuses an oriented edge; entry `2026-10-16-d-cgw-1-orientation-contract.md`. 46..49 (D-CGW-9) and 50..52 still open | one code table shared by accessor, writer and readers; field isolation 43..49. **Gate:** wire edges stay in the probe until this lands | +| **D-CGW-1** | one global meaning per CE64 field, held in the `causal-edge` contract (no per-tenant readings; superseded the same day); amend 43..45 to orientation with all triad readers migrated | Shipped (#1594, `8f50cd9e`): `causal_edge::Orientation` on 43..45, `pack`/`pack_v2` take it, the S/P/O triad removed (no production writer), Moore `lift_ce64` refuses an oriented edge; entry `2026-10-16-d-cgw-1-orientation-contract.md`. 46..49 (D-CGW-9) and 50..52 still open | one code table shared by accessor, writer and readers; field isolation 43..49. **Gate:** wire edges stay in the probe until this lands | | **D-CGW-2** | frequency-ranked default reading (COCA, DeReKo) + antecedent-tested promotion of the alternative (relative pronoun) with agreement | Queued | `der Mann, der …` promoted; `der Mann gab der Frau …` silent; English `that` promoted without a COCA Rel tag | | **D-CGW-3** | case morphology decides argument order in the parser (`Den Hund biss der Mann`) | Queued | OVS flips, SVO unchanged, syncretic case unresolved; UD German GSD dev measured | | **D-CGW-4** | counterfactual lanes: `CausalCandidate` → `Causes` only with `IncreaseEligible` ∧ `Necessary` | Queued | necessary / dispensable / not-run triple | diff --git a/.claude/board/entries/2026-10-17-ce64-one-layout-moore-synapse-membrane.md b/.claude/board/entries/2026-10-17-ce64-one-layout-moore-synapse-membrane.md new file mode 100644 index 000000000..aea7b2ced --- /dev/null +++ b/.claude/board/entries/2026-10-17-ce64-one-layout-moore-synapse-membrane.md @@ -0,0 +1,102 @@ +# 2026-10-17 — CE64 one layout; the Moore tenant as synapse, membrane and local NARS + +**Status:** DECISIONS recorded from the 2026-10-17 session (user statements quoted as +BASIS). Code changes named here are NOT made; each waits for its own go. +**Touches:** `causal-edge` (`layout.rs`, `isa.rs`, `edge.rs`), +`lance-graph-contract/src/moore_tenant.rs`, `perturbation-sim` (Moore probes), +ndarray `hpc/{causal_diff,p64_bridge,jina/causal,entropy_ladder}.rs`. + +## Decisions (answered; do not re-ask) + +| # | DECISION | BASIS (user, 2026-10-17) | consequence | +|---|---|---|---| +| D1 | CE64 is an ISA contract, a lever read like BF16 mantissa bits; it is not storage and is not written back into | "Causaledge64 is not storage it's the 'TCP IP' ISA contract for AGI, a contract lever"; "Akin to BF16 mantissa bits" | no "result lands in 59..63" designs; no retiring of contract bits as storage | +| D2 | CE64 stays 64 bits; no CE128 | user asked "Would it improve anything to switch to causaledge128 or would it dillute the mantissa reading as a wire format"; the session answered stay at 64 and the user did not reopen it | widening would dilute the mantissa reading of the wire | +| D3 | There is ONE CE64 layout. Align every reader on it, migrate, catalog. No renames | "There is no other layouts / We just need to aligh on one / And migrate and catalog"; "Don't rename, use what exists and harden the bit layout to be canonical" | ndarray's three divergent layouts are migration targets, not alternatives | +| D4 | The layout is three regions: bits 0..23 S/P/O payload (read as palette256 codes or as an ISA register), bits 24..39 F/C (palette256 or ISA register), bits 40..63 a 24-bit fixed contract with one meaning for every reader | "causaledge64 is 24 bit spo payload that can be read either as palette256 or ISA register / And FC that can be read either as palette256 or ISA register / And 24 bit fixed contract" | `causal_edge::layout` v2 is the canon; domains choose only what payload palette codes mean | +| D5 | NARS16x8 / the Moore tenant reuses the same layout and omits the bits locality already answers | "NARS16X8 reuses it for Moore tenant / By omitting 8 Bits when locality already answers the 8 Bits" | `MooreNars16` = contract 24 − orientation 3 (43..45) − W 6 + polarity 1 = 16 bits (`moore_tenant.rs:107-219` on main at 124eb6cf). Since D-CGW-1 (#1594) 43..45 is `Orientation`; the Moore reading takes `Core` only and refuses an oriented edge (`MooreRefusal::Oriented`), its direction being `MooreDirection { slot, polarity }` | +| D6 | The Moore witness is Cartesian addressing: a lane's partner is the neighbour's own Moore tenant at the opposite slot, found by coordinate, never stored | "In NARS16 the Moore tenant connects with the Moore tenant of the neighbors / So the witness is Cartesian addressing" | the module header's "one witness covers all eight lanes, held by the owner" and `lift_ce64`'s `MixedWitness` refusal encode the superseded reading | +| D7 | The unit of Moore reasoning is the membrane: two neighbours agreeing on their shared boundary. Agreement IS the witness | "2 neighbors agreeing on a cognitive membrane" | a cell has 4 membrane orientations (8 slots / 2); agreement is a side-by-side compare of a plane with its shifted plane (the pair sits at one coordinate; no gather) | +| D8 | Purpose: local reasoning akin to synapses, with excitation and inhibition | "The whole point of Moore tenant+ NARS16x8 is locality reasoning Akin to synapses and exhibition inhibition" | cell = neuron, lane = synapse, slot = which neighbour, polarity = which end | +| D9 | Goal: a cheap local perturbation field with cross-node, Bayesian and Hebbian learning | "We want local cheap pertubationsfeld cross node learning Bayesian learning hebbian learning etc" | builds on `perturbation-sim` D-MOORE-PERT-AB-0 (#1427) and D-MOORE-OBSERVABLE-FIRST-0 | +| D10 | Hebbian wiring IS SPOFC with local NARS reasoning: what fires together wires together as evidence | "The idea is that what fires together wires together SPOFC adding NARS reasoning locally" | co-firing = positive evidence, a lone firing = negative evidence (inhibition on the F side); strength is NAL truth `f = w⁺/w`, `c = w/(w+1)`, updated by `isa::truth::revision` | +| D11 | Simpson's paradox is what SPOFC suffers under naive NARS accumulation; the architecture prevents it by SPOFC per SoA SPO, fine identity splitting and CE64, with 59..63 and revision as the backstop | "The Simpsons paradox is what spoFC suffers if you accumulate it as NARS usually does, we put it in every SoA SPO and differentiate a lot not to mention CE64 / so it can't dillute or spill and if it does we have 59..63 and revision" | on the Moore lattice, evidence crosses only an agreed membrane; the 8 synapses are never pooled blind. P-pool test on branch `ccr-9f3b8075-74u47l-simpson-coresearch` (`simpson_revision_pooling.rs`) pins the naive case | + +## WORKING-MODEL (follows from the decisions; not yet confirmed or built) + +- **SPOFC per synapse fills the three Moore tenants.** Per lane: + `MoorePalettePairs` (u8:u8) = P and O palette codes; `Nars16x8` (u8:u8) = F and C; + `MooreNars16` = the contract part; locality answers S (the centre cell), the direction (the + slot, 3 bits of orientation) and W (the membrane, 6). The 48 stored bits are 47 CE64 + bits plus the Moore-local polarity bit, which has no CE64 home; locality answers 17 + (S 8 + orientation 3 + W 6). 47 + 17 = 64, a full CE64 per synapse. + This would give the CANDIDATE `Nars16x8` (`moore_tenant.rs:8`) its reading. +- **Local NARS is triangle closure inside the 3×3 neighbourhood.** Deduction A→B, B→C + gives A→C when `offset(s)+offset(t)` is a Moore offset; induction/abduction over a + shared neighbour. The valid `(s,t)→u` compositions are a fixed compile-time table; + each is a shifted-plane operation. +- **PLAST (50..52) is consolidation, the weight is the F/C evidence.** Refines (does not + contradict) the canon row E-BASIN-NOT-EDGE-PLASTICITY: the Hebbian state stays on the + per-edge register, never basin-level. + +## CE64 reader catalog (migration targets under D3/D4) + +| site | reads CE64 as | migration | +|---|---|---| +| `causal_edge::layout` + `isa::Field` | v2, three regions | canonical; none | +| contract `MooreNars16` | contract minus locality-answered bits | catalog only (D5) | +| `causal-edge/src/edge.rs:139-151` header + v1 consts 183-199 | v1 (temporal at 52..63) | mark V1-legacy, point at `layout` | +| ndarray `hpc/causal_diff.rs` `CausalEdge64` | own split (block/projection/verb/row/l1/f10/c10) | block/projection/verb → S/P/O palette codes; f/c → u8 F/C; row, L1 stay in `WeightEdge`; upper 24 bits contract default | +| ndarray `p64_bridge::causal_edge_compat` | SRC 58 / TGT 52 / FREQ 44 / CONF 36 / LAYER 33; doc falsely claims compatibility | read v2 regions | +| ndarray `jina/causal.rs` `pack_edge` | v1 (temporal 12 at 52) | v2 contract | +| ndarray `entropy_ladder` | "spare bits [63:61]" (now Epi5 certification) | move off contract bits | +| ndarray `ogit_bridge/.../CognitiveCell.ttl` | "per causal_diff.rs" | point at `causal_edge::layout` | +| lance-graph (new) | — | test pinning ndarray's v2 constants against `causal_edge::layout` | + +Not CE64, out of scope: holograph `pack_edge`, contract `dawg::pack_edge`, ogar-obo +`pack_edges`, `CausalEdgeV3`. + +## Also decided 2026-10-15/16, not yet on the board elsewhere + +| # | DECISION | BASIS (user) | consequence | +|---|---|---|---| +| D12 | SPOFC's 8-bit fields work like gas, gear and shift: granular enough to single out one thing in one cohort and one concept; once singled out, the other bits carry it as a fact, otherwise it goes to revision | 2026-10-17: "The 8 bit of spoFC can be used like gas and gear and shift in a car / It's granular enough to detect one thing in one cohort and one concept, which then needs to be carried by the other bits as a fact and otherwise revision" | the payload regions are a control surface, not a precision limit; identity splitting (D11) is what keeps a u8 F/C meaningful | +| D13 | Hyperon atoms extract into classes and SoA: a class is head + arity + position shapes, its ClassView is its positions, one plane per position, row = instance. The IR (classes, positions, layout) stays separate from the masking algebra, which runs over planes at coordinates and never sees atoms, symbols or shapes. Datalog holds the abstraction; NAL, ONA and relalg are the reusable reasoning parts | 2026-10-16: "So an atom is basically the an array of structs?"; "Shouldn't it be easy to extract classes and SoA"; "And separate IR from masking algebra"; "We have datalog for the Abstraktion"; "And we have reusable nal ONA relalg etc" | D-ASM work lowers atoms to class planes first; no atom or symbol type enters mask-risc | +| D14 | The edge facet exists to free edges from identity: a 6-tier HHTL path is too tight to spend on edges, which is why edges were rarely used; the 16-nibble DN identity plus a 16-slot edge facet (2×16, the existing 128-bit format) makes edge use independent of identity | 2026-10-16: "reason being is that 6 HHTL depth is extremely tight"; "and we hardly use edged because of that"; "2x 16 makes usage of edges independent of identity"; "we already introduced that format as an 128 optin / its already wired" | mechanism recorded in `2026-10-16-d-cgw-1-orientation-contract.md` (Decided 2026-10-16); this row keeps the reason | +| D15 | The givens layer (thought layer 0, written only by hydration) is also the global reference lane, held behind a `LazyLock`, for later reference operations | 2026-10-15: "How about we use the first empty thought / For hydrate.rs and use that lane as a global lazylock variable for further reference operations" | layer 0 is recorded in `.claude/plans/ce64-hypothesis-layers-v1.md` (lines 688–701); the `LazyLock` reference lane is the part not yet written down | + +## OPEN + +- Remove `MixedWitness` from `lift_ce64` and reword the module header (D6), or keep + CE64 W as the corpus root that Moore never reads. Waits for a go. +- `Nars16x8` = F:C per lane: confirm and ratify (contract PR). +- What counts as "fired" per cell per step (the perturbation field crossing a + threshold?). +- Evidence stamp per membrane hop so loops and triangle deduction do not double count; + where its bits live. +- Hebbian saturation: inhibition on disagreement plus a decay rate (policy pin until + measured). +- Palette index range in `causal_edge_compat` (6-bit `Palette64` vs palette256 codes). +- PAL8 version gate when `causal_diff` moves to v2. +- `moore_nars16_probe` / `moore_plasticity_probe` (PR #1406) not yet read; read before + the learning probe. +- `ndarray::ce64::*` (2026-10-17: "Later on when accepting as a wire format / Would + that open a door? / ndarray::ce64::*"): unanswered. If the layout becomes a wire + format shared with ndarray readers, does the canonical register live in ndarray + (hardware tier, beside the SIMD it runs on) with `causal_edge::layout` re-exporting + it, or stay in `causal-edge`? Today ndarray carries three divergent layouts and + `causal-edge` the canon; the conformance test in the catalog above comes first + either way. +- Ontology bridge, marked for later review (2026-10-16: "also mark the ontology + bridge for later review if the bindignspace dto quack thing can improve the old + hash to lance approach"): `lance-graph-ontology` and + `.claude/plans/sql-spo-ontology-bridge-v1.md` predate the BindSpace DTO / Quack + path; review whether their hash-to-Lance mapping can move onto it. +- Simpson co-research (task #76): the map + `2026-10-17-coresearch-simpson-epistemic.md` and the P-pool test + (`lance-graph-planner/tests/simpson_revision_pooling.rs`) sit on branch + `ccr-9f3b8075-74u47l-simpson-coresearch`, not on main; the map still needs the + rows the architecture already covers marked as such (D11). +- Promotion path: `EPIPHANIES.md` is generated from `epiphanies-canon.json`, whose row + sources must resolve to archive lines, so a post-baseline Eureka has no route into the + projection today. These decisions live here until that path exists. diff --git a/.claude/board/entries/README.md b/.claude/board/entries/README.md index c43e8da0d..52cd24fd3 100644 --- a/.claude/board/entries/README.md +++ b/.claude/board/entries/README.md @@ -25,10 +25,11 @@ 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. -363 entries, 2026-08-06 .. 2026-10-16. +364 entries, 2026-08-06 .. 2026-10-17. | date | entry id | finding | file | |---|---|---|---| +| 2026-10-17 | `ce64-one-layout-moore-synapse-membrane` | | [2026-10-17-ce64-one-layout-moore-synapse-membrane.md](2026-10-17-ce64-one-layout-moore-synapse-membrane.md) | | 2026-10-16 | `wcoj-probes-1-3` | | [2026-10-16-wcoj-probes-1-3.md](2026-10-16-wcoj-probes-1-3.md) | | 2026-10-16 | `wcoj-closing-atoms-council` | | [2026-10-16-wcoj-closing-atoms-council.md](2026-10-16-wcoj-closing-atoms-council.md) | | 2026-10-16 | `synergy-map-since-1579` | | [2026-10-16-synergy-map-since-1579.md](2026-10-16-synergy-map-since-1579.md) |