Skip to content
Merged
23 changes: 23 additions & 0 deletions .claude/board/entries/2026-10-28-d-epi-cot-c3c-learn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# D-EPI-COT-C3C: learned ordering of scent leads over Codec9/lut9

**Status:** TEST-PINNED (fixture worlds). Code: `crates/lance-graph-planner/src/nars/scent_learn.rs`. Doc: `docs/research/epistemic-cot/c3c-learning.md`.

## Decision

- `ScentLearner` reorders C3b leads within a status group, learning from investigation outcomes. Its output is an order, with no truth, Epi5, CE64 or ledger write.
- It consumes merged ndarray `codec9::EpiLane9` and `simd::lut9` and adds no kernel. The runtime has no float roundtrip and no rounding: deltas truncate in code space, and the zero rule is `P = present AND (positive OR M == 0)`, so −0.49 → +0. The rate table is the only rounding, done offline.
- The rate table follows TFLM `LUTPopulateInt8` and matches a golden from tflite-micro `5f64e4a` on all 256 int8 codes for 4 rates.
- Only odd rules are prepared. A table for another spec refuses. One source trains once.

## Evidence

- 14 tests, plus an ignored cost probe. 10 disables, each red.
- Held-out PZ5, 600 worlds, separable fixture: learned 1.00 vs scent 4.51, round-robin 4.55, random 4.47. Uninformative twin: learned 4.59 vs random 4.47.
- rank 706 ns, learn 425 ns, scent 3.0 µs (8 leads, one host).

## Open

- The label should become "the ablation discriminated", using the ledger's `sensitivity`.
- Overlapping-evidence fixtures and real HIRO/Odoo outcomes.
- `lance-graph-nsl` is gated on the NSL H7 oracle and the H1 G01–G12 fixtures; it is not built here.
- The spec binding is transient. Production generation binding stays with EXO-152 PZL-4/G1.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,14 @@ 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.

498 entries, 2026-08-06 .. 2026-10-28.
499 entries, 2026-08-06 .. 2026-10-28.

| date | entry id | finding | file |
|---|---|---|---|
| 2026-10-28 | `thought-layers-nan-skip` | | [2026-10-28-thought-layers-nan-skip.md](2026-10-28-thought-layers-nan-skip.md) |
| 2026-10-28 | `lane-layout-from-classview` | | [2026-10-28-lane-layout-from-classview.md](2026-10-28-lane-layout-from-classview.md) |
| 2026-10-28 | `D-SAG-6-1` | | [2026-10-28-d-sag-6-1-audit-reference-ledger.md](2026-10-28-d-sag-6-1-audit-reference-ledger.md) |
| 2026-10-28 | `D-EPI-COT-C3C` | | [2026-10-28-d-epi-cot-c3c-learn.md](2026-10-28-d-epi-cot-c3c-learn.md) |
| 2026-10-28 | `D-EPI-COT-C3B` | | [2026-10-28-d-epi-cot-c3b-scent.md](2026-10-28-d-epi-cot-c3b-scent.md) |
| 2026-10-28 | `D-EPI-COT` | | [2026-10-28-d-epi-cot-c0-c2.md](2026-10-28-d-epi-cot-c0-c2.md) |
| 2026-10-28 | `D-DT64-6` | | [2026-10-28-d-dt64-6-routing-bindstore-behavior.md](2026-10-28-d-dt64-6-routing-bindstore-behavior.md) |
Expand Down
Loading
Loading