feat: domain_command_registry — Phase 1 of muse#74 (SCR_01-03)
A dependency-free registry mapping a domain name to its dedicated CLI subcommand names (register_namespace/get_supported_commands), designed to replace the hardcoded supported_commands literal in `muse domains publish` (Phase 3).
- SCR_01: basic contract — unregistered name returns [], register then query returns the registered list. - SCR_02: idempotent re-registration — registering twice replaces, never appends or duplicates. - SCR_03: deterministic sorted output regardless of insertion order or input type (list, set, dict.keys() — the real shape argparse's _SubParsersAction.choices will pass in Phase 2).
Zero dependencies on app.py or any command module, by design — must be importable from domains.py without circular-import risk. 8/8 new tests pass, mypy clean.
Phase 1 of 4 — see muse#74 for the full plan. Registry is not yet wired into any real CLI namespace (Phase 2) or into `muse domains publish` (Phase 3).
Semantic Changes
19 symbols
Files Changed
+2
1122 in snapshot
0 comments
muse hub commit comment sha256:2562dffa0a0822ac1bdea854f9b267843c6ce95b497a9dc5c55837c80a3ebd0a --body "your comment"
No comments yet. Be the first to start the discussion.