plan: cognitive-substrate-convergence-v1 (i4 mantissa + gapless baton + active inference)#380
Conversation
… + active inference
Locks the architectural decisions from sprint-10 + post-sprint-10
cross-session A2A discussion (2026-05-15) before context dilution.
Consolidates 7 design questions that converge into ONE substrate:
- CausalEdge64 v2 bit layout (drop temporal, expand InferenceType
to 4-bit signed mantissa, add W-slot + truth-band lens, 3b spare)
- QualiaColumn migration from [f32; 18] to QualiaI4_16D (9x compression;
Wisdom × Staunen → Magnitude is one SIMD multiply)
- CollapseGate wire format = discrete Vec<(u16 target, CausalEdge64)>
baton tuples + implicit provenance (no Vsa16kF32 envelope)
- WitnessCorpus (CAM-PQ-indexed) replaces SpoWitnessChain<32>
- MUL evaluation migrates to integer SIMD (i4 × i4 → i8 products)
- Sigma-tier Rubicon-resonance dispatch (entropy-driven, not request-driven)
- thinking-engine <-> cognitive-shader-driver SoA reunification via
Option R-3 transcoder at L3 commit boundary
The five compressions: signed i4 family as universal precision +
discrete batons as wire + i4 IS its own CAM key + temporal axis is
structural (chain-position + AriGraph anchor) + cycle driver is
free-energy gradient.
20 locked architectural decisions (plan section 5).
12 deliverables (D-CSV-1..D-CSV-12) across sprints 11-13.
~4,480 LOC implementation + ~870 LOC sprint-10 spec patches.
6 user-ratification gates (OQ-CSV-1..6).
Mandatory Board-Hygiene Rule compliance (same commit):
- Plan file at .claude/plans/cognitive-substrate-convergence-v1.md
- INTEGRATION_PLANS.md PREPEND entry
- STATUS_BOARD.md new plan section with 12 D-CSV-* rows
Resolves sprint-10 meta-review CSI-1 with definitive v2 bit layout.
Resolves dual-CausalEdge64 finding (E-META-7) via Option R-3.
https://claude.ai/code/session_01UwJuKqP828qyX1VkLgGJFS
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7f8bf98785
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| | `+` (0..+7) | forward-chain / compose / commit | Deduction, Synthesis, Revision-positive, Induction (forward generalization) | | ||
| | `−` (−8..−1) | backward-chain / decompose / refute | Abduction, Contraposition, Revision-negative, Counterfactual | | ||
|
|
||
| `abs(mantissa)` selects the base NARS rule (8 base slots); `signum(mantissa)` selects direction. 16 distinct directed-inferences, naturally composable. Maps cleanly to `thinking_engine::CausalEdge64::net_strength()` signum for the L3 transcode. |
There was a problem hiding this comment.
Normalize the signed mantissa before indexing rules
With the declared i4 range −8..+7, abs(mantissa) does not map cleanly to the stated 8 base NARS slots: -8 produces magnitude 8, while 0 has no sign even though the table treats 0..+7 as forward. An implementer following this will either index a ninth/nonexistent rule or give the zero code an ambiguous direction, so the encoding should reserve/remap one code or define an explicit biased magnitude mapping.
Useful? React with 👍 / 👎.
| | **L-6** | **W-slot 6 bits** = discourse corpus root handle (64 active corpora) | Witness corpus is CAM-PQ-indexed, unbounded; W-slot is the entry pointer | NEW field in CausalEdge64 v2 | | ||
| | **L-7** | **Truth-band lens 2 bits** (4 states incl. "13% ambiguous direction") | Carries committed-vs-ambiguous expressivity without forcing binary commitment | NEW field | | ||
| | **L-8** | **KEEP direction (3b) + plasticity (3b) in edge** | Both are load-bearing dispatch payload; relocating them costs extra Zone-1 lookup per cycle | unchanged | | ||
| | **L-9** | **PR-LL-1 `Intervention`+`Counterfactual` slot into `Reserved5`+`Reserved6`** of canonical `causal_edge::InferenceType` (when v2 ships) | PR #375 added these to `nars_dispatch.rs` only; canonical edge enum needs to absorb them | `crates/causal-edge/src/edge.rs:22-25` Reserved slots | |
There was a problem hiding this comment.
Remove the stale Intervention/Counterfactual migration step
This assumes the canonical causal_edge::InferenceType still has Reserved5/6, but the repository already defines Intervention = 5 and Counterfactual = 6 in crates/causal-edge/src/edge.rs, and nars_engine.rs already translates local 7/8 into those protocol values. Leaving this as a sprint-11 deliverable can send the worker to rework an already-shipped mapping and risk breaking the existing protocol translation instead of only updating it for the new mantissa layout.
Useful? React with 👍 / 👎.
Summary
Locks the architectural decisions made during sprint-10 + the post-sprint-10 cross-session A2A discussion (2026-05-15), before context dilution. Consolidates 7 design questions into ONE substrate.
Mandatory Board-Hygiene Rule compliance — three files in the same commit:
.claude/plans/cognitive-substrate-convergence-v1.md(NEW, ~46 KB, 18 sections).claude/board/INTEGRATION_PLANS.mdPREPEND entry.claude/board/STATUS_BOARD.mdnew plan section with 12 D-CSV-* rows754 lines / 3 files / all
.md— governance only.The five compressions
Vec<(u16, CausalEdge64)>baton tuples between mailboxes (no analogVsa16kF32envelope)Final CausalEdge64 v2 bit layout (resolves sprint-10 meta-review CSI-1)
12 deliverables across sprints 11-13
Total: ~4,480 LOC implementation + ~870 LOC sprint-10 spec patches (bundled separately).
What this locks vs prior plan
sprint-log-10/meta-review.mdwith definitive v2 bit layoutVsa16kF32narrows to intra-tier Markov + crystal carrier + grammar bind/unbind testing only20 locked architectural decisions
Full table in plan §5. Highlights:
[f32; 18]→QualiaI4_16D(9× compression)Vec<(u16 target, CausalEdge64)>+ implicit provenance6 user-ratification gates
Test plan
This is a governance-only PR (3 files, all
.md). Review focus:After merge, sprint-11 spawn requires (in order):
sprint-10-pr-dep-graph.mdpatchg_slot_at_dropfield) + CSI-3 (W10 PR-J1 prerequisite) patches landedThen D-CSV-1..7 can fan out as a CCA2A worker fleet for sprint-11.
https://claude.ai/code/session_01UwJuKqP828qyX1VkLgGJFS
Generated by Claude Code