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
11 changes: 11 additions & 0 deletions .claude/board/AGENT_LOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## 2026-09-30 — 5+3 council on `deepnsm-v2-lexical-address-v1` (PR #1307)

- The 5: prior-art, iron-rule, code truth, cascade-impact, creative-explorer.
0 VIOLATES; every §2 number reproduced from the CSVs. Draft v2: 11 changes.
- The 3: overclaim-auditor, dilution-collapse-sentinel, firewall-warden.
1 BLOCK (§3.1: option (a) called an alpha bit), 22 FIX. v3: 11 more changes —
two keys (`WordId` surface, `LexicalAddress` reading), `c` renamed
`lemma_evidence` (not a truth pair, no `TruthU8`), per-table known mask with
`Option<Prior>`, §3.1 rewritten with option (d), D-LXA-4 gated on a contract plan.
- One conflict with a frozen decision (F4 vs the alpha channel's definition) is
escalated as `ISS-LXA-ALPHA-FIT`, not overridden. Plan only; no code.
## 2026-09-30 — 5+3 council on `cypher-mask-lowering-v2` (PR #1306)

- The 5: prior-art, iron-rule, code truth, cascade-impact, creative-explorer.
Expand Down
19 changes: 19 additions & 0 deletions .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
## 2026-09-30 (2) — deepnsm-v2-lexical-address-v1 — a word is a 16-bit address into a versioned, baked COCA codebook → `.claude/plans/deepnsm-v2-lexical-address-v1.md`

**Status:** PROPOSAL (D-LXA-1..4), ratified v3 by a 5+3 council. No code authorized.
D-LXA-3 is blocked on the operator escalation `ISS-LXA-ALPHA-FIT`. Harvested from PR #1303
(`deepnsm-v2-cam96-pairwise` v1–v5, closed unmerged). The v1–v5 plan files are not
carried; they remain on branch `claude/brave-mayer-65y3cy`.

- **Six words per facet.** Each `[a,b]` is one 16-bit address into an immutable,
versioned lexical codebook. It is not two poles and not an embedding slice.
- **Relations are driver-supplied** through the Fisher-z LUT.
- **Three COCA references** (4096 / 5k lemma / 20k academic) are measured as neither
nested nor aligned: only 4 of 4,264 shared words keep their ordinal (ordinal 0 counted). Reading across
references is refused.
- **The COCA bake** has two tables: an identity table `(lemma, PoS, lemma_evidence)`
and a surface-form table `(form, reading, f)`, all u8, built offline. Nothing is
counted at runtime. `f` and `lemma_evidence` are two statements, not a truth pair.
- **Two keys:** `WordId` (surface form, existing) and `LexicalAddress` (reading, new),
joined by `readings(WordId)`.
- Carries `ISS-CE64-EMIT-INVERSE-BIT2-DISAGREE`.
## 2026-09-30 (1) — cypher-mask-lowering-v2 — Cypher on masks as a fork-owned replacement behind one switch → `.claude/plans/cypher-mask-lowering-v2.md`

**Status:** PROPOSAL (D-CML-0..10, 3b, 5a), ratified v3 by a 5+3 council. No code
Expand Down
22 changes: 22 additions & 0 deletions .claude/board/ISSUES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
## ISS-LXA-ALPHA-FIT — known/unknown for the COCA bake vs the alpha channel's own definition (2026-09-30)

**Status:** OPEN — operator escalation. **Basis:** VERIFIED-IN-CODE (5+3 council on
`deepnsm-v2-lexical-address-v1`, §3.1).
- The ruling says known/unknown uses the alpha channel split tunnel. The alpha channel
is defined as not a bake (no digest, discardable whole, `alpha.rs:11-16, 857-861`);
`claim` writes only a stamp (`alpha.rs:683-716`); the overlay sits only over
`&[NodeRow]` (`alpha.rs:531`); its bit means "attended". "Known" is a baked, digested
fact, and F3 (nothing counted at runtime) leaves the write side nothing to carry.
- Options (plan §3.1): (a) baked coverage mask shaped like `AlphaMask`; (b) codebook
entries as `NodeRow`s; (c) a non-`NodeRow` alpha overlay meaning "measured";
(d) = (a) plus the unchanged overlay as the attention recorder over the codebook.
Council recommendation: (d).
- **What closes it:** the operator's choice. D-LXA-3 is blocked until then.

## ISS-CE64-EMIT-INVERSE-BIT2-DISAGREE — the driver packs p64 plane bits as a CausalMask; the inverse reads bit 2 differently (2026-09-30)

**Status:** OPEN. **Basis:** VERIFIED-IN-CODE on `main` `0d31c54f`. `cognitive-shader-driver` `driver.rs` (emission stage) packs `CausalMask::from_bits(h.predicates & 0x07)`, where `predicates` is the p64 predicate-plane byte: bit0 CAUSES, bit1 ENABLES, **bit2 SUPPORTS** (`p64-bridge` `SUPPORTS = 2`). `p64-bridge::edge_to_layer_mask` maps mask bit 2 (confounding) to **CONTRADICTS**. Emit and its inverse disagree on bit 2; three mask vocabularies (rung, Pearl, p64) meet at one byte.
- Found during PR #1303 (closed unmerged); recorded with `deepnsm-v2-lexical-address-v1.md` §6, which does not depend on it.
- **What closes it:** one named mapping in `p64-bridge` used by both directions, with a round-trip test that can fail on bit 2.
- **Also (5+3 council, 2026-09-30):** sites `driver.rs:489`, `p64-bridge/src/lib.rs:74-75, 123-124`. Inference type 1 also sets SUPPORTS (`lib.rs:81`), and `driver.rs:706-720` keeps its own local predicate-bit table; the one mapping must cover both.

## ISS-REPORT-NO-COMPOSITE-KEY-GROUP-FOLD — a 2-D fold costs one pass per partition member (2026-09-23)

**Status:** OPEN. **Basis:** VERIFIED-IN-CODE. mask-risc's `GroupKey` is one
Expand Down
9 changes: 9 additions & 0 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,15 @@ evaluates one; `execute` stays the consumer's call on a scratch it owns.
| D-QCK-8 | accumulator gating — an `AND` gates each later child under the accumulator built so far, not only under a resident plane. The same rule `lgj-abi`'s `plan_lower` already had; the two lowerings now implement one law | Shipped. Disable-verified 3×: gate-never-on-accumulator, an `OR` gating its children on its own accumulator, and `hoist_gate_subset` never rotating — each reddens | `the_gate_reaches_every_comparison_and_is_dropped_only_where_it_vanishes` via the new `gate_shape` helper (all-gated / on-accumulator / dropped, three facts not two); `every_lowered_filter_agrees_with_an_independent_per_row_reading` is what catches the DROP going unsound |
| D-QCK-9 | A1 `Filter::and_by_skip` — the caller's measured skip score orders an `AND`'s conjuncts. DuckDB's hill-climb NOT ported (see the corrected reason) | Shipped, with the matrix's A1 falsifier RUN (`examples/adaptive_order_probe.rs`, 65 536 rows × 5 conjuncts × all 120 permutations × 4 regimes). Order moves the skip fraction, so A1 is **ADAPT conditionally** — inert in 2 of the 4 regimes, and the pre-registered *representative predicate stream* half was never run (matrix §9). ⊘ **Corrected 2026-09-15:** this row read "the control signal is DEAD WORDS, not selectivity" — the probe never ranks by either signal and never calls `and_by_skip`, so only the between-regime diagnostic is supported; and the "hill-climb explores the wrong landscape" reason was MEASURED FALSE (`[4092, 3069, 2046, 1023, 0]`, deltas all −1023: a monotone ramp). The real reason is that this crate never executes | `skip_ordering_moves_the_work_and_never_the_answer`: the reordering agrees with the oracle (not with the other lowering), the emitted program's first predicate is the highest-scored, and descending/no-sort disables both redden. **The probe itself is run by no gate** — `cargo test` compiles an example and never executes it — so the four-row table is a measured-once observation, not a pinned one ⊘ **2026-09-15, operator ruling (E-256-BY-256-IS-EXACTLY-64K-THE-RAILS-SKIP-UNIT-IS-ITS-HI-BYTE-AND-A-QUARTER-BLOCK-IS-A-REMAINDER-1):** the clustered figures were the `/50` quarter-block cut's; re-measured on the byte boundary (`/48`, the rail's hi byte) → 116 survivors (0.177 %), 99.61 % in both words and 256-row blocks; selective in blocks 0.00 → 61.91 %. The probe now prints both units and the ramp. ⊘ Same day (E-THE-RAIL-IS-A-NEEDLE-NOT-A-MASK-…-1): "the rail's hi byte" as skip unit was my reading — a rail is a 2-byte row ADDRESS, not a mask; the block is the tile's 2-nibble cell; numbers unchanged. ⊘ Same day (E-A-THOUGHT-MASKS-ITSELF-BY-ITS-DISTANCE-FROM-ROOT-…-1): the radius is STEPLESS — the probe sweeps d = 40..=56, 2^(56−d) rows each; words saturate at d = 50, blocks at d = 48 |

## deepnsm-v2-lexical-address (D-ids minted 2026-09-30, `.claude/plans/deepnsm-v2-lexical-address-v1.md`; harvested from closed #1303)
Comment thread
coderabbitai[bot] marked this conversation as resolved.

| D-id | scope | status | gate / falsifier |
|---|---|---|---|
| D-LXA-1 | `LexicalAddress(u16)` newtype (reading key, beside the surface-form `WordId`) + `ReferenceSet {id, version, sha256, key_kind}`; cross-reference read refused | Queued | G-LEX (typed values): every declared entry resolves under its reference's own key — `(word, PoS)`, `(lemma, PoS)` or `(word, Ambiguous)`; wrong reference refused; bare `u16` is `compile_fail` |
| D-LXA-2 | `lexical_correspondence.tsv` generator (id4096 / id5k / id20k / Exact·Ambiguous·Missing, three digests) | Queued | G-REF: re-derivation reproduces the measured table incl. "4 of 4,264" with ordinal 0 counted; one hand-edited ordinal reddens |
| D-LXA-3 | the COCA bake: identity table (lemma, PoS, `lemma_evidence`) + surface-form table (form, reading, `f` listed-reading share), u8, offline; unknown = unset known bit, fill byte 0 | Blocked — on operator escalation `ISS-LXA-ALPHA-FIT`, and shares `academic_20k.csv` with D-LXC-4 (Blocked); must not duplicate that loader | byte-identical re-derivation; surface `the` f = 1, surface `record` → n/v both 0 < f < 1; all-unambiguous fixture stays f = 1 |
| D-LXA-4 | six-slot ClassView reading of a 12-byte facet as six `LexicalAddress`es under one `ReferenceSet`, carried by a new classid / reading mode; existing `Cam96` / `SpoFacet` readings unchanged | Blocked — a contract change needing its own contract plan (not yet written); home (second facet vs `Identity` tenant) OPEN | X-written / Y-read refused; (X, v1)-written / (X, v2)-read refused; slot rotation changes the resolved words |

## cypher-mask-lowering-v2 (D-ids minted 2026-09-30, `.claude/plans/cypher-mask-lowering-v2.md`)

| D-id | scope | status | gate / falsifier |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# 2026-09-30 — The three COCA reference sets are neither nested nor ordinal-aligned

**Status:** MEASURED · OPEN — plan `.claude/plans/deepnsm-v2-lexical-address-v1.md` §2 (D-LXA-2, G-REF). Measured on PR #1303 (closed unmerged); carried here.

## Measured (python over the committed CSVs and the Tigris artifact)

| reference | rows | distinct keys | key |
Comment thread
AdaWorldAPI marked this conversation as resolved.
|---|---|---|---|
| COCA4096 — `crates/deepnsm/word_frequency/word_rank_lookup.csv`, ranks ≤ 4096 | 4,096 ranks | 3,559 words | rank: one row per (word, PoS), each rank unique; a homograph spans several ranks |
| COCA5K_LEMMA — `lemmas_5k.csv` | 5,050 | 4,380 lemmas / 5,050 (lemma, PoS) | (lemma, PoS) |
| COCA20K_ACAD — `academic_20k.csv`; Tigris `lance-graph/codebooks/deepnsm-v2-academic-coca-v1/` | 20,845 | 18,559 words / 20,842 (word, Pos) | `word_id` = admission order |

- 5k ∩ 20k: 4,895 of 5,050 (lemma, PoS); 4,264 words; **116 of the 5k lemmas are absent from the 20k**.
- 4096 ∩ 20k: 3,462 of 3,559 words.
- **Ordinal alignment: 4 of 4,264 shared words carry the same ordinal in the 5k and in the 20k** (`the`, `there`, `care`, `wage`; 0-based first-occurrence order, exact match). ⊘ First recorded as 3: that count dropped ordinal 0, a falsy-zero error (Codex, #1307).
- Ambiguity differs per set: the 20k carve drops 2,286 rows to one id per word: 2,283 extra `(word, Pos)` keys plus 3 exact duplicate source rows (`wastewater/n`, `disproportionately/r`, `instill/v`) (MANIFEST: 18,559 of 20,480 reserved slots; basins 73..79 empty); the 4096 gives each (word, PoS) its own rank; the 5k keeps (lemma, PoS) distinct.
- The Tigris "academic codebook" TSV is a `PaletteVocab::from_frequency_ranked` carve (`word_id, basin, slot, …`), not a trained centroid codebook. Its `academic_20k.csv` sha256 equals the committed file's.

## Consequence
A reading contract names (reference id, version, digest); an ordinal is stable only within its reference; correspondence is an explicit (lemma, PoS) map with `Ambiguous{n}` / `Missing` as values; switching references must preserve the declared map and never reuse an ordinal. Gate G-REF re-derives this table and diffs it.

## Open
- Whether the academic reference gets its own codebook or shares COCA4096's through the correspondence map (plan §5).
- `range`/`disp` are loaded by no `src/` code; `Vocabulary::load` never opens `lemmas_5k.csv`.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@ 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.

179 entries, 2026-08-06 .. 2026-10-03.
180 entries, 2026-08-06 .. 2026-10-03.

| date | entry id | finding | file |
|---|---|---|---|
| 2026-10-03 | `dir-sim-soa-quack` | Directory simulation on SoA + Quack: one-edge mutation 853 B at 1k and 100k users | [2026-10-03-dir-sim-soa-quack.md](2026-10-03-dir-sim-soa-quack.md) |
| 2026-09-30 | `three-reference-sets-are-not-ordinal-aligned` | | [2026-09-30-three-reference-sets-are-not-ordinal-aligned.md](2026-09-30-three-reference-sets-are-not-ordinal-aligned.md) |
| 2026-09-30 | `deepnsm-v2-coverage-bands` | | [2026-09-30-deepnsm-v2-coverage-bands.md](2026-09-30-deepnsm-v2-coverage-bands.md) |
| 2026-09-30 | `cypher-mask-v2-is-a-replacement-not-a-phase` | | [2026-09-30-cypher-mask-v2-is-a-replacement-not-a-phase.md](2026-09-30-cypher-mask-v2-is-a-replacement-not-a-phase.md) |
| 2026-09-29 | `deepnsm-v2-counted-pick-tag-deltas` | | [2026-09-29-deepnsm-v2-counted-pick-tag-deltas.md](2026-09-29-deepnsm-v2-counted-pick-tag-deltas.md) |
Expand Down
Loading
Loading