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
2.5 KiB
G2 — Governance (DESIGN-FIRST · EXPLORED/UNRATIFIED)
1. Component
The polity layer: identity keying, scope tiers, roles + weights, permission engine, council, crypto, tokens, hosting rules. Surfaced by red-lining a flowchart; parked intact-but-unauthoritative.
2. Status / certainty
DESIGN-FIRST · C2 (explored, unratified) — nothing here is a confirmed codebase contract yet.
3. Language & location
TBD · new location e.g. src/governance/. Likely Ada/SPARK for the permission engine (gate-bearing) +
a crypto sub-extension.
4. Does / does-not
- Does (when ratified): key identity, gate permissions, seat roles, run the council, govern hosting.
- Does-not: touch cognition. It is access/authority, orthogonal to the organs.
5. Interface contract (explored — not ratified)
- Identity: Discord snowflake (
author.id, unforgeable); tokenless = spookgeister. - Scope tiers: local → regional → global → universal (regional-by-default).
- Roles + weights (command-quanta): Tributträger·1 / Mitgehende·2 / Bezirkseigen·8 / Vereinsunbequeme·16 / Kumpaneigen·16 / Freigefährten·16 / Kunstschaffenden·? / Haftungsfängerin·256 / das Einzigkunsteigene·256.
- Permission engine: default-deny reads;
add_perm/del_perm; self-grant keyless, authority-grant keyed (DM/CLI); grantor ladder local→Mitgehende, regional→Bezirkseigen, global→Freigefährten(+key); gates accumulate upward. - Council: two-key (Haftungsfängerin + das Einzigkunsteigene, equal 256, mutual consent); may mint architects, escalate, write the invariant core (downtime only); anchor above council.
6. Dependencies & stubs
E1 invariant core (council writes it at downtime). D1 (permission gating is border-adjacent). All stubbable.
7. Invariants / laws (proposed)
- L1 (C2): default-deny; gates accumulate upward; authority-grants are keyed + out-of-band.
- L2 (C2): invariant core written only at downtime, only by council (ties E1).
- L3 (C2): anchor (Haftungsfängerin) sits above council.
8. Build steps
Do not build until ratified. When ratified: 1. permission engine (Ada/SPARK). 2. role/weight registry. 3. council two-key. 4. crypto (LTHING/ML-DSA).
9. Tests
(Deferred to ratification.) Permission accumulation; keyed-grant enforcement; downtime-only core writes.
10. Open items
- Everything here is unratified (C2). Kunstschaffenden weight · formal-inheritance rule · hosting mapping · LTHING crypto primitives · UFT token economics — all C1.