Repository navigation
Description
Source: Session A close-out §3 question 11 (docs/sessions/2026-10-session-a.md), ruled 2 October 2026: "No ruling; an issue for rotate-genesis." Reasoning: docs/signing-rulings-2026-10-d5-d9.md, "Session A close-out §3", row 11. Size: M. Depends on: PR #80 merged; #70 (signing, key bindings, D7). Must land: before any store other than the principal's own depends on the ledger.
Why
There is one genesis per store (question 3), policy changes are the genesis holder's act (question 6), and under D7 the genesis holder vouches for every principal's first key. The genesis holder is therefore a single point of failure. The capability rotate-genesis and the fallback limit no-genesis exist in the closed vocabulary (ledger-core/src/authority/role.rs Capability, ledger-core/src/authority/grant.rs Limit), but no act uses them: Act::withheld_by maps nothing to no-genesis.
What to build
- An act that replaces the live genesis grant with a new one: a new genesis grant whose
supersedesnames the old one, carrying a newexternal_ref(the new out-of-band mandate), filed by a holder whose rolemayrotate-genesis, and refused to a fallback carryingno-genesis. - The new holder's acceptance of it, and their self-bound first key binding under the new mandate.
A005keeps holding: exactly one live genesis after the act. Todaystructure::grant_faultsrefusessupersedeson a genesis grant ("rotating the genesis is its own act"); this issue is that act.- What happens to the old holder's key bindings and to the acts they vouched for (D6 ordering: acts before the rotation stand).
Open for the PR to state
- Who may rotate when the genesis holder is unavailable or lost: the genesis role's
fallback-1over*(basisfallback-of-genesisalready exists for unavailability), or only the holder. - Whether the rotation is itself signed under the policy in force before it, like a policy change.
Tests
- Rotation by the holder; by a fallback without
no-genesis; refused to a fallback withno-genesis; refused to a role withoutrotate-genesis. A005green after rotation; red if two genesis grants are left live.- Acts landed before the rotation still verify.
Constraints
Format document and migration note in the same PR. No format change outside this list.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Effort
Progress
Activity
Hafeok commentedon Nov 3, 2026
Closed as not carried under D1.24`` and the definition's chapter 8:``` the Rust tool is frozen at
rust-finaland its tree left `main` in #166 (`53bd547`). This concerns the Rust ledger (its keys, namespaces or authority), which is Writ's authority graph now. The rewrite holds no key and no grant, and `writ import` reads `.decisions/` once, at the tag. Disposition approved on #165.Generated by Claude Code