sica-fondt/core/docs/plans/G2-governance.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

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.