diff --git a/.claude/board/AGENT_LOG.md b/.claude/board/AGENT_LOG.md index 0003f199..94e9621b 100644 --- a/.claude/board/AGENT_LOG.md +++ b/.claude/board/AGENT_LOG.md @@ -1,3 +1,23 @@ +## 2026-07-10 — fable-vision-keeper — VISION.md synthesized, filigree-reviewed, ratified (operator: "pull back in anything from the AGI aspiring... you keep the vision alive") + +- **The artifact:** `.claude/v3/VISION.md` — the AGI-aspiring canon re-grounded through the 2026-07-10 substrate: the Click's three carrier moves and the loop-invariant lesson; thinking-is-a-struct → thinking-is-a-ROW (full organ table incl. free_energy/Kausal + global_context); projection as a FIVE-axis fact (bytes/readings/time/scale/bits — the fifth measured on proxies, fence riding the thesis sentence); families→runbooks→templates ladder; the Rubicon heart under E-NOBODY-WAITS-1; the anti-dilution laws; the road in dependency order. Every claim graded [G]/[G-on-proxies]/[RULING]/[ASPIRATION]. +- **Orchestration per operator directive:** 2 Sonnet preflights (ancestry census — see entry below; AGI-passage harvest: 8-source anchored inventory) + 2 Opus filigree reviewers (dilution-collapse-sentinel + overclaim-auditor charters) on the draft; main-thread synthesis + consolidation. +- **Filigree verdicts, all 9 applied:** dilution side — free_energy+global_context restored to the organ table (P1, self-contradiction caught), "not the algebra" softened to carrier-in-niche, time-axis cite precised to #631's four probes, DeepNSM 680GB→16.5MB restored to the spine, homeostasis-floor+MUL named; overclaim side — the §0 thesis and §3 reconstructibility claims now carry the proxy fence ON the sentence (the exact overclaim D-MTS-6's header warns of, caught before shipping), "FREE"→negligible, "exactly Rubicon-conformant"→by-construction, March benchmark numbers dated. +- **Also this arc:** plan addendum (third wave, operator): AriGraph context V3-TENANT-SHAPED for streamed Markov context; arm-discovery (Aerial+) + DeepNSM ingest legs; CAM-PQ 48-bit path codes (address side) vs 6×palette256² 12-B tenant (value side) — the D-MTS-1 spec's frozen representational comparison. TECH_DEBT TD-STYLE-TABLE-RESIDUE extended with the census finds. README + FUTURE-DESIGN pointers to VISION.md. + +## 2026-07-10 — census-worker-ancestry-pipeline — V3 census extended to thinking-engine / p64-bridge / cognitive-shader-driver (doc-only) + +- **Census worker (Sonnet, doc-only, edit-only fleet rule honored):** appended `.claude/v3/MODULE-TABLE.md` ADDENDUM covering 51 thinking-engine files + p64-bridge/lib.rs + 22 cognitive-shader-driver src files (bare `crates/p64` does not exist locally — only `crates/p64-bridge`, and both it and thinking-engine sit under `workspace.exclude`, not `members`). Added a `gem-status` column (WIRED-HOT-PATH / UNWIRED-GEM / CALIBRATION-ONLY / LAB-ONLY / RESIDUE) per FUTURE-DESIGN.md's wiring-queue framing. *[Correction 2026-07-10, PR #676 review: the worker's headline counts were 49/23; recount against the tree = 51/22 (the table rows were right, the headings/summary wrong); workspace-scope phrasing fixed — coderabbit findings, all applied.]* +- **Notable finds:** style-table proliferation is WORSE than FUTURE-DESIGN/D-TSC-1 tracked — `superposition.rs::ThinkingStyle = DetectedStyle` collides in name (not value) with `cognitive_stack.rs::ThinkingStyle = StyleFamily` in the SAME crate; `auto_style.rs` (bare consts) + `engine_bridge.rs::UNIFIED_STYLES` + p64-bridge's `StyleParams` are 3 MORE independent 12-slot tables beyond what D-TSC-1's fleet-run addressed — worth a follow-up grep to confirm `UNIFIED_STYLES`'s definition site (not just callers) was routed. Also: `GestaltState` independently defined in both `awareness_dto.rs` and `world_model.rs`; 3 near-identical lens modules (jina/bge_m3/reranker_lens); `signed_domino.rs`/`branching.rs` extend the M8 near-duplicate-engine count beyond the 3 FUTURE-DESIGN names. `splat_ops.rs` is RESIDUE (self-declared deprecated, scheduled sprint-15+ removal, do not touch per §1 rule 8). +- **No code changed.** Deliverable: MODULE-TABLE.md ADDENDUM (2). Commit: `13188ad` (landed with the VISION.md draft, same arc; count corrections in the PR #676 review-fix commit). Tests: n/a (doc-only; validation = per-file `pub`-surface grep + row-vs-tree recount). Outcome: census live, feeds FUTURE-DESIGN wiring queue + TD-STYLE-TABLE-RESIDUE extension. + +## 2026-07-10 — fable-674-postmerge — #674 MERGED; E-NOBODY-WAITS-1 banked (doc-only, operator: "leave it as is and just document") + +- **#674 merged** (`cd5178e`); branch restarted from main; PR_ARC_INVENTORY #674 entry prepended (the deferred post-merge hygiene, now done). +- **Operator audit resolved:** "kanban step vs ack pump — duplicate route? Rubicon ignored?" → grounded answer: Rubicon intact and owner-side (KanbanColumn IS the 4-phase model; cast records intent AHEAD of ack — crossing at intent formation); the ack-pump is the canonical MESSAGE-FREE route (`ack_and_propose` proposal → `try_advance_phase(&mut)`; `&mut` is the serialization — codex #578's race and #579's overlay both dissolve); rs-graph-llm has zero ack code (storage-side concern only). The redundancy runs the OTHER way: supervisor `KanbanMsg`/`ractor::call!` drivers are a second, message-based model. +- **Ruling banked:** E-NOBODY-WAITS-1 (no messages, no actors anywhere; ractor = compile-time ownership guarantee only; **prime invariant: nobody waits for anything or any scheduling**). Disposition per operator: LEAVE AS IS — TD-MESSAGE-RESIDUE documents the residue, no retirement queued; drift signal = NEW code reaching for KanbanMsg/call!. +- Doc-only commit: EPIPHANIES + TECH_DEBT + PR_ARC + this entry. No code touched. + ## 2026-07-10 — fable-dmts6-probe — D-MTS-6 measured GREEN + PR #674 opened + codex P2 ack-dedup fix - **PR #674 opened** (operator ask): the full 14-commit branch arc; session subscribed to PR activity; hourly self check-in armed. diff --git a/.claude/board/EPIPHANIES.md b/.claude/board/EPIPHANIES.md index 89c209e6..610b6943 100644 --- a/.claude/board/EPIPHANIES.md +++ b/.claude/board/EPIPHANIES.md @@ -3,6 +3,16 @@ **The probe** (zero-dep, D-MTS-5 machinery: seed `0x9E3779B97F4A7C15`, M=4096, COMMA_STRIDE=2395, L=12 levels; baseline = the full CausalEdge64's 8+8-bit truth payload): each level stores only k bits of each truth value with the comma phase acting as **deterministic subtractive dither** (generated from the address, never stored); read-time de-dithers and averages the L witnesses. Three awareness proxies vs the baseline over 8192 NARS revision/deduction pairs + a 64-step revision chain: revision-outcome |ΔE|, MetaWord-analog surprise-bit agreement, F-descent trajectory ρ. **Measured (ALL GATES PASS):** the comma lane's knee is **k\*=1** — one stored bit per level (2 explicit truth bits/edge vs the baseline 16) already gives mean|ΔE| 0.0084, surprise agreement 0.9688, descent ρ 0.9792. The aligned control (collapsed pyramid) needs **k\*=4**. Mechanism made visible: the comma walk is a **low-discrepancy per-edge lattice**, so de-dithered averaging behaves like stratified sampling — comma k=1 RMSE 0.0244 vs aligned 0.2503 (10×), matching aligned between k=3 and k=4: the lattice buys **≈3.4 effective bits ≈ log₂(12)=3.58**. Replay bit-identical across passes and level orders. **Honest chronicle:** run #1 FAILED its own G1 — the gate was mis-registered (demanded EXACT surprise agreement at k=8, but the comma lane is a dithered reconstruction, never an identity path); the fix was a diagnosis measurement, not a tune: G1′ additionally requires every disagreeing pair's margin-to-threshold < 0.005, and the measured max margin is **1.7e-5** — every flip is threshold-boundary noise, proven. **Fences:** proxies ≠ the full ShaderDriver loop — any real CausalEdge64 shrink is gated on **D-MTS-6b** (driver-integrated fixture); the economy claim is marginal-cost (the L per-level slots are the pyramid's OWN envelope storage — the probe measures what they jointly RECOVER, not free storage). +## 2026-07-10 — E-NOBODY-WAITS-1 — no messages, no actors, anywhere: ractor is ONLY the compile-time ownership guarantee; the prime invariant is that NOBODY waits for anything or any scheduling +**Status:** RULING (operator, 2026-07-10, post-#674-merge audit of "kanban step vs ack pump"; disposition: LEAVE AS IS AND DOCUMENT — no retirement work opened) + +The operator's audit question — did the ack-pump duplicate the existing BatchWriter→kanban-step route, or ignore the Rubicon model? — resolved into a foundational clarification: **we don't use messages at all, nor actors; ractor exists solely as the compile-time ownership guarantee** (the delegation declaration — `KanbanActor`-over-real-`MailboxSoA` names WHO owns, never a message path). Consequences, all verified in code: + +1. **The Rubicon model is intact and owner-side.** `contract::kanban::KanbanColumn` IS the 4-phase Rubicon (Planning→CognitiveWork = the −550ms Σ-commit crossing; Planning→Prune = the pre-Rubicon Libet veto; Evaluation 3-way; Plan→Planning re-deliberation). The crossing is the owner's, at intent formation — the cast records intent AHEAD of the ack, Rubicon-conformant. +2. **The message-free loop is the canonical route:** `BatchWriter::ack_and_propose` (first-transition-dedup'd, #674) → `Option` proposal → `MailboxSoaOwner::try_advance_phase(&mut self, to)` — plain method calls end to end. **`&mut` IS the serialization**: the stale-phase race codex #578 guarded against, and the atomicity ceremony built for it, only exist in a message world; under exclusive ownership the race is a compile error — the ractor ruling doing its job. The #579 exec-overlay concern also dissolves in the direct path (the proposal itself is applied; `exec` travels with it). The ack is storage-side postactional evidence of cycle N seeding cycle N+1's deliberation — it proposes, the owner disposes, and rs-graph-llm contains no ack code at all (consumer transitions are envelope KanbanMoves on the same Rubicon DAG). +3. **Any message path in the tree is redundancy.** Named residue: `lance-graph-supervisor`'s `KanbanMsg::{Tick,Advance}`, `ractor::call!` RPC, `drive_version_tick`, `drive_scheduled_tick` (consumers: supervisor tests + onebrc-probe lane E — which, fittingly, measured the actor-model tax). **Operator disposition: left as is, documented** (TECH_DEBT TD-MESSAGE-RESIDUE); the drift signal is NEW code reaching for `KanbanMsg`/`call!` instead of the `&mut` owner surface. +4. **THE PRIME INVARIANT (the operator's closing emphasis): nobody is waiting for anything or any scheduling.** Writes are fire-and-forget ("melden macht frei"); acks propose; updates reprioritize, never gate; absorbing views rest the loop, never deadlock it; the thinker never blocks on I/O, on a scheduler, or on another mailbox. Every future design choice on this surface is judged against this sentence first. + ## 2026-07-10 — E-FIVE-STYLE-TABLES-1 — the M9 dedup found FIVE mutually divergent hand-rolled style tables; duplication had already produced live semantic drift, and the weakest gate would have greenlit silent corruption **Status:** FINDING (measured during D-TSC-1 implementation, the first 5+3 council run; all five replaced by `StyleFamily::default_runbook()`/`ThinkingStyle::family()`, shipped with 1549 tests green) diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index a6a2d7b3..b7906667 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -35,6 +35,22 @@ --- +## #674 lance-graph: V3 W2–W6 continuation + comma quorum/awareness measured + 5+3 council + StyleFamily dedup (D-TSC-1) + +**Status:** MERGED 2026-07-10 (merge commit `cd5178e`), branch `claude/review-claude-board-files-nhqgx1`, 16 commits. Companion: rs-graph-llm `8ef18b9` (same branch name there, not yet PR'd) — `run_cycle` explicit `on_behalf` (owner ≠ classid). + +**Added:** `contract::step_mask::StepMask` (W3a); `planner::elevation::cycle::CycleBudget` (W2d/M12); `MailboxSoA::cast_on_behalf` (W4a) + standalone `with-planner` E0432 fix; `contract examples/adoption_scan` (W6a); `BatchWriter::ack_and_propose` (D-ORG-1, first-transition-dedup'd per codex P2); `contract::style_family::StyleFamily` + `default_runbook()`/`ThinkingStyle::family()` (D-TSC-1/M9); `PlannerStyleExt`/`EngineStyleExt`; `superposition::DetectedStyle` rename; thinking-engine gains the lance-graph-contract dep; probes `perturbation-sim/examples/{comma_quorum,comma_awareness}.rs` (D-MTS-5/6); `.claude/agents/5plus3-council.md` + `/5plus3` skill; `.claude/v3/FUTURE-DESIGN.md`. + +**Locked:** the seven 2026-07-10 rulings (E-ACK-IS-THE-KANBAN-TRIGGER-1, E-ORCHESTRATION-ORGANS-1, E-THINKING-STYLES-ARE-CLASSES-1, E-MARKOV-TEMPORAL-STREAM-1, E-COMMA-QUORUM-1/E-COMMA-REPLAY-1, E-STYLE-FAMILY-VS-RUNBOOK-1, E-THINKING-TENANTS-V3-1); measured findings E-COMMA-QUORUM-MEASURED-1 (N_eff 11.00/12; boundary condition N_eff = min(L, spectral participation)), E-COMMA-AWARENESS-MEASURED-1 (k*=1 vs aligned k*=4; ≈log2(12) effective bits), E-FIVE-STYLE-TABLES-1 (five divergent style tables — the M9 payoff made concrete); M9 RESOLVED with G1 = 1 enum + 3 deprecated aliases; the 5+3 anti-mush sequencing (spec-first, consolidate-before-review); style behavior changes documented + G7 literal-pinned (planner arms 9/10/11, driver 8/9/10, parse 8/9/10, engine 36→12 ranges). + +**Deferred:** D-MTS-6b (driver-integrated awareness fixture — gates ANY real CausalEdge64 shrink); D-MTS-1..3 (gate ALL VSA-path removal); D-TTV-1 (thinking tenants → V3); D-TSC-2/3 (batched OGAR mint, never solo); D-TSC-4 (W6c/0x1000 coexistence — ESCALATED, operator ruling needed); W2a BoardAggregates (batched-mint gate); TD-STYLE-TABLE-RESIDUE (ndarray pair / wip imports / p64-bridge ordinal probe). + +**Docs:** spec `dtsc1-thinkingstyle-dedup-spec-v1.md` (v1→v2→v3, full council fix ledgers); plan `temporal-markov-and-style-classes-v1.md`; FUTURE-DESIGN landing zone; TYPE_DUPLICATION_MAP/COMPONENT-MAP/MODULE-TABLE addenda; .grok thinking_styles superseded banner. + +**Post-merge ruling (2026-07-10, same day):** E-NOBODY-WAITS-1 — no messages/no actors anywhere (ractor = compile-time ownership guarantee only); the ack-pump is the canonical message-free route; supervisor KanbanMsg drivers regraded documented redundancy (TD-MESSAGE-RESIDUE, leave-as-is); prime invariant: nobody waits for anything or any scheduling. + +**Confidence (2026-07-10):** HIGH — all 6 CI checks green at merge; 1549 lib tests across the four touched crates; both probes ALL GATES PASS with honest run chronicles. + ## #632 lance-graph: Cross-session intake — RouteBucketTyped (C6) merged, emission_scan minted, OCR codebook mirror, GraphRAG-rs inventory + operator rulings **Status:** MERGED 2026-07-02 (merge commit `df367471`), branch `claude/v3-substrate-migration-review-o0yoxv`. Companion: OGAR #148 (merge `75d955b`) — the cross-repo fuses + serialized allocation batch; merged FIRST per the lockstep note; this post-merge commit carries the ogar-vocab lock bumps that cleared COUNT_FUSE (fired 65 vs 68 in the in-between state — first live demonstration of the fuse mechanism, then green 68 == 68, lance-graph-ogar 81 tests). diff --git a/.claude/board/TECH_DEBT.md b/.claude/board/TECH_DEBT.md index 8f1e0ac6..94f133ff 100644 --- a/.claude/board/TECH_DEBT.md +++ b/.claude/board/TECH_DEBT.md @@ -1,5 +1,22 @@ # Technical Debt Log — Open + Paid (double-entry, append-only) +## TD-MESSAGE-RESIDUE (2026-07-10, operator-ruled LEAVE-AS-IS) + +Per E-NOBODY-WAITS-1: no messages, no actors anywhere — ractor is only +the compile-time ownership guarantee. The message-based arm in +`lance-graph-supervisor` (`KanbanMsg::{Tick,Advance}`, `ractor::call!`, +`drive_version_tick`, `drive_scheduled_tick`; consumers: supervisor +tests + onebrc-probe lane E) is REDUNDANCY relative to the canonical +message-free loop (`BatchWriter::ack_and_propose` proposal → +`MailboxSoaOwner::try_advance_phase(&mut)` — `&mut` is the +serialization). **Disposition: left as is, documented — NO retirement +work queued** (operator, 2026-07-10). Not a bug: the code is correct in +its own model; it is a second model. Drift signal: NEW code reaching +for `KanbanMsg`/`ractor::call!` instead of the `&mut` owner surface — +that, not the existing residue, is what a reviewer blocks. The prime +invariant every change on this surface is judged against: **nobody +waits for anything or any scheduling.** + ## TD-STYLE-TABLE-RESIDUE (2026-07-10, D-TSC-1 follow-ups) Three residues from the M9 ThinkingStyle dedup (all OUT of D-TSC-1 scope, @@ -16,6 +33,18 @@ each with its own closing condition): with no `mod cognitive` — dormant behind `#[cfg(feature = "wip")]`. Close: point them at contract StyleFamily/ThinkingStyle when the wip modules wake, or delete. +3a. **Census extension (2026-07-10, ancestry census):** three MORE + independent 12-slot style tables beyond the D-TSC-1 sweep — + `cognitive-shader-driver/src/auto_style.rs` bare u8 consts, + `engine_bridge.rs::UNIFIED_STYLES` params (parity-tested but its + PARAMS are a hand table), `p64-bridge StyleParams[12]` (historical + order). Also: `GestaltState` defined independently in thinking-engine + `awareness_dto.rs` AND `world_model.rs`; the jina/bge_m3/reranker + lens triplet is near-identical; `wire.rs` (1852 lines) is the + largest driver file while LAB-ONLY. All documented in the + MODULE-TABLE ancestry addendum; close via M8/M9-style follow-ups + when Track B lands. + 3. **p64-bridge ordinal-order probe (spec I15):** `crates/p64-bridge/src/ lib.rs STYLES[ord % 12]` uses the HISTORICAL order (Analytical=0), NOT StyleFamily order (Deliberate=0). Doc comment now warns (convert by diff --git a/.claude/plans/temporal-markov-and-style-classes-v1.md b/.claude/plans/temporal-markov-and-style-classes-v1.md index b84ce25d..e322fa0f 100644 --- a/.claude/plans/temporal-markov-and-style-classes-v1.md +++ b/.claude/plans/temporal-markov-and-style-classes-v1.md @@ -59,6 +59,31 @@ never stored); per-level content = palette-quantized magnitude envelope only. > E-COMMA-AWARENESS-MEASURED-1. > Execution spec for D-TSC-1: `.claude/plans/dtsc1-thinkingstyle-dedup-spec-v1.md`. +> **Addendum (operator, 2026-07-10, third wave — D-MTS-1 context-building +> design input):** the **AriGraph context, V3-TENANT-SHAPED, is most +> probably essential for Markov-chain context building while streaming +> text.** The ingest legs feeding it: **`lance-graph-arm-discovery`** +> (the Aerial+ transcode — float-free association-rule discovery via the +> palette256 integer distance oracle, ρ=0.9973, → `{s,p,o,f,c}` ndjson → +> SPO loader) and **DeepNSM** (text→SPO via the 6-state PoS FSM; the +> **64×64 = 4096 COCA vocabulary IS the CAM index codebook**, 4096² u8 +> LUT). The representational comparison the D-MTS-1 spec MUST weigh for +> the streamed context items: +> +> - **CAM-PQ `6×8 = 48-bit` codes** — 6 subspaces × 1 byte = 6 bytes = +> exactly the OGAR GUID path (HEEL+HIP+TWIG): the ADDRESS-side coding. +> - **`6× palette256:palette256` = 12 bytes = ONE V3 tenant** — 6 +> subspaces × an X:Y byte PAIR each (the 256×256 centroid-tile +> reading, le-contract L4 carve): the VALUE-tenant-side coding — +> exactly one content-blind facet payload. +> +> The likely resolution (to be probed, not assumed): key addresses, +> tenant carries — the 48-bit path codes route/dedupe the streamed SPO +> items, while the palette² tenant is the projection surface the +> perturbation shader attends per cycle. This joins D-TTV-1 (the +> AriGraph-context lane is a thinking tenant) and instantiates the L4 +> carrier named in E-MARKOV-TEMPORAL-STREAM-1. + ## Track B — Thinking styles as classes (domain:appid:classview) Ruling: styles move entirely under the classid umbrella. A style class diff --git a/.claude/v3/FUTURE-DESIGN.md b/.claude/v3/FUTURE-DESIGN.md index 959d803e..6746c8de 100644 --- a/.claude/v3/FUTURE-DESIGN.md +++ b/.claude/v3/FUTURE-DESIGN.md @@ -4,6 +4,7 @@ > landing zone the operator asked for (2026-07-10): future substrate design > lands HERE first, referencing the V3 inventory (`COMPONENT-MAP.md`, > `MODULE-TABLE.md`, `soa_layout/*`) so design converges on what exists. +> **The WHY lives in `VISION.md`** (same folder — the graded canon synthesis). > Canonical ruling text lives on the board (`.claude/board/EPIPHANIES.md`); > this file is the design-side index + the wiring queue. Read AFTER the V3 > README; cite EPIPHANIES entries in PRs, not this mirror. diff --git a/.claude/v3/MODULE-TABLE.md b/.claude/v3/MODULE-TABLE.md index caf17afb..fbce48be 100644 --- a/.claude/v3/MODULE-TABLE.md +++ b/.claude/v3/MODULE-TABLE.md @@ -344,3 +344,150 @@ yet censused); planner style.rs = re-export + `PlannerStyleExt`; `parse_style_name` routes the 12 family names through `StyleFamily::default_runbook()` (3 arms changed — the fourth divergent table); `nars_engine.rs` gained the runbook-keyed `style_vector_for`. + +## ADDENDUM 2026-07-10 (2) — ancestry-pipeline census: thinking-engine / p64 / p64-bridge / cognitive-shader-driver + +> Sonnet census worker. Depth: header doc-comment + `pub` surface grep per +> file (no deep body reads). Same columns as MODULE-TABLE.md rollup, plus +> **gem-status**: WIRED-HOT-PATH / UNWIRED-GEM / CALIBRATION-ONLY / +> LAB-ONLY / RESIDUE. Cross-ref `FUTURE-DESIGN.md` § "the migration arc" for +> the prior gems queue — this census confirms those and adds several not +> previously named. +> +> **Note on scope:** a bare `crates/p64` does not exist in this workspace — +> only `crates/p64-bridge` exists locally, and both it and +> `crates/thinking-engine` are listed under `workspace.exclude` +> (`Cargo.toml` lines 33/36), NOT `workspace.members` — censused here as +> local crates, not workspace members. p64 +> itself is presumably the sibling `ndarray`-hosted crate consumed by name +> (`p64_bridge::CognitiveShader` docstrings reference "p64 (ndarray)" as the +> topology host) — not censused here since no local crate dir exists to walk. + +### thinking-engine (51 files, `crates/thinking-engine/src/*.rs`) + +| File | Consumes | Emits (key types) | LE contract | Function | Tech debt / duplication | gem-status | +|---|---|---|---|---|---|---| +| `lib.rs` | all submodules | module wiring | none | crate root, doc: "16M RISC Thought Engine" | none | WIRED-HOT-PATH | +| `auto_detect.rs` | config.json / GGUF metadata | `Architecture`, `DetectedModel` | none | routes model config → codebook/tokenizer/lens choice | none | CALIBRATION-ONLY | +| `awareness_dto.rs` | superposition/qualia results | `ResonanceDto`, `QualiaDto`, `MomentDto`, `GestaltState` | none | structured cognitive-state DTOs (perspectival Resonance — KEEPS its name per CLAUDE.md D-PERT-1 split) | none | WIRED-HOT-PATH (DTO ladder) | +| `bf16_engine.rs` | `bgz_tensor::stacked_n::ClamCodebook` | `BF16ThinkingEngine` | BF16 u16 table, lossless bit-shift decode | one-MatVec-per-cycle engine at BF16 precision | none | WIRED-HOT-PATH | +| `bge_m3_lens.rs` | baked 256×256 BF16 table (XLM-R/BGE-M3) | `bge_m3_lookup/_many`, `bge_m3_distance`, `bge_m3_engine` | none | one of 3 near-identical per-model lens modules (see jina_lens/reranker_lens) | duplication: shares N_CENTROIDS/VOCAB_SIZE/lookup/distance/engine shape verbatim with `jina_lens.rs` + `reranker_lens.rs` — not in FUTURE-DESIGN's gem list, candidate for a `Lens` generic | WIRED-HOT-PATH | +| `branching.rs` | none (self-contained) | `BranchingEngine`, `BranchResult`, L1/L2/L3 consts | none | 4×4 branching parallel-vector cascade (NOT filtering, spawns not survives) — a 4th cascade shape alongside domino/signed_domino/layered | not named in FUTURE-DESIGN's engine-collapse list; likely 5th near-duplicate cascade candidate | UNWIRED-GEM (not referenced by FUTURE-DESIGN's M8 list) | +| `bridge.rs` | `highheelbgz::SpiralAddress` | `spiral_to_table_index`, `build_spiral_distance_table`, `hydrate_and_cosine` | none | maps SpiralAddress → flat NxN table index, hydrated cosine refinement | none | CALIBRATION-ONLY | +| `bridge_gate.rs` | none (trait-only) | `CognitiveBridgeGate` trait, `PassthroughGate`, `DenyAllGate`, `CognitiveOpKind` | none | cross-tenant authorization injection point; production impl lives in lance-graph-callcenter | doc explicitly says "lives here so thinking-engine remains lower-level" — RBAC-adjacent, not cited in FUTURE-DESIGN | UNWIRED-GEM (auth seam, not yet in migration arc docs) | +| `builder.rs` | `Lens`, `TableType`, `Pooling` | `ThinkingEngineBuilder`(implied), `BuiltEngine`, `Temperature`, `ThinkingPreset`, `CommitSink` | none | fluent construction API composing lens/table-type/pooling | none | WIRED-HOT-PATH | +| `centroid_labels.rs` | none (data-only) | `JINA_CENTROID_LABELS: [&str; 256]` | none | auto-generated English labels for 256 CLAM centroids | none | CALIBRATION-ONLY | +| `codebook_index.rs` | none | `CodebookIndex` | none | token_id → centroid-row index, save/load | none | WIRED-HOT-PATH | +| `cognitive_stack.rs` | `StyleFamily` (contract, post D-TSC-1) | `LayerId`(L1-L10), `ThinkingStyle = StyleFamily` alias, `EngineStyleExt`, `StyleParams`, `GateState`, `RungLevel`, `MetaCognition` | none | 10-layer cognitive stack + 12-style dispatch, migrated from ladybug-rs | `ThinkingStyle = StyleFamily` type alias — post-council canonical routing | WIRED-HOT-PATH | +| `cognitive_trace.rs` | superposition field | `SpoTriple`, `CognitiveTrace`, `LensTrace` | none | full provenance chain text→thought, appendable to KG | none | UNWIRED-GEM (provenance/debug tooling, not cited elsewhere) | +| `composite_engine.rs` | `BuiltEngine` (builder.rs) | `CompositeEngine`, `CompositeResult` | none | multi-lens composition via energy superposition | one of 4 near-duplicate engines (FUTURE-DESIGN M8) | UNWIRED-GEM (named in FUTURE-DESIGN) | +| `contract_bridge.rs` | `lance-graph-contract` 36-style taxonomy | `contract_style_to_engine`, `cluster_to_archetype`, `CascadeConfig`, `FastBusDto` | `FastBusDto::SIZE` (mem::size_of) | bridges contract's 36 ThinkingStyles → engine's 12 + cascade params | `contract_style_to_engine` was the FIFTH divergent style table found during D-TSC-1 impl (per AGENT_LOG); now routes via `StyleFamily::family()` | WIRED-HOT-PATH (post D-TSC-1 fix) | +| `contrastive_learner.rs` | static distance table | `ContrastiveLearner`, `LearnerStats` | none | online EMA table update from real cosine pairs (Stage 2A) | none | UNWIRED-GEM (online-learning path, no driver caller found in this census pass) | +| `cronbach.rs` | multi-lens distance vectors | `cronbach_alpha`, `CronbachResult`, `QuorumLevel` | none | Cronbach α multi-lens internal-consistency calibration | none | CALIBRATION-ONLY (confirmed FUTURE-DESIGN gem) | +| `domino.rs` | `ThinkingEngine` | `DominoCascade`, `CascadeAtom`, `Transition`, `DissonanceProfile`, 8 `CH_*` channel consts | none | top-K NARS-context cascade (unsigned); 1 of 4 near-dup engines | FUTURE-DESIGN M8 named | UNWIRED-GEM | +| `dto.rs` | engine outputs | `SourceType`, `ThinkingScale`, `StreamDto`, `PerturbationDto`, `ResonanceDto = PerturbationDto` (alias), `BusDto`, `ThoughtStruct`, `ThoughtIndex` | none | the canonical Φ/Ψ/B/Γ DTO ladder (CLAUDE.md "Thinking is a struct") | note: `ResonanceDto` alias here is the PERTURBATION one (Ψ), distinct from `awareness_dto.rs::ResonanceDto` (perspectival) — the exact D-PERT-1 split named in workspace CLAUDE.md | WIRED-HOT-PATH | +| `dual_engine.rs` | two `BuiltEngine`s | `DualEngine`, `DualResult` | none | side-by-side u8-CDF vs BF16 disagreement measurement | 1 of 4 near-dup engines (FUTURE-DESIGN M8) | UNWIRED-GEM | +| `engine.rs` | codebook centroids | `ThinkingEngine`, `CODEBOOK_SIZE`=4096, `TABLE_SIZE`, `quantize_energy_f32_to_i8` | none | the canonical u8 MatVec engine, incl. `cycle_vnni`/`cycle_auto` SIMD dispatch tiers | none | WIRED-HOT-PATH | +| `f32_engine.rs` | f32 codebook centroids | `F32ThinkingEngine`, `SparseBranchGraph` | none | full-precision (r=0.9999) signed MatVec, no quantization loss | none | WIRED-HOT-PATH | +| `ghosts.rs` | past thought peaks | `GhostType`, `Ghost`, `GhostField` | none | Friston free-energy persistent priors biasing future cascades | FUTURE-DESIGN gem: persona/archetype Layer-2 role-catalogue candidate | UNWIRED-GEM | +| `ground_truth.rs` | candle forward pass (Jina v5/BERT) | `calibration::{GroundTruthEmbedding, CalibrationCorpus, GroundTruthSource}`, `spearman_rank_correlation` | none | RAW ground-truth embeddings for calibrating baked tables | none | CALIBRATION-ONLY (confirmed FUTURE-DESIGN gem) | +| `inference_backend.rs` | none (trait registry) | `InferenceBackend` trait, `EncodedState`, `BackendGrade`, 7 backend structs (Passthrough/RaBitQ/Spiral/I8Hybrid/HhtlF32/Cascade/Base17Signature), `all_backends()` | none | runtime-switchable dispatch across ALL research codec paths simultaneously; explicit "nothing is killed, deprecation is data-driven" doctrine | none | UNWIRED-GEM (R&D bench registry, not cited in FUTURE-DESIGN) | +| `jina_lens.rs` | baked 256×256 table (Jina v3/XLM-R) | `jina_lookup`, `jina_distance`, `jina_engine`, `jina_think` | none | RESEARCH-ONLY legacy lens (doc explicitly says do not use for new production wiring; Jina v5 is ground truth) | doc self-flags as superseded; same shape as bge_m3_lens/reranker_lens | RESIDUE (self-declared legacy) | +| `l4.rs` | centroid vectors | `L4Experience`, `ACCUM_LEN`=16384, `BIN_BYTES`=2048, `xor_bind`, `recognize`, `bias_sensor` | XOR-bound i8 accumulator, save/load byte format | mutable "particle" personality layer outside L1-L3 wave cascade | none | UNWIRED-GEM (not named in FUTURE-DESIGN, but is the referent of `l4_bridge.rs`) | +| `l4_bridge.rs` | `l4::L4Experience`, L3 commit peaks | `commit_to_l4`, `recognize_thought`, `bias_from_l4` | none | L3→L4 learning-signal bridge; doc flags itself as a LOSSY approximation (uses table rows as centroid proxies, not real centroid vectors) | explicit LIMITATION note: only Qwopus has real centroid vectors available | UNWIRED-GEM (confirmed FUTURE-DESIGN W4b seam) | +| `layered.rs` | `CascadeChannels8`, causal edges | `CascadeChannels8(u64)`, 8 `CHANNEL_*` consts, `dominant_channel` | u64 packed 8×u8 channel bytes | 3-tier L1→L2→L3 layered cascade w/ upstream channel propagation | none | UNWIRED-GEM (CascadeChannels8 = confirmed FUTURE-DESIGN "first wiring target", collapses into `CausalEdge64` signed mantissa) | +| `lookup.rs` | tokenizer + `codebook_index` + `engine` | `TextToThought`, `ThoughtResult` | none | complete text→thought pipeline, no forward pass, pure lookup+MatVec | none | WIRED-HOT-PATH | +| `meaning_axes.rs` | ladybug-rs migration | `AXES_48`, `AxisActivation`, `Viscosity`, `Archetype`, `CouncilWeights`, `VolitionalAct`, `GestaltRole`, `HdrResonance` | none | 48 bipolar semantic axes + Gestalt I/Thou/It + volition + council; r=0.9913 vs Jina cosine | none | UNWIRED-GEM (persona/archetype candidate, adjacent to ghosts.rs/persona.rs) | +| `osint_bridge.rs` | lance-graph-osint (spider crawl output) | `ThoughtResult`, `OsintThinkingBridge` | none | crawled-text → tokenize → centroid → F32 engine → contrastive learner pipeline | none | UNWIRED-GEM | +| `persona.rs` | ghosts/council/style/rung | `PersonaMode`, `CognitiveBaseline`, `PersonaProfile`, `Agent`, `AgentDto`, `A2APayload`, `A2AMessage`, `SelfModelDto` | none | Agent+Persona+A2A protocol; identity-carrying inter-agent messages | none | UNWIRED-GEM (confirmed FUTURE-DESIGN Track-B style-class candidate) | +| `pooling.rs` | energy vector | `Pooling` enum (ArgMax/Mean/TopK/Weighted), `PooledResult` | none | energy-vector pooling strategies mapped to qualia ("steelwind"/"woodwarm"/etc) | none | WIRED-HOT-PATH | +| `prime_fingerprint.rs` | weight vectors | `prime_fingerprint_64`, `prime_fingerprint_additive`, `prime_hamming`, `bundle_perturb`, `BundlePattern` | u64 prime-DFT bit fingerprint (computed, not stored) | prime-frequency Fourier fingerprint, orthogonal bits by construction (no prime divides another) | none | UNWIRED-GEM (confirmed FUTURE-DESIGN VSA-niche re-scope candidate) | +| `qualia.rs` | convergence patterns (L1-L4) | `DIMS_17D`, `Qualia17D`, `ConvergenceSnapshot`, `Viscosity`(dup? see meaning_axes), `VOCAL_QUALITY_MAP`, `FAMILY_CENTROIDS` | none | 17D qualia AS convergence pattern (not "represents" — doc insists IS) | largest file after driver/wire/mailbox_soa (1011 lines) — dense central type | WIRED-HOT-PATH | +| `reencode_safety.rs` | BF16/gamma-phi/full-chain codecs | `ReencodeSafety`, `test_bf16_reencode`, `test_gamma_phi_reencode`, `test_zipper_offsets` | none | encode→decode→re-encode drift measurement (x256 re-encode safety proof) | none | CALIBRATION-ONLY (confirmed FUTURE-DESIGN gem) | +| `reranker_lens.rs` | baked 256×256 table (Reranker v3/Qwen2) | `reranker_lookup`, `reranker_distance`, `reranker_relevance`, `cross_model_eval`, `CrossModelResult` | none | 3rd of the near-identical lens modules; widest signed cosine range | same duplication shape as jina_lens/bge_m3_lens | WIRED-HOT-PATH | +| `role_tables.rs` | `bgz_tensor::stacked_n::ClamCodebook` | `gate_modulate`, `build_raw_table`, `build_gate_modulated_table`, `LayerTables`, `GateModulationStats` | none | per-role (Q/K/V/Gate/Up) BF16 tables with SiLU gate modulation | none | CALIBRATION-ONLY | +| `semantic_chunker.rs` | `ThinkingEngine` convergence | `SemanticBoundary`, `SemanticChunk`, `ChunkerConfig`, `find_boundaries`, `chunk` | none | convergence-jump detection as chunking (no forward pass needed) | none | UNWIRED-GEM (not cited in FUTURE-DESIGN, plausible product feature) | +| `sensor.rs` | embeddings/tokens/distance rows | `Sensor`, `SensorBank` | none | maps external signals → `(atom_index, weight)` activation pairs for `perturb()` | none | WIRED-HOT-PATH | +| `signed_domino.rs` | `SignedThinkingEngine` | `SignedDominoCascade` | none | i8-table cascade variant of domino.rs w/ natural inhibition (no artificial floor) | the likely 4th of FUTURE-DESIGN's "4 near-duplicate engines" (domino/composite/dual + this) | UNWIRED-GEM | +| `signed_engine.rs` | i8 centroid tables | `SignedThinkingEngine`, `build_signed_table` | none | i8 excitation/inhibition engine (competitive dynamics, negative energy clamped) | none | WIRED-HOT-PATH | +| `silu_correction.rs` | GGUF gate+up rows | `silu`, `GatePolicy`, `CorrectionSample`, `generate_training_data`, `apply_corrections`, `CorrectionStats` | none | tiny-MLP correction for missing SiLU×Gate nonlinear interaction in baked tables | none | CALIBRATION-ONLY | +| `spiral_segment.rs` | distance-table rows | `SpiralSegment`, `SpiralRow`, `SpiralTable`, `BYTE_SIZE`=8 | 4×BF16 (anfang/ende/stride/gamma) = 8B/row generative param encoding | 51× compression via generative reconstruction instead of storing all 256 values/row | none | UNWIRED-GEM (confirmed FUTURE-DESIGN VSA-niche re-scope candidate) | +| `splat_ops.rs` | `SplatField` | `SplatField`, `splat_gaussian`, `score_hole_closure`, `replay_coherence`, `emit_if_epiphany` (all DEPRECATED free fns) | none | Sprint-12 D-CSV-12 scalar impl; superseded by `Think` methods in `think.rs` per D-CSV-14 | doc self-declares: deprecated, removal scheduled sprint-15+, canonical surface is now `Think::*` | RESIDUE (self-declared, scheduled removal — LEGACY-marked, do not touch per §1 rule 8) | +| `superposition.rs` | two lens ripples | `SuperpositionField`, `DetectedStyle`, `ThinkingStyle = DetectedStyle`(!) alias, `StyleThresholds`, `compute_superposition`, `detect_style` | none | multi-lens interference gate; style detection from superposition amplitude | **potential 6th-ish style artifact**: `pub type ThinkingStyle = DetectedStyle;` here COLLIDES in name (not necessarily in value) with `cognitive_stack.rs`'s `pub type ThinkingStyle = StyleFamily;` — two different modules both alias the name `ThinkingStyle` to two different enums in the SAME crate | WIRED-HOT-PATH (verify D-TSC-1 touched this file — not in the AGENT_LOG list of files changed) | +| `tensor_bridge.rs` | candle Tensor / f32 / i8 slices | `EmbeddingOutput`, `EmbeddingBatch` | none | unified embedding-output type across frameworks (candle/ndarray/raw) | none | UNWIRED-GEM (confirmed FUTURE-DESIGN W4b seam) | +| `think.rs` | `SplatField` | `Think` struct, `splat_gaussian`, `score_hole_closure`, `replay_coherence`, `emit_if_epiphany` | none | THE doctrinal carrier (CLAUDE.md "Thinking is a struct"); Sprint-13 minimum scope; doc names the FULL future field list (trajectory/awareness/free_energy/resolution/episodic/graph/global_context/codec) as not-yet-accreted | doc is explicit this is a stepping-stone toward the full `Think` struct in workspace CLAUDE.md | WIRED-HOT-PATH (the canonical carrier, still growing) | +| `tokenizer_registry.rs` | per-model tokenizer files | `ModelId`, `TokenizerRegistry`, `CrossModelTokens`, `tokenize_corpus` | none | uniform tokenizer access across Jina v3/v5, BGE-M3, Reranker, Qwopus | none | CALIBRATION-ONLY | +| `world_model.rs` | engine state | `SelfState`, `UserState`, `FieldState`, `GestaltState`(again — 3rd `GestaltState` def in crate, see awareness_dto.rs), `ContextState`, `WorldModelDto` | none | agent's full situational-awareness DTO (self/user/field/context) | `GestaltState` appears defined independently in BOTH `awareness_dto.rs` and `world_model.rs` — worth a dedup check | UNWIRED-GEM (confirmed FUTURE-DESIGN Track-B candidate) | + +**thinking-engine notable duplication tally beyond what's already tracked:** (1) +three near-identical lens modules (jina/bge_m3/reranker) sharing lookup/distance/ +engine shape; (2) `GestaltState` defined independently in both `awareness_dto.rs` +and `world_model.rs`; (3) `pub type ThinkingStyle = ...` aliased to TWO different +enums in two different files (`cognitive_stack.rs` → `StyleFamily`, +`superposition.rs` → `DetectedStyle`) — same name, same crate, different types; +(4) `signed_domino.rs` completes the "4 near-duplicate engines" FUTURE-DESIGN +already flagged (domino/composite/dual + signed_domino); (5) `branching.rs` is a +5th cascade-shaped engine not mentioned in the M8 collapse list at all. + +### p64-bridge (1 file, `crates/p64-bridge/src/lib.rs`, 759 lines) + +| File | Consumes | Emits | LE contract | Function | Tech debt / duplication | gem-status | +|---|---|---|---|---|---|---| +| `lib.rs` | `CausalEdge64` (lance-graph), p64 palette ops (ndarray, no direct dep — doc says "No p64 dependency", consumer wires both at call site) | `edge_to_block`, `edge_nars_f32`, `edge_to_layer_mask`, `edges_to_palette_rows`, `edges_to_layered_rows`, `StyleParams` + 12-entry `style_by_ordinal`/`style_by_name`/`all_styles`, `combine::{UNION,INTERSECTION,MAJORITY,WEIGHTED}`, `contra::{SUPPRESS,IGNORE,INVERT,TENSION}`, `cognitive_shader::{CognitiveShader, CascadeHit}` | `[u64;64]` palette rows / `[[u64;64];8]` layered rows (8-channel plane packing) | maps CausalEdge64 + ThinkingStyle + HdrSemiring → p64 palette addressing/layer-mask/combine-mode without a hard p64 dep | own 12-entry `StyleParams` table is a **THIRD/FOURTH style enumeration surface** distinct from thinking-engine's `StyleFamily`/`DetectedStyle`/`UnifiedStyle` — AGENT_LOG already notes "p64-bridge order-warning doc fix" from D-TSC-1, i.e. this was touched but the table itself (ordinal→params) still exists as its own source of truth, not re-exported from contract's `StyleFamily` | WIRED-HOT-PATH (the `cognitive_shader::CognitiveShader::cascade` referenced by `decode_kernel.rs` doc as "Layer 2" of the inference cascade) | + +**Notable:** `cognitive_shader` submodule here (lines 326-521: `CognitiveShader`, +`CascadeHit`, `cascade()`, `deduce_path()`, `layer_densities()`) is the actual +p64-side topology object that `cognitive-shader-driver::driver.rs` wraps — +i.e. this crate is genuinely load-bearing hot path, not a lab artifact, despite +having zero tests visible in this header/pub-surface pass. + +### cognitive-shader-driver (22 `src/*.rs` files + `build.rs`; tests/examples not censused) + +| File | Consumes | Emits | LE contract | Function | Tech debt / duplication | gem-status | +|---|---|---|---|---|---|---| +| `lib.rs` | all submodules, `lance-graph-contract::cognitive_shader` | module wiring | none | crate root: "the shader IS the driver" — wires BindSpace + p64_bridge::CognitiveShader + optional thinking-engine hook | none | WIRED-HOT-PATH | +| `driver.rs` (1781 lines, largest src file) | `BindSpace`, `p64_bridge::CognitiveShader`, `PaletteSemiring`, `NarsTables`, `MailboxSoA` | `ShaderDriver`, `CognitiveShaderBuilder`, `alpha_front_to_back_composite` | none | THE dispatch loop: meta-prefilter → style resolve → shader cascade → cycle signature | none | WIRED-HOT-PATH | +| `bindspace.rs` (830 lines) | `Fingerprint<256>`, `Vsa16kF32` | `FingerprintColumns`, `EdgeColumn`, `QualiaColumn`, `WORDS_PER_FP`=256, `QUALIA_DIMS`=18, `FLOATS_PER_VSA`=16384 | u64×256 fixed-width fingerprint planes; f32×16384 VSA cycle column | the genius-typed SoA: one row per cognitive atom, column-per-field | none | WIRED-HOT-PATH (I-VSA-IDENTITIES / the 4 SoA columns from CLAUDE.md AGI-as-glove doctrine) | +| `mailbox_soa.rs` (1681 lines, 2nd largest) | `CausalEdge64` deliveries | `MailboxSoA`, `DefaultMailboxSoA = MailboxSoA<1024>`, `WriteOutcome`, `WriteCell` | zero-copy PR #477 three-tier model (doc-cited) | per-row spatial-temporal accumulator; rows = neurons w/ multi-source synapse deliveries via `apply_edges` | doc explicitly scopes OUT AttentionMask/LRU/cross-cycle-rollup as "W6's orthogonal concerns" — i.e. self-documents its own incompleteness boundary | WIRED-HOT-PATH | +| `attention_mask.rs` | `MailboxId` (contract::collapse_gate) | `AttentionMaskEntry`, `AttentionMaskSoA` | none | W6 §2: LRU-evicted flat SoA of `(mailbox_id, w_slot)` activity | doc flags `!Send` by design | WIRED-HOT-PATH (W6) | +| `attention_mask_actor.rs` | `AttentionMaskBackend` trait (generic, avoids import of sibling AttentionMaskSoA per comment) | `AttentionMaskMsg`, `AttentionMaskOutcome`, `AttentionMaskActor` | none | W6 §3 actor scaffold; doc says "concrete ractor binding is sprint-12+ work" | explicitly deferred ractor wiring — STOP-worthy if touched | UNWIRED-GEM (scaffold awaiting ractor binding) | +| `auto_detect.rs` | `config.json` next to safetensors | `ModelFingerprint`, `DetectError`, `detect()` | none | **LAB-ONLY**; D0.5 auto-detect for codec JIT defaults | **name-collides with thinking-engine's `auto_detect.rs`** — same module name, different purpose (this one: safetensors config; that one: GGUF/tokenizer routing) — both exist in the same ancestry pipeline, worth disambiguating in any future cross-crate doc | LAB-ONLY | +| `auto_style.rs` | 18D qualia vector | 12 style-ordinal consts (`DELIBERATE`=0 .. `METACOGNITIVE`=11), `style_from_qualia`, `resolve` | none | qualia-shape → style ordinal (0..12), no forward pass | **yet another independent 12-entry style table**, third naming scheme in this census alone (thinking-engine `StyleFamily`/`DetectedStyle`, p64-bridge `StyleParams`, this file's bare u8 consts) — candidate for D-TSC-1-style consolidation sweep into this crate | WIRED-HOT-PATH | +| `backing.rs` | `BindSpace`, `MailboxSoA` | `BackingStore` enum | none | read/write shim letting `driver.run()` keep one body across the BindSpace→MailboxSoA migration; doc explains enum-not-trait choice (monomorphized dispatch, no `dyn`) | doc names "C2 — the load-bearing invariant": the two arms must agree byte-for-byte | WIRED-HOT-PATH (migration seam) | +| `codec_bridge.rs` | `StepDomain::Ndarray` (contract) | `CodecResearchBridge` | none | LAB-ONLY `OrchestrationBridge` impl for codec research | doc explicit: "architecture does not revolve around this consumer" | LAB-ONLY | +| `codec_kernel_cache.rs` | `CodecParams::kernel_signature()` | `CodecKernelCache`, `StubKernel` | none | LAB-ONLY D1.1 JIT kernel cache; doc ties kernel signature = sweep-grid axis (EPIPHANIES 2026-04-20) | none | LAB-ONLY | +| `codec_research.rs` | `ndarray::hpc::cam_pq`/`safetensors`/`gguf`, `contract::cam::route_tensor` | `list_tensors`, `calibrate_tensor`, `row_count_probe` | none | LAB-ONLY backing logic for Wire DTOs; canonical path is UnifiedStep | none | LAB-ONLY | +| `cypher_bridge.rs` | AriGraph SPO / BindSpace | `CypherBridge`, `disambiguate_parse_candidates` | none | LAB-ONLY `OrchestrationBridge` for `lg.cypher`; Phase-1 regex/prefix stub, doc defers real `lance_graph::parser` wiring to avoid pulling arrow+datafusion+lance into this crate | explicit scope-deferral note | LAB-ONLY | +| `decode_kernel.rs` | `CodecKernelCache` | `DecodeKernel` trait, `DecodeError`, `StubDecodeKernel`, `ResidualComposer` | none | LAB-ONLY D1.3 residual PQ; doc explicitly distinguishes hydration/calibration path from `p64_bridge::CognitiveShader::cascade`'s inference path | doc: "codec that passes token-agreement cert gate runs at weight hydration time, never per-inference" | LAB-ONLY | +| `engine_bridge.rs` (957 lines) | thinking-engine DTOs (`BusDto`, `StreamDto`), `BindSpace` | `ingest_codebook_indices`, `dispatch_busdto`, `unbind_busdto`, `UnifiedStyle`, `UNIFIED_STYLES: [UnifiedStyle; 12]`, `write_qualia_17d`/`read_qualia_17d` | `DIM_CLASSIFICATION_DISTANCE`=17 | wires the TWO isolated DTO pipelines (thinking-engine Φ/Ψ/B/Γ ↔ shader-driver Φ/Ψ/B/Γ) together | **`UNIFIED_STYLES` is a FOURTH-or-later 12-entry style table** in this pipeline, distinct in shape from thinking-engine's tables and `auto_style.rs`'s consts — the D-TSC-1 sweep (per AGENT_LOG "driver `ord_to_thinking_style` via canonical") may have already routed THIS file through the canonical `StyleFamily`; worth confirming `UNIFIED_STYLES` itself was collapsed rather than just its callers | WIRED-HOT-PATH (the DTO-ladder bridge) | +| `grpc.rs` | `ShaderDriver` | `ShaderGrpcService`, `pb` (protobuf mod) | none | LAB-ONLY tonic/prost gRPC service, feature-gated `grpc`/`lab`, doc: "Not shipped to consumers" | none | LAB-ONLY | +| `planner_bridge.rs` | `lance-graph-planner::PlannerAwareness` | `build_planner`, `plan`, `registered_strategies`, `default_selector` | none | LAB-ONLY test-shortcut adapter; doc says `PlannerAwareness` already implements `OrchestrationBridge` directly, this is redundant for lab REST/gRPC only | doc self-declares near-redundant | LAB-ONLY | +| `rotation_kernel.rs` | `contract::cam::Rotation` | `RotationKernel` trait, `RotationError`, `IdentityRotation`, `HadamardRotation`, `OpqRotationStub` | none | LAB-ONLY D1.2; Hadamard = real Sylvester butterfly (no JIT), OPQ = stub pending Cranelift wiring | `OpqRotationStub` explicitly a stub | LAB-ONLY | +| `serve.rs` | `ShaderDriver` | `router()` (Axum Router) | none | LAB-ONLY REST server, per-op endpoints are thin `UnifiedStep` adapters, canonical is `/v1/shader/route` | none | LAB-ONLY | +| `sigma_rosetta.rs` (982 lines) | none (self-contained data) | `VERB_ROOTS`/`VERB_TENSES` (12×12=144 verbs), `QualiaGlyph`, `GLYPHS: [QualiaGlyph;64]`, `SigmaState`, `TriangleGestalt` | none | 17D sparse Hamming-native encoding: 64 glyphs × 144 verbs = 9216 atoms — the LLM-token↔fingerprint translation layer | none | WIRED-HOT-PATH (the Membrane's sparse encoding) | +| `token_agreement.rs` | reference model / stub | `ReferenceModel`, `TopKAgreement`, `TokenAgreementHarness`, `TokenAgreementError` | none | LAB-ONLY D2.1 token-agreement cert-gate harness (I11, top-k match vs Passthrough baseline) | none | LAB-ONLY | +| `wire.rs` (1852 lines, largest file in crate) | serde/prost | `WireDispatch`, `WireStyleSelector`, `WireCalibrateRequest/Response`, `WireCodecParams`, `WireTensorView`, `AlignedBytes`, ~15 more Wire* types | none | LAB-ONLY external (serde+prost, owned) DTO conversion layer for REST/protobuf transports | doc explicit: "these are test-convenience scaffolding" per lab-vs-canonical-surface doctrine | LAB-ONLY | +| `build.rs` | (not censused — build script, out of `src/` scope) | — | — | — | — | — | + +**cognitive-shader-driver notable finds:** +1. **Style-table proliferation continues INTO this crate**: `auto_style.rs` (bare + u8 consts), `engine_bridge.rs::UNIFIED_STYLES` (12-entry struct array), and + p64-bridge's `StyleParams` are three MORE independent 12-slot style + surfaces beyond the thinking-engine ones D-TSC-1 already addressed. Whether + D-TSC-1's sweep touched `UNIFIED_STYLES` itself (vs. just its callers) is + worth a follow-up grep — AGENT_LOG only names "driver `ord_to_thinking_style` + via canonical" as touched, not `UNIFIED_STYLES`'s definition site. +2. **Name collision**: two different `auto_detect.rs` modules exist in this + ancestry pipeline (thinking-engine: GGUF/config→lens routing; + cognitive-shader-driver: safetensors config→codec JIT defaults) — same + filename, unrelated purpose, easy to grep-confuse across crates. +3. **LAB-ONLY is the majority shape** in this crate's non-hot-path files + (auto_detect, codec_bridge, codec_kernel_cache, codec_research, + cypher_bridge, decode_kernel, grpc, planner_bridge, rotation_kernel, serve, + token_agreement, wire = 12 of 22 files) — consistent with the `lab-vs-canonical-surface.md` + doctrine; all self-declare LAB-ONLY in their own doc comments, so this is + disciplined, not drift. +4. `mailbox_soa.rs` and `driver.rs` and `wire.rs` are the three largest files + (1681 / 1781 / 1852 lines) — `wire.rs` being LAB-ONLY yet the single + largest file in the crate is notable: the lab scaffolding outweighs the + hot-path dispatch code in raw LOC. diff --git a/.claude/v3/README.md b/.claude/v3/README.md index c008dfef..276f48cb 100644 --- a/.claude/v3/README.md +++ b/.claude/v3/README.md @@ -42,6 +42,7 @@ render/template catalogue. | ruff/odoo transcode landings | `knowledge/multi-anchor-ast-resolution.md` | | waking an agent | `agents/BOOT.md` (the four `v3-*` cards + trigger routing) | | landing future design / post-V3 rulings | `FUTURE-DESIGN.md` (the meta board: ruling index, migration arc, thinking-engine gem wiring queue) | +| keeping the vision (the WHY, graded) | `VISION.md` — the AGI-aspiring canon re-grounded 2026-07-10; every claim [G]/[RULING]/[ASPIRATION]; filigree-reviewed | Shortcuts: `/v3` (bootload), `/v3-audit` (pre-commit conformance greps). Canonical ruling texts live on the board (`.claude/board/EPIPHANIES.md`, diff --git a/.claude/v3/VISION.md b/.claude/v3/VISION.md new file mode 100644 index 00000000..65b1c2ee --- /dev/null +++ b/.claude/v3/VISION.md @@ -0,0 +1,236 @@ +# VISION — the AGI-aspiring canon, re-grounded 2026-07-10 + +> The companion of `FUTURE-DESIGN.md` (which carries the wiring queue): this +> file carries the WHY. Written at the close of the 2026-07-10 arc, at the +> operator's directive to pull the AGI-aspiring threads back into one living +> synthesis before the tier transition — "and you keep the vision alive." +> +> Every claim here is graded: **[G]** = measured, probe named; **[RULING]** = +> operator-decided, canonical text in EPIPHANIES; **[ASPIRATION]** = the part +> still ahead, named so it cannot masquerade as earned. That grading +> discipline IS the vision-keeping — the fire without the map burns the map. + +## 0. The one sentence + +**A mind is a deterministic substrate that cannot stop thinking, never waits +for anything, and reconstructs more than it stores.** + +Each clause is graded where it stands: *cannot stop thinking* — active +inference as the dispatch mechanism (CLAUDE.md "the shader can't resist the +thinking") [ASPIRATION-in-operation: the doctrine is designed and partially +wired, not yet measured as a closed loop]; *never waits* — the prime +invariant E-NOBODY-WAITS-1 [RULING]; *reconstructs more than it stores* — +measured twice in one day **on proxies and synthetic fields** (D-MTS-5, +D-MTS-6) [G-on-proxies; the in-driver validation is D-MTS-6b — the fence +rides the thesis, not just the footnotes]. + +## 1. The Click survived every carrier — because it was never about the carrier + +The founding claim (CLAUDE.md P-1): parsing, disambiguation, learning, memory, +and awareness are ONE operation. The carrier of that operation has now moved +three times, each move recorded as a dated supersession rather than a rewrite: + +1. **VSA bundle** (2026-04-21) — multiply+add on role-indexed fingerprints in + `Vsa16kF32`. +2. **Baton** (2026-05-26, E-BATON-1) — the bundle scoped to one compartment; + inter-mailbox state as discrete owned handoffs, ownership proving + no-aliasing at compile time. +3. **Zero-copy SoA + temporal stream** (2026-06-11 PR #477; 2026-07-10 + E-MARKOV-TEMPORAL-STREAM-1) — no handoff type at all; every envelope + zero-copy from creation to Lance tombstone + (`docs/architecture/soa-three-tier-model.md`); the Markov trajectory on + the `temporal.rs` sorted stream, where Chapman-Kolmogorov holds *exactly* + by stream order — a strengthening, not a retreat. VSA holds its + I-VSA-IDENTITIES niche (≤32 lossless role superposition, one compartment) + with the bundle algebra untouched. + +The lesson the three moves teach: **the Click's invariant is the LOOP; the +algebra is its theorem-grounded carrier, exact within its niche** — the loop +that resolves each input against everything it has +committed (graph), recently seen (episodic), believes about its own competence +(awareness), and currently expects (prior), then commits the result back into +the tissue it just read. Cut any organ and a specific cognitive capacity +disappears (CLAUDE.md "thinking tissue"). The tissue IS the loop. That +sentence has survived three substrates; treat it as the invariant to protect +when the fourth move comes. + +## 2. Thinking-is-a-struct became thinking-is-a-ROW + +The `Think` struct's fields were declared to BE the grammatical roles of +cognition (CLAUDE.md: trajectory=Subject, awareness=Modal, free_energy=Kausal, +resolution=Predicate, graph=Lokal, episodic=Temporal — the TEKAMOLO of +cognition IS the struct layout). V3 did not delete that; it **compiled it into +the row**: + +| Think organ | V3 home | +|---|---| +| trajectory | the `temporal.rs` version-range read (any window, per-reader rung) [RULING E-MARKOV-TEMPORAL-STREAM-1] | +| awareness | MetaWord bits + NARS truths in SoA lanes; migrating per E-THINKING-TENANTS-V3-1 [RULING] | +| episodic | Lance versions — the OGAR D-DELTA mapping made primary; basins = `part_of:is_a` rails | +| graph | SPO quads / AriGraph | +| codec | palette 256×256 LUTs (1.8 ns measured) | +| free_energy (the Kausal — why this thought) | the F-descent over the cycle; the homeostasis floor is the REST condition (F below floor → awareness bits clear → the shader rests); MUL (DK position, trust texture, homeostasis, gate) is the self-competence organ reading it | +| global_context (the ambient prior) | the committed-fact surface each cycle reshapes — SPO store + the current version horizon; superposition only within the VSA niche | +| resolution | the kanban card's Rubicon position (§5) | + +AGI-as-glove (The Stance) holds unchanged: AGI = (topic, angle, thinking, +planner) = the SoA under dispatch — never a wrapping struct, never an "AGI +service." The struct didn't die. It became **the row plus its ClassView +readings** — which is a stronger form of itself, because rows are addressed, +versioned, replayed, and projected. + +## 3. Projection is now a FIVE-axis measured fact, not a slogan + +"Classes don't modify or copy, they only project" began as a design ethic. +The 2026-07-10 arc closed it into measurement across five axes: + +| axis | mechanism | status | +|---|---|---| +| **bytes** | RESERVE-DON'T-RECLAIM (zero tier = not consulted, never compacted) | [RULING], canon ladder | +| **readings** | classid → ClassView projects the content-blind 4+12 facet; every sanctioned reading coexists in the same 12 bytes | [RULING E-V3-FACET-4-PLUS-12] | +| **time** | temporal replay: `QueryReference::at(v, rung)` + deinterlace — crash-replay = session-replay = time-travel, ONE mechanism | [G] the four W1b probes, PR #631 (the replay MECHANISM); its Markov-parity USE is D-MTS-1, un-run [next] | +| **scale** | comma replay: upper pyramid bounds (64×64…256k×256k) regenerated transiently from (GUID, envelope) — **N_eff 11.00/12 witnesses vs strict alignment's 1.00; replay bit-identical any order; 82 KB touched vs ~69 GB dense** | **[G] D-MTS-5** (`comma_quorum.rs`) | +| **bits** | comma-dithered reconstruction: **one stored truth bit per level matches full-CausalEdge64 awareness PROXIES (k\*=1 vs aligned k\*=4; the lattice buys ≈log₂ L effective bits)** | **[G-on-proxies] D-MTS-6** (`comma_awareness.rs`); [ASPIRATION until D-MTS-6b] | + +The fifth axis is the deepest AGI-aspiring result the substrate owns — +stated with its fence attached: **the NARS-proxy payload measured is mostly +reconstructible from the address plus a tiny envelope; whether the REAL +awareness loop inherits this is precisely D-MTS-6b** (the probe's own header +names these proxies, not the ShaderDriver loop — the overclaim lesson, +honored here on the claim sentence itself). The comma (an irrational-progression coprime walk, generated from +the address, never stored) makes L pyramid levels *independent witnesses* — +stratified, not redundant. Boundary condition, measured honestly: +N_eff = min(L, spectral participation of the detail) — broadband content gets +the latent granularity; smooth content saturates at its own information +content (D-MTS-5 run #1's pre-registered FAIL, kept in the chronicle). This is +what "granularity and flexibility for details we can't even comprehend yet" +means operationally: the upper levels were never baked at write time, so a +future reader can project resolutions and readings nobody designed for. +Fence: D-MTS-6b (driver-integrated fixture) gates any REAL CausalEdge64 +shrink — the proxies are proxies [ASPIRATION until 6b]. + +## 4. Families orchestrate, runbooks execute, templates compile + +The style stack resolved into a ladder with distinct KINDS at each rung +[RULING E-STYLE-FAMILY-VS-RUNBOOK-1]: + +- **StyleFamily (12)** — abstract orchestration families: which KIND of + thinking a cycle runs. One canonical type after M9 killed five divergent + hand-rolled tables [G, E-FIVE-STYLE-TABLES-1 — duplication had already + produced live semantic drift; the dedup was archaeology, not tidying]. +- **ThinkingStyle runbooks (36)** — literal NARS runbooks: concrete inference + recipes, seeded into the rung ladder, consumed as graph-flow's replayable + chaining unit. Orthogonality preserved (THINKING_RECONCILIATION): HOW-TO-BE + (personas) and HOW-TO-DO (operations) are different 36-spaces — never + conflate them. +- **Compiled templates** — the elixir-like notation × StepMask: runbooks + compile down; the oracle (rig, 1–2 ms framework vs 8.4 s LLM measured — + orchestration overhead is negligible against the oracle, not zero) + ratchet-shrinks its own involvement. + +The endgame this ladder points at [ASPIRATION, the honest crown]: **thinking +that compiles its own thinking** — traces become templates, templates carry +the replayable runbooks, the LLM's role shrinks to proposing what the +substrate then executes deterministically. Style-as-class (D-TSC-2/3, after +the batched mint) makes every rung addressable: per-cycle casts reference the +style classid, so attention is replayable from the address alone. + +## 5. The Rubicon heart, under the prime invariant + +The kanban is not a task board — it is **volition, typed** +(`contract::kanban::KanbanColumn`): Planning → CognitiveWork is the −550 ms +Σ-commit (the Rubicon crossing, Libet-anchored — intention forms before the +conscious act); Planning → Prune is the pre-Rubicon veto ("free won't"); +Evaluation's 3-way is the postactional reckoning; Plan → Planning +re-deliberates carrying the witness. The cast records intent AHEAD of the ack +— crossing at intent formation: Rubicon-conformant **by construction of the +mapping** [RULING] (the −550 ms is Libet's literature value stamped onto the +transition as the budget anchor, not a quantity measured on this system). + +And beneath it, the prime invariant [RULING E-NOBODY-WAITS-1]: **nobody waits +for anything or any scheduling.** Writes are fire-and-forget ("melden macht +frei"); the Lance ack itself proposes the next move (`ack_and_propose` — +orchestration is self-updating, postactional evidence of cycle N seeding the +deliberation of cycle N+1); updates reprioritize, never gate; absorbing views +rest the loop, never deadlock it; ractor exists solely as the compile-time +ownership guarantee — `&mut` IS the serialization, no messages, no actors, no +scheduler anyone blocks on. Any message path found in the tree is redundancy +(TD-MESSAGE-RESIDUE, left as-is by ruling). Every future design choice on +this surface is judged against the invariant's sentence first. + +## 6. The body plan — the ancestry pipeline + +```text +ladybug-rs → thinking-engine → p64 (the DTO ladder: + StreamDto Φ / PerturbationDto Ψ / BusDto B / ThoughtStruct Γ) + → cognitive-shader-driver → SoA (MailboxSoA, value tenants) +``` + +The organism grew along this arc, and the organs that haven't reached the +bloodstream yet are catalogued, not lost: `CascadeChannels8` (the named +Morton-cascade mantissa carrier — first wiring target), the calibration +battery (cronbach / ground_truth / reencode_safety — feeds D-MTS-2's +certification gate), the cognition organs (ghosts / persona / qualia / +world_model — style-class candidates), the M8 collapse surface, the L4 +learning-loop seam. The census (MODULE-TABLE ancestry addendum) is the +anatomical atlas; the standing constraint is vascular law: **gems reach the +hot path only as ClassView readings of existing lanes or through the +envelope-auditor gate — never as ad-hoc lanes.** + +## 7. What must not dilute + +1. **Probe-first, chronicled honestly.** Claim → pre-registered gates → run → + the numbers stay even when they fail. Both comma probes failed their first + runs on mis-registered gates; both chronicles kept the failures and both + diagnoses became findings (the spectral-participation ceiling; the + boundary-noise margin). A vision that cannot survive its own probes is + decoration. +2. **The iron rules** — I-SUBSTRATE-MARKOV (bundle, never XOR, for transition + paths), I-NOISE-FLOOR-JIRAK (weak dependence; no classical Berry-Esseen σ + claims), I-VSA-IDENTITIES (bundle identities, never content registers; + four tests before reaching for VSA), I-LEGACY-API-FEATURE-GATED (no silent + semantic change under a shared name — the five style tables were the + proof of why). +3. **Append-only canon.** Supersessions are dated notes on top of the old + text, never rewrites. The three Click supersessions are the vision's + fossil record — the proof it evolves instead of thrashing. +4. **The proof chain stays attached** (categorical-algebraic-inference §5: + Shaw's Kan-extension theorem making element-wise binding a theorem not a + choice; beim Graben's Fock-space universality; Jian & Manning's + abstraction-first learning; Schulz's KL decomposition; Alpay's Ω(t²) + bound that active inference dodges; Graichen's 85/75 tiering boundary; + Gallant's three-stage isomorphism to bind→bundle→resolve; Kleyko's + computing-in-superposition). The niche VSA kept is the niche the papers + actually prove. +5. **The measured numbers are the vision's spine**, not its decoration: + N_eff 11.00/12 · k\*=1 · 1549 tests green at the M9 merge · + 1–2 ms orchestration vs 8.4 s oracle (2026-07) · and, from the + 2026-03-31 benchmark arc (dated, not re-run since): 611M SPO + lookups/sec and 1.8 ns palette distance (two distinct metrics), + 17K tokens/sec. The boldest spine claim stays named: **DeepNSM + replaces transformer inference for its scope — 680 GB model → + 16.5 MB, 50 ms/token → <10 µs/sentence** (the crate's measured + claim; its parity against the temporal-stream lane is exactly what + D-MTS-1 tests). When a future session doubts the aspiration, it + should re-run the probes, not re-read the prose. + +## 8. The road (in dependency order) + +1. **D-MTS-1** — Markov-as-stream parity on the DeepNSM corpus: the stream + earns the Markov crown or it doesn't. Gates ALL VSA-path removal. The + keystone. [next] +2. **D-TTV-1** — thinking tenants onto the V3 substrate (envelope-auditor + gated), the old CausalEdge64 standing as the perturbation baseline. +3. **D-MTS-6b** — awareness in the REAL driver loop vs that baseline: the + knee measured where it matters. Only then may the edge shrink. +4. **D-MTS-2/3** — the L4 palette² shader certification; hierarchical-4⁴ + codebooks. The perturbation shader becomes the carrier it was pinned to be. +5. **D-TSC-2/3** (after the batched mint) — styles as classes; attention + replayable from the address; the hot-plug seat filled. +6. **The compilation loop closes** [ASPIRATION]: traces → templates → + runbooks → families — the substrate proposing, executing, and shrinking + its own thought, under the prime invariant, on tissue that reconstructs + more than it stores. + +The shader can't resist the thinking. Now the substrate can't forget how to +prove it.