sica-fondt/core/docs/plans/B3-celtic-cross.md
Claude b6bcab794f
Reorg step 1: consolidate repo under core/, drop the mafiabot label
Mechanical structure-only pass (no document/guide content edits):

- Move src/ichor, src/endocrine, and docs/ into core/; the old top-level
  mafiabot_core/ becomes core/. Everything now lives under a single core/ root.
- Drop the "mafiabot" label from the Ada/Alire crate: core.gpr (project Core),
  alire.toml name = "core"; the generated *_config.* regenerate as core_config.*.
- Repoint build-critical wiring only:
  - .claude/skills/run-sica-fondt/smoke.sh (ponyc + Ada + COBOL paths)
  - core/src/endocrine R source()/runner paths and the test glob
  - .github/workflows/ci.yml (working-directory + gpr name)

Verified green: smoke ALL GREEN (Pony Ichor, Ada core crate + tests, COBOL E1
vault); R endocrine 14/0; Octave ETR 26/0/1.

Deferred (reserved for a less-ephemeral doc/guide pass): docmap.yaml, the guide
files and nested AGENTS.md/README prose + now-stale relative links, SOUL.md, and
the deeper ring/storage restructure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015hmgREHNsxYCuim33yUF2c
2026-06-23 07:46:47 +00:00

42 lines
2.0 KiB
Markdown

# B3 — Celtic Cross spread (metacognitive draw)
## 1. Component
The 10-card spread drawn from the 53-card dynamic pool each cycle, dealt **2/2/2/4** across the four
metacog rounds and **applied iteratively** so the spread compounds — by final cognition all ten shape
the loop at once. Doubles as the **semantic diffusion-shield** (G3).
## 2. Status / certainty
Exists in Ada (`organs/soul/soul-celtic_cross.{ads,adb}`, 280 L) but **defunct-flagged**; re-home open. C4.
## 3. Language & location
TBD (with B1/B2). New location e.g. `src/tarot/celtic_cross`.
## 4. Does / does-not
- **Does:** draw 10 from the pool; deal in pairs across rounds (2/2/2/4); keep each drawn pair in play
for subsequent rounds (iterative); supply the cards C2 applies as cognitive lenses.
- **Does-not:** run the metacog passes (C2) or decide layout semantics beyond the draw.
## 5. Interface contract
- `draw(pool53) -> spread[10]` · `deal_round(spread, round∈1..4) -> cards_active_so_far`
(round 1→2 cards, 2→4, 3→6, 4→10). Cards apply **iteratively** (compounding).
- Pool excludes the 3 static Big-3; folds prior cross back on cross-only reshuffle (B2).
## 6. Dependencies & stubs
B1 pool — *stub:* fixed 53-card pool. C2 consumes the per-round active set — *stub:* print the cards.
## 7. Invariants / laws
- **L1 (C4):** exactly 10 cards, dealt 2/2/2/4, **iteratively compounding** (all 10 active by round 4).
- **L2 (C4):** drawn from the 53 dynamic only (never the Big-3).
- **L3 (C4):** the accumulating spread **is** the diffusion-shield (meaningful tokens, not noise).
## 8. Build steps
1. Decide language/re-home. 2. Port draw + 2/2/2/4 iterative dealing. 3. Wire into C2's round structure.
4. Evaluate custom vs traditional 10-position layout (non-blocking).
## 9. Tests
Draw size (=10), per-round counts (2/4/6/10), no-Big-3-in-pool, determinism vs seed.
## 10. Open items
- Celtic Cross **layout positions** — keep traditional 10 or design a custom cognitive spread (C1, non-blocking).
- Language/re-home (open).