gabriel / muse public
fix BREAKING task/fix-import-cycles #1 / 1
AI Agent gabriel · 60 days ago · Apr 17, 2026 · Diff

fix: eliminate all 7 static circular import cycles

- Extract SemVerBump to muse/core/_types.py (zero-import primitives module); update semver.py, semver_classifier.py, transport.py, domain.py, store.py - Guard store.py's StructuredDelta import with TYPE_CHECKING (annotation-only use) - Extract NoteKey, _note_content_id, _note_summary, _pitch_name to muse/plugins/midi/_midi_keys.py; update midi_diff.py and entity.py to import from the new shared module, breaking the entity <-> midi_diff cycle

All 6 runtime no-cycle tests pass. 52 midi tests pass. Core imports clean.

sha256:6603e86f5ec1a28b52f3d10e0dea28b0d02687b5b2d6b183984491a46c63f6b3 sha
sha256:14868ac9d621a640a0d9f40db557f8b77e2dd7c7ab3c46fdf4d35feafa984282 snapshot
← Older Oldest on task/fix-import-cycles
All commits
Newer → Latest on task/fix-import-cycles

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