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
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-16 — D-CGW-1: CE64 bits 43..45 are the orientation (in PR)

`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`.

## 2026-10-16 — synergy map since #1579 (entry `2026-10-16-synergy-map-since-1579.md`, in PR)

- Revises every point of the #1579 map against merges #1580–#1591. D2 (preimage op) closed as a violation; L6 closed (#1544 closed); X17 and D8 partly closed by #1582. Decisions recorded: 43..45 amended to orientation in the contract, activation becomes a row field, OpenPSI modulators only into qualia.
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-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.
- **Locked:** none (board and a config comment).
- **Deferred / open:** D-CGW-1 (in PR after this), D-CGW-9, D-CGW-14, D-ARG-1..4.
- **Confidence:** board-index checks green; Codex P2 (contract migration presented as done) fixed in `b6f3f40a`.

## 2026-10-16 — lance-graph PR #1591 (merged `e53f2325`, branch `ccr-9f3b8075-74u47l-ce64-grammar-wiring`, head `cd1b1b3c`, 24 commits incl. a merge of main) — deepnsm-v2 wire: every CE64 field of a parsed triple from its source, Gadamer gate first; plan D-CGW-0..14

- **Added:** `deepnsm_v2::wire` (verses → rows: F/C from the arm, Pearl from TEKAMOLO, 43..45 = Haspelmath dative function, W = the statement's Markov arc in `WitnessTable<64>`, epistemic state from the support balance, loci Antecedent / TEKAMOLO / Quorum / Contradiction); the Gadamer gate (`contract::revision`) admits before anything is counted; `DativeFunction::ALL`; `causal-edge` `activation` / `novelty_wisdom` accessors; probe `lance-graph-quack/examples/wired_reasoning_probe.rs` (741 rows, 0 rule violations); plan `ce64-grammar-wiring-v1.md`; entry `2026-10-16-grammar-coordinates-annotation-wiring.md` §10–11.
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 @@ -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 | Queued — approved 2026-10-16 as its own test-first PR (readers census: synergy map since #1579 §4 S8; also `syllogize`/`execute`, ledger N1) | 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 | 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-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 |
Expand Down Expand Up @@ -94,7 +94,7 @@ Council 2026-10-16: `metta-datalog-assimilation-v1-council-v3.md` is the ratifie
| **D-ASM-8** | `learn`-shaped measures (marginals, MI/PMI, cosine, Jaccard) as a reading of pair counts in `lance-graph-arm-discovery`; counts from D-ASM-3, never a loop; no `lance-graph-learn` crate (entry `2026-10-16-asm-accepted-proposals.md`) | Queued (not authorized; gated on D-ASM-3) | measures == an oracle run of upstream `learn` on one corpus; `(opencog matrix)` definitions sourced first |
| **D-ASM-9** | `lance-graph-das` attention-broker probe: `w = edge.count / node.count`, rent, spread over the D-ASM-2 hop | Queued (not authorized; gated on D-ASM-2; crate not created) | attention values == DAS broker on one fixture; crate created only when the probe runs |
| **D-ASM-10** | MORK as fourth oracle (Hyperon · PeTTa · datafrog · MORK), built as a separate binary outside the workspace, results only | Queued (not authorized) | MORK answers recorded beside the other three, divergences recorded, never averaged |
| **D-ASM-11** | **⛔ VIOLATION — GATHER. DO NOT BUILD. CORRECT: D-HOLO-H14c / H14d.** Leapfrog probe on a cyclic 3-way join, split into Q-E (exact existence mask where the semijoin chain over-approximates) and Q-A (binding enumeration emitting keyed counts, D-ASM-3's missing carrier), written from the paper (Veldhuizen, *Leapfrog Triejoin*, arXiv 1210.0481v5, ICDT '14); the zipper shape is the probe's question, not a premise — arm A: leapfrog triejoin over the existing sealed ordered lanes, with aperture depth as `open`/`up` and a galloping `seek` from the cursor (the paper's amortized O(1 + log(N/m)); today's `bound_aperture` is a fresh `partition_point`); cleanest, already integrated; arm B: leapfrog triejoin over a prefix-shared trie zipper (PathMap-like), studied as prior art to learn from (worst-case optimal on cyclic joins, which a semijoin chain is not); the arm that wins on cost per element and integration is adopted, and what B teaches (variable order, prefix sharing, seek pattern) is carried into A either way | Queued (not authorized; gated on D-ASM-2). Pre-work in #1587: F4 fixture, bag oracle, `seek_from` (P-1), GYO (P-3), P-7 insufficiency shown (entry `2026-10-16-wcoj-probes-1-3.md`); closing atoms split into D-ASM-11A/B | Q-E: mask == datafrog's SET of head rows; Q-A: == datafrog as a BAG; per-element cost on the v4 arm only; margin and lessons pre-registered before the run; findings from B recorded even when A wins |
| **D-ASM-11** | **⛔ VIOLATION — GATHER. DO NOT BUILD. CORRECT: D-HOLO-H14c / H14d.** Leapfrog probe on a cyclic 3-way join, split into Q-E (exact existence mask where the semijoin chain over-approximates) and Q-A (binding enumeration emitting keyed counts, D-ASM-3's missing carrier), written from the paper (Veldhuizen, *Leapfrog Triejoin*, arXiv 1210.0481v5, ICDT '14); the zipper shape is the probe's question, not a premise — arm A: leapfrog triejoin over the existing sealed ordered lanes, with aperture depth as `open`/`up` and a galloping `seek` from the cursor (the paper's amortized O(1 + log(N/m)); today's `bound_aperture` is a fresh `partition_point`); cleanest, already integrated; arm B: leapfrog triejoin over a prefix-shared trie zipper (PathMap-like), studied as prior art to learn from (worst-case optimal on cyclic joins, which a semijoin chain is not); the arm that wins on cost per element and integration is adopted, and what B teaches (variable order, prefix sharing, seek pattern) is carried into A either way | Queued (not authorized; gated on D-ASM-2). 2026-10-16: arm B is a lanewise span fold over the WordNet DN lanes (each `is_a` level an ordered lane, seek = span), gated on range-as-span (lane-fold capstone point 4); an element-wise zip and a cyclic n-hop stay refused residuals. Pre-work in #1587: F4 fixture, bag oracle, `seek_from` (P-1), GYO (P-3), P-7 insufficiency shown (entry `2026-10-16-wcoj-probes-1-3.md`); closing atoms split into D-ASM-11A/B | Q-E: mask == datafrog's SET of head rows; Q-A: == datafrog as a BAG; per-element cost on the v4 arm only; margin and lessons pre-registered before the run; findings from B recorded even when A wins |
| **D-ASM-11A** | **⛔ VIOLATION — GATHER. DO NOT BUILD. CORRECT: D-HOLO-H14c / H14d.** Closing atom for functional relations: `Pred::EqU32ViaLane` + ndarray `eq_u32_via_lane_to_mask` (spec `.claude/plans/wcoj-closing-atoms-v1.md` §2) | Spec ratified 2026-10-16; authorized 2026-10-16 (ungated from D-ASM-2); ndarray #364 closed unmerged 2026-10-16 | G1 exact mask == datafrog; G2 op count fixed and < the disjunction; G5-A disables |
| **D-ASM-11B** | **⛔ VIOLATION — GATHER. DO NOT BUILD. CORRECT: D-HOLO-H14c / H14d.** Closing atom for n:m relations: `MaskOp::RunsMeet` (gated, beside `Gather`) + ndarray `runs_meet_under_to_mask` + lgj-abi status arm (spec §3) | Spec ratified 2026-10-16; authorized 2026-10-16, after D-ASM-11A | G0 fixtures; G3 edge oracle + projection; G4 elements-touched slope 1.5 ± 0.1; G5-B disables |
| **D-ASM-12** | `lance-graph-cog`: deterministic content → NodeGuid atom address, shared by the D-ASM-1b binder and the `atomspace-lance` StorageNode adapter (which calls it); replaces the Rocks `n@`/`l@`/`a@`/`h@` indexes | Queued (not authorized; crate not created) | same content → same address from both callers; no string or hash index reachable from a row; adapter carries no layout of its own |
Expand Down
89 changes: 89 additions & 0 deletions .claude/board/entries/2026-10-16-d-cgw-1-orientation-contract.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# 2026-10-16 — D-CGW-1: CE64 bits 43..45 are the orientation

**Status:** SHIPPED IN PR (branch ccr-9f3b8075-74u47l-cgw1).

## What changed

- New `causal_edge::orientation::Orientation` (`crates/causal-edge/src/orientation.rs`):
a 3-bit code. `Core` = 0, then Direction, Recipient, Experiencer, Purpose,
Beneficiary, PredicativePossessor, ExternalPossessor (Haspelmath 2003 dative
map). `from_code` reads the low three bits, so every value names exactly one
orientation.
- `CausalEdge64::direction()/set_direction()` are now
`orientation()/set_orientation()`. `pack` and `pack_v2` take an
`Orientation`, so the compiler lists every writer. `layout::DIR_SHIFT` is
renamed `ORIENT_SHIFT`. `CausalEdgeV3::direction()` became `orientation()`.
- Removed, not moved: `s/p/o_pathological`, `concern_level`,
`CausalNetwork::detect_simpsons_paradox`. Reason: no production code wrote
the triad. The only production writer of 43..45 was `deepnsm-v2::wire`, which
already wrote Haspelmath codes. The planner's `ConfounderCheck`
(`lance-graph-planner/src/pearl.rs`) computes its two directions from
population masks. `CausalMask::simpsons_paradox_risk(so, po)` stays, documented
as taking caller-computed directions.
- `deepnsm-v2::wire` writes the contract's `Orientation`. Its own u8 table became
`orientation_of(DativeFunction) -> Option<Orientation>` and
`orientation_function(Orientation)`.
- Contract `moore_tenant`: `DirectionReading`, `SignTriple`,
`require_sign_triple` and `DirectionRefusal` (a per-tenant reading binding) are
replaced by `MooreDirection { slot, polarity }`. `MooreTenantMut::lift_ce64`
refuses an edge whose orientation is not `Core` with the new
`MooreRefusal::Oriented { slot, code }`. A refusal writes nothing.
- About 85 call sites migrated across causal-edge, deepnsm-v2, lance-graph,
lance-graph-planner, cognitive-shader-driver, lance-graph-osint, p64-bridge and
thinking-engine. Zero literals became `Orientation::Core`. Fixture bit patterns
kept their bits through `Orientation::from_code`.
- Probes that read 43..45 per class (`witness_angle_probe`) or as the triad
(`moore_nars16_probe`) are marked superseded. The moore_nars16 Simpson tests
were removed with the detector they tested. `moore_nars_gomoku_probe` no longer
writes its Moore direction into 43..45.
- `docs/architecture/ce64-semantic-upper-half.md`: 43..45 are settled. The
"declared reading per tenant" paragraph is replaced by one meaning per field.

## Tests

- `crates/causal-edge/tests/orientation_contract.rs` (5 tests, written first and
committed red):
- the code table is one-to-one over 3 bits;
- zero is `Core`;
- accessor and setter agree;
- both packers write the same table;
- field isolation of 43..45 against 40..42 and 46..49.
- Contract `moore_tenant`: `h_direction_is_slot_and_polarity` and
`h2_an_oriented_edge_is_refused`. Disable run: removing the refusal check turns
`h2` red (11 passed, 1 failed). Restored afterwards.
- causal-edge passes on both the v2 default and `--no-default-features` (v1).

## Edge facet census (Haiku card, spot-checked)

- Production writers of the 16-byte edge facet: two.
- `lance-graph-contract/src/aiwar.rs:117-119` (out-of-family slots, bytes
12..15).
- `symbiont/src/domino.rs:95-97` (bytes 0 and 12).
- Both use the old 12+4 slot reading.
- All other non-default constructions are test code. No code assigns a row's
`.edges` field directly.

## Decided 2026-10-16 (conversation)

- WordNet: `is_a` is the identity facet's DN path (16-nibble, already wired by
`deepnsm-v2::promote::{tiers_of, key_at}`). `part_of` and other relations go to
the edge facet, read as 16 slots through the ClassView. The 128-bit facet
format already exists (D-HPR-6a), so there is no layout change. The missing
piece is the caller: AriGraph, which is D-ARG-3.
- A leapfrog trie zipper over DN keys is a lanewise span fold (each DN level is
an ordered lane; a seek is a span). It is input to D-ASM-11 arm B and depends
on range-as-span (lane-fold capstone point 4). Per the capstone, a real
element-wise zip and a cyclic n-hop are refused residuals, so the triangle in §9 of `2026-10-16-synergy-map-since-1579.md`
qualifies only as span intersections plus one terminal AND.

## OPEN

- 46..49 are still read as activation by `wire` and as Energy4 by Moore tenants.
D-CGW-9 moves activation to a row field.
- 50..52 carries plasticity (`learn`) and the novelty → wisdom rung (`wire`). It
needs a ruling.
- The two production edge-facet writers still use the 12+4 slot reading.
- WordNet DN gates are not measured:
- G1: chain depth ≤ 12/16;
- G2: fan-out per level ≤ code width;
- G3: multi-parent synsets.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ 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.

362 entries, 2026-08-06 .. 2026-10-16.
363 entries, 2026-08-06 .. 2026-10-16.

| date | entry id | finding | file |
|---|---|---|---|
Expand All @@ -40,6 +40,7 @@ exactly one of them, never both.
| 2026-10-16 | `ledger-revision-1582-1591` | | [2026-10-16-ledger-revision-1582-1591.md](2026-10-16-ledger-revision-1582-1591.md) |
| 2026-10-16 | `grammar-coordinates-annotation-wiring` | | [2026-10-16-grammar-coordinates-annotation-wiring.md](2026-10-16-grammar-coordinates-annotation-wiring.md) |
| 2026-10-16 | `D-HOLO-H14d` | | [2026-10-16-d-holo-h14d-logic-mask-read.md](2026-10-16-d-holo-h14d-logic-mask-read.md) |
| 2026-10-16 | `D-CGW-1` | | [2026-10-16-d-cgw-1-orientation-contract.md](2026-10-16-d-cgw-1-orientation-contract.md) |
| 2026-10-16 | `coresearch-wcoj-leapfrog` | | [2026-10-16-coresearch-wcoj-leapfrog.md](2026-10-16-coresearch-wcoj-leapfrog.md) |
| 2026-10-16 | `board-catchup-open-items` | | [2026-10-16-board-catchup-open-items.md](2026-10-16-board-catchup-open-items.md) |
| 2026-10-16 | `D-ASM` | | [2026-10-16-asm-accepted-proposals.md](2026-10-16-asm-accepted-proposals.md) |
Expand Down
Loading
Loading