Skip to content

plan: cognitive-substrate-convergence-v1 (i4 mantissa + gapless baton + active inference)#380

Merged
AdaWorldAPI merged 1 commit into
mainfrom
claude/cognitive-substrate-convergence-plan-v1
May 16, 2026
Merged

plan: cognitive-substrate-convergence-v1 (i4 mantissa + gapless baton + active inference)#380
AdaWorldAPI merged 1 commit into
mainfrom
claude/cognitive-substrate-convergence-plan-v1

Conversation

@AdaWorldAPI
Copy link
Copy Markdown
Owner

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.md PREPEND entry
  • .claude/board/STATUS_BOARD.md new plan section with 12 D-CSV-* rows

754 lines / 3 files / all .md — governance only.

The five compressions

  1. Encoding — signed i4 mantissa family across NARS / Qualia / ThinkingAtom / direction
  2. Wire format — discrete Vec<(u16, CausalEdge64)> baton tuples between mailboxes (no analog Vsa16kF32 envelope)
  3. Addressing — i4 payload IS its own CAM key (content = address; 16¹⁶ ≈ 1.8×10¹⁹ unique states)
  4. Temporal axis — structural (chain-position + AriGraph anchor), not stored in edge
  5. Cycle driver — entropy-driven (free-energy gradient), not request-driven

Final CausalEdge64 v2 bit layout (resolves sprint-10 meta-review CSI-1)

[ 0: 23] S/P/O palette indices    (3 × u8)
[24: 39] NARS frequency + confidence  (2 × u8)
[40: 42] Causal mask              (3b — Pearl 2³, IS the rung axis; counterfactual at 0b111 SPO)
[43: 45] Direction triad          (3b)
[46: 49] Inference mantissa       (4b SIGNED — direction × rule)
[50: 52] Plasticity flags         (3b)
[53: 58] W slot                   (6b — discourse corpus root handle)  ← NEW
[59: 60] Truth-band lens          (2b — 4 lens states incl. "13% ambiguous direction")  ← NEW
[61: 63] Spare                    (3b — sprint-12+ probe headroom)
Total                             64b zero unused

12 deliverables across sprints 11-13

Phase Sprint D-ids Title
A — Substrate primitives 11 D-CSV-1..4 causal-edge v2, QualiaI4_16D, signed-mantissa InferenceType, CollapseGateEmission
B — Storage & dispatch 11 D-CSV-5..7 QualiaColumn migration, WitnessCorpus (CAM-PQ), MailboxSoA integration
C — Reasoning path 12 D-CSV-8..10 MUL integer-SIMD, 8ch↔SPO transcoder, Σ-tier Rubicon dispatch
D — Streaming infra 13+ D-CSV-11..12 Vertical streaming structs in ndarray, splat shader op fleet

Total: ~4,480 LOC implementation + ~870 LOC sprint-10 spec patches (bundled separately).

What this locks vs prior plan

  • Resolves CSI-1 from sprint-log-10/meta-review.md with definitive v2 bit layout
  • Resolves dual-CausalEdge64 finding (E-META-7) via Option R-3 (transcoder at L3 commit boundary)
  • Locks the i4 substrate family unifying qualia + NARS mantissa + ThinkingAtom + direction into one quantization vocabulary
  • Locks gapless-baton wire formatVsa16kF32 narrows to intra-tier Markov + crystal carrier + grammar bind/unbind testing only
  • Locks MailboxSoA semantics as spatial-temporal meaning accumulators, not channels
  • Locks Σ-tier Rubicon-resonance orchestration — F-gradient driver, not request-response
  • Locks active-inference cycle driver — "can't stop thinking" per CLAUDE.md doctrine

20 locked architectural decisions

Full table in plan §5. Highlights:

  • L-2: drop temporal (12b) — chain-position + AriGraph anchor cover it
  • L-3: G-slot NEVER added — three-way redundant (palette family-prefix + witness corpus root + SoA partition)
  • L-4: 3-bit unsigned → 4-bit SIGNED Inference mantissa (direction × rule)
  • L-5: causal_mask IS the Pearl-rung axis; no separate counterfactual modifier bit
  • L-10: QualiaColumn [f32; 18]QualiaI4_16D (9× compression)
  • L-13: CollapseGate wire format = Vec<(u16 target, CausalEdge64)> + implicit provenance
  • L-14/L-15: Mailboxes are spatial-temporal accumulators; Σ10 = Rubicon-resonance commit
  • L-19: Transcoder at L3 commit boundary makes 8ch ↔ SPO near-bitcast
  • L-20: Vertical streaming structs in ndarray are the missing scaffolding layer

6 user-ratification gates

OQ Question Blocks
OQ-CSV-1 Qualia 16D per-dim assignment D-CSV-2, D-CSV-5
OQ-CSV-2 W-slot width 6 vs 8 bits D-CSV-1
OQ-CSV-3 Spare bits reserved vs pre-allocated non-blocking
OQ-CSV-4 QualiaColumn migration phasing D-CSV-5
OQ-CSV-5 Pre-computed Magnitude column vs on-demand non-blocking
OQ-CSV-6 Σ10 Rubicon threshold Jirak-derived vs hand-tuned D-CSV-10 (sprint-12)

Test plan

This is a governance-only PR (3 files, all .md). Review focus:

After merge, sprint-11 spawn requires (in order):

  1. User ratification of OQ-CSV-1, OQ-CSV-2, OQ-CSV-4 (gates Phase A/B)
  2. Sprint-10 spec patches PR landed (the ~870 LOC bundle per plan §12)
  3. CAM-PQ wiring elevated to Wave 3 hard prerequisite per sprint-10-pr-dep-graph.md patch
  4. CSI-2 (W6 g_slot_at_drop field) + CSI-3 (W10 PR-J1 prerequisite) patches landed

Then 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

… + 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
@AdaWorldAPI AdaWorldAPI merged commit 0c74cf9 into main May 16, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants