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
+16
~14
−7
symbols
sha256:14868ac9d621a640a0d9f40db557f8b77e2dd7c7ab3c46fdf4d35feafa984282
snapshot
+16
symbols added
~14
symbols modified
−7
symbols removed
0
dead code introduced
Semantic Changes
37 symbols
+
_note_content_id
function
function _note_content_id L40–51 ← moved from muse/plugins/midi/midi_diff.py
~
Literal
−
_note_content_id
function
function _note_content_id L99–110 → moved to muse/plugins/midi/_midi_keys.py
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:6603e86f5ec1a28b52f3d10e0dea28b0d02687b5b2d6b183984491a46c63f6b3 --body "your comment"
No comments yet. Be the first to start the discussion.