mirror of
https://github.com/SHOGGOTH-SECTOR/sica-fondt.git
synced 2026-07-31 16:16:26 +00:00
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
42 lines
2.0 KiB
Markdown
42 lines
2.0 KiB
Markdown
# E1 — The 3 GnuCOBOL invariant stores *(DESIGN-FIRST)*
|
|
|
|
## 1. Component
|
|
The foundational non-shifting memory layer: **three GnuCOBOL stores** — sparse, fixed-format,
|
|
**write-only-at-downtime**, built to outlive the model. The bedrock the rest of memory sits on.
|
|
|
|
## 2. Status / certainty
|
|
DESIGN-FIRST · store-format **C5** (GnuCOBOL chosen), **but the 3 roles + contents are C1** (skeletal —
|
|
arch §10 said "contents more complex than modeled"). **What the three stores ARE needs confirmation.**
|
|
|
|
## 3. Language & location
|
|
GnuCOBOL · new location e.g. `src/invariant/` (three programs/copybooks).
|
|
|
|
## 4. Does / does-not
|
|
- **Does:** hold the invariant core(s) in fixed-format records; admit writes **only at downtime**; serve reads.
|
|
- **Does-not:** hold shifting state (that's VARIANT E2 / RAG E3) or compute (it's storage).
|
|
|
|
## 5. Interface contract (proposed)
|
|
- Three fixed-format record sets (copybooks), one per store. `read(store, key) -> record` ;
|
|
`write(store, record)` **gated to downtime only** (per arch §10).
|
|
- Sits behind Ada (D1); writes carry provenance.
|
|
|
|
## 6. Dependencies & stubs
|
|
None upstream. Consumers (Eth-Int memory-derivative A7, priors A5, VARIANT E2) read it — *stub:* an
|
|
in-memory fixed-format map until the COBOL programs exist.
|
|
|
|
## 7. Invariants / laws
|
|
- **L1 (C5):** **write-only-at-downtime** — no mid-run mutation of the invariant core.
|
|
- **L2 (C5):** sparse, fixed-format, model-outliving (survives a Brain swap).
|
|
- **L3 (C4):** all writes carry provenance (D1).
|
|
|
|
## 8. Build steps
|
|
1. **Confirm the 3 stores' roles** (the blocking question — see Open). 2. Define the three copybooks.
|
|
3. Implement read + downtime-gated write. 4. Wire consumers (A5/A7/E2) via stubs first.
|
|
|
|
## 9. Tests
|
|
Downtime-write gate (rejects mid-run write); fixed-format round-trip per store; read-after-downtime-write.
|
|
|
|
## 10. Open items
|
|
- **What are the 3 GnuCOBOL stores?** (roles/division of the invariant core) — **needs Anja's call** (C1).
|
|
- Exact record schemas (C1). Downtime definition / trigger (C1).
|