gabriel / musehub public
refactor BREAKING dev
AI Agent gabriel · 59 days ago · Apr 21, 2026 · Diff

refactor: strip MIDI domain bleed from MuseHub

Removes all MIDI/audio-specific code from what should be a domain-agnostic system. MIDI is the first Muse domain but is not yet implemented in MuseHub, so all music-specific assumptions were creating false surface area.

Templates: - blob.html: remove MIDI inline player branch - blame.html: remove 80-line piano roll section with hardcoded track names - release_detail.html: replace MIDI/stems/MP3/MusicXML packages with generic source/metadata - commits.html: remove tempo/key/emotion/stage/instrument CSS chips; neutral tag placeholder

Models (musehub.py): - RepoResponse: remove key_signature, tempo_bpm fields - Remove TimelineEmotionEvent, TimelineSectionEvent, TimelineTrackEvent - Simplify TimelineResponse to commits + total_commits only - Remove EmotionDiffResponse; remove emotion_diff from CompareResponse - ProposalDiffDimensionScore/ProposalDiffResponse: remove affected_sections, update dimension names

Services: - musehub_divergence.py: replace melodic/harmonic/rhythmic/structural/dynamic keyword buckets with interface/data/logic/tests/infrastructure Remove _SECTION_RE, extract_affected_sections - musehub_repository.py: remove _derive_emotion, strip emotion from get_timeline_events - musehub_discover.py: remove genre and instrumentation filter params

API routes: - discover.py: remove genre/instrumentation query params - repos.py: remove _derive_emotion_vector, _compute_emotion_diff, emotion_diff - _nav_ctx.py: remove repo_key/repo_bpm from docstring - Delete ui_mcp_elicitation.py (streaming platform OAuth — entirely MIDI domain)

MCP: - elicitation.py: gut music-specific schemas (compose_preferences, repo_creation, platform_connect_confirm); rewrite proposal_review_focus with code dimensions - tools/musehub.py: remove MIDI example from domain_meta description

Tests: - Delete test_mcp_elicitation.py (tested deleted MIDI platform elicitation routes)

sha256:98945fd05d7a137f0a0da079ce97f719228702d9177e28edc4c44af62075d9ff sha
sha256:60679549a89f563badc7af79228a6d903b0d379ee12ebc8c8705c98be80ea56e snapshot
← Older Oldest on dev
All commits
Newer → Latest on dev

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