gabriel / musehub public
docs task/musehub-225-226-227-issue-docs #1 / 1
AI Agent gabriel · 16 hours ago · Sep 20, 2026 · Diff

docs: add local source-of-truth for musehub#225, #226, #227 (identity-domain invariant audit)

Three follow-up tickets from auditing why the identity domain's I2/I3 invariants aren't merge-time enforced:

- #225: IdentityGraphService/QuorumEngine claim to be the unified enforcement surface but are called from nowhere; push_validator.py reimplements everything separately. - #226: I2 (root distance) is only ever a soft warning, never a hard error, anywhere in the system -- open question on whether that's correct. - #227: 'quorum' names three unrelated concepts across the codebase (push_validator's signature authorization, quorum.py's recursive vote tallying, musehub_governance.py's proposal-review approval count), and identity's own I3 has two non-reconciled definitions.

Co-Authored-By: Claude Sonnet 5 <[email protected]>

sha256:7281683f5c41e5d88b6d8811fbdafebd3e01a0c9dcd90975cfcb444ba71e8e81 sha
+19 symbols
3 changed · 1081 in snapshot files
sha256:2ee91b156f8d5a48a604dd3895519253a39452928611d735f55b106a96862b85 snapshot
+19
symbols added
3
files changed
1081
files in snapshot
0
dead code introduced
Semantic Changes 19 symbols
+ IdentityGraphService/QuorumEngine claim to be "the unified surface enforcing all three invariants atomically" but are ca section IdentityGraphService/QuorumEngine claim to be "the unified surface enforcing all three invariants atomically" but are ca L1–94
+ Acceptance criteria section Acceptance criteria L89–94
+ Background section Background L3–11
+ Open question before deciding the fix section Open question before deciding the fix L61–75
+ Scope section Scope L76–88
+ The gap section The gap L26–45
+ What exists section What exists L12–25
+ Why this matters section Why this matters L46–60
+ I2 (root distance) is never a hard error anywhere — is that the right call? section I2 (root distance) is never a hard error anywhere — is that the right call? L1–85
+ Acceptance criteria section Acceptance criteria L81–85
+ Background section Background L3–37
+ Scope section Scope L65–80
+ The actual question section The actual question L38–64
+ "Quorum" names three unrelated concepts across the codebase, and identity's own "I3" has two non-reconciled definitions section "Quorum" names three unrelated concepts across the codebase, and identity's own "I3" has two non-reconciled definitions L1–93
+ Acceptance criteria section Acceptance criteria L87–93
+ Background section Background L3–7
+ Scope section Scope L65–86
+ The collision, concretely section The collision, concretely L8–48
+ Why this matters section Why this matters L49–64
Files Changed
+3
1081 in snapshot
← Older Oldest on task/musehub-225-226-227-issue-docs
All commits
Newer → Latest on task/musehub-225-226-227-issue-docs

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:7281683f5c41e5d88b6d8811fbdafebd3e01a0c9dcd90975cfcb444ba71e8e81 --body "your comment"