gabriel / musehub public
fix BREAKING fix/225-identity-graph-service-docstring #1 / 1
AI Agent gabriel · 2 days ago · Oct 22, 2026 · Diff

fix: correct IdentityGraphService/QuorumEngine docstrings (musehub#225)

Audit: service.py's docstring claimed to be "the unified surface enforcing all three invariants atomically." grep for is_quorum_met/ QuorumEngine/IdentityGraphService( found zero callers outside quorum.py, service.py, and their own dedicated tests -- the real enforcement surface is push_validator.py (musehub#230).

The ticket framed the resolution as binary: dead code to delete, or an undocumented planned feature to wire in now. Found a third answer: git history shows QuorumEngine/service.py were scaffolded same-session as push_validator.py's different, simpler I3 design -- which would normally read as "superseded, delete it" -- but docs/roadmaps/orgs.md (actively maintained, last touched 2026-09-18, explicitly recovered from a lost shelf entry on 2026-06-20) documents QuorumEngine as built-ahead infrastructure for a deliberately-deferred "sub-org nesting" feature: "the QuorumEngine supports it; the CLI does not need to expose it yet."

Design decision (confirmed via AskUserQuestion): keep the code, fix the false docstring. Not dead/superseded code to delete, not a feature to wire in today -- intentional, documented, forward-built infrastructure for a capability the roadmap explicitly defers.

TDD: wrote test_identity_graph_service_docstring.py first (4 tests) asserting service.py/quorum.py/graph/__init__.py no longer claim current enforcement and do cross-reference docs/roadmaps/orgs.md + musehub#225. Confirmed genuine RED via muse-dev shelf save/pop isolation on all three docstring files. Implemented the docstring corrections; confirmed GREEN.

Regression: 206 passed across graph/identity-domain tests, including musehub#227's existing naming-collision tests (unaffected -- those only check the "I3" label specifically, not the enforcement-claim language this ticket corrects).

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

sha256:fe2f636a9c2a691f1ad846907a1829c1d2ae71327ac2c2e0141089c1afe8cf3a sha
+7 symbols
4 changed · 1102 in snapshot files
sha256:4a167c99d3bca40b41343cb8eea0a3a4be3485f5caae09e1022a127a93e03a13 snapshot
+7
symbols added
4
files changed
1102
files in snapshot
0
dead code introduced
Semantic Changes 7 symbols
+ _claims_enforcement function function _claims_enforcement L19–23
+ annotations import import annotations L14–14
+ re import import re L16–16
+ test_graph_package_docstring_does_not_overclaim_quorum function function test_graph_package_docstring_does_not_overclaim_quorum L63–70
+ test_quorum_module_docstring_references_roadmap_and_deferred_status function function test_quorum_module_docstring_references_roadmap_and_deferred_status L49–60
+ test_service_module_docstring_no_longer_claims_current_enforcement function function test_service_module_docstring_no_longer_claims_current_enforcement L26–34
+ test_service_module_docstring_references_roadmap_and_deferred_status function function test_service_module_docstring_references_roadmap_and_deferred_status L37–46
Files Changed
+1 ~3
1102 in snapshot
← Older Oldest on fix/225-identity-graph-service-docstring
All commits
Newer → Latest on fix/225-identity-graph-service-docstring

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:fe2f636a9c2a691f1ad846907a1829c1d2ae71327ac2c2e0141089c1afe8cf3a --body "your comment"