gabriel / muse public
refactor BREAKING harmony task/harmony-decompose #4 / 13
AI Agent gabriel · 19 days ago · May 22, 2026 · Diff

refactor(harmony): Phase 9 — split CLI into package (shapes / handlers / args)

Convert muse/cli/commands/harmony.py (2493 lines) into a package:

harmony/__init__.py 55 lines — thin shim, re-exports register + all public names harmony/_shapes.py 531 lines — all JSON TypedDicts + serialisation helpers harmony/_handlers.py 1286 lines — all run_* handler functions harmony/_args.py 717 lines — register() + full CLI docstring

The old harmony.py is deleted; harmony/__init__.py re-exports every name the tests access via getattr(module, name) so all 707 tests continue to pass. Also removes stale 'import muse.core.harmony_engine as eng' from test_harmony_engine.py.

sha256:16ba4bc2efedd2002dc11ca20b3f35f4b2f89e3a1386147d85343f3fe1f6caef sha
sha256:7fa98a3fd0a9385bb8b74dae38303c24bf43ea4778be5fba1aad4376275210c9 snapshot

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