gabriel / musehub public
refactor BREAKING feat/update-mist-domain #2 / 3
AI Agent gabriel · 2 days ago · Jun 6, 2026 · Diff

refactor: rename merge strategy aliases to canonical names

Drop state_overlay, state_weave, state_rebase, domain_selective — the only valid values are now overlay, weave, replay, selective (plus phased, cherry_pick which were already canonical).

Changes: - MergeStrategy enum: rename members to OVERLAY/WEAVE/REPLAY/SELECTIVE - proposal_merge_strategies: rename 4 functions, update strategy= strings, update execute_merge_strategy dispatch and fallback messages - musehub_proposals: remove _STRATEGY_ALIASES map, update all defaults - DB model, MCP dispatcher, MCP tools, MCP write tools: update defaults - proposal_simulation: update default strategy param - Templates: update strategy_label macro; gate type/strategy badges to merged proposals only; trim CLI panel to 3 patterns with tooltip - seed_local_proposals: update strategy values - alembic 0070: UPDATE existing rows to canonical names - All tests updated to use canonical names throughout

sha256:50b52eda7afb2f122863aef47d684d1a9e4684b48f5f95367fc956e28ceb7d42 sha
+35 ~120 −26 symbols
sha256:1af4876ef5d402efd75fa2a03d8baebbaffd066cd963d59aef88e8cdbe4a674d snapshot
+35
symbols added
~120
symbols modified
−26
symbols removed
0
dead code introduced
Semantic Changes 181 symbols
+ branch_labels variable variable branch_labels L17–17
+ depends_on variable variable depends_on L18–18
+ down_revision variable variable down_revision L16–16
+ downgrade function function downgrade L35–46
+ annotations import import annotations L11–11
+ op import import op L13–13
+ revision variable variable revision L15–15
+ upgrade function function upgrade L21–32
~ musehub/mcp/dispatcher.py .py 1 symbol modified
~ musehub/services/proposal_merge_strategies.py .py 4 symbols added, 4 symbols removed, 3 symbols modified
merge_domain_selective function function merge_domain_selective L375–440
merge_state_overlay function function merge_state_overlay L179–223
merge_state_rebase function function merge_state_rebase L325–372
merge_state_weave function function merge_state_weave L226–322
+ merge_overlay function function merge_overlay L179–223
+ merge_replay function function merge_replay L325–372
+ merge_selective function function merge_selective L375–440
+ merge_weave function function merge_weave L226–322
~ scripts/seed_local_proposals.py .py 1 symbol modified
~ src/ts/pages/proposal-list.ts .ts 1 symbol modified
~ tests/test_merge_strategy_integrity.py .py 11 symbols added, 10 symbols removed, 11 symbols modified
test_create_defaults_to_state_overlay method async_method test_create_defaults_to_state_overlay L32–45
TestMigration0050Backfill class class TestMigration0050Backfill L145–174
test_migration_file_exists method method test_migration_file_exists L147–149
test_migration_has_correct_revision method method test_migration_has_correct_revision L151–155
test_migration_importable method method test_migration_importable L165–174
test_migration_upgrades_null_rows method method test_migration_upgrades_null_rows L157–163
TestStrategyAlwaysShown class class TestStrategyAlwaysShown L182–226
test_none_strategy_falls_back_to_state_overlay_label method method test_none_strategy_falls_back_to_state_overlay_label L216–226
test_strategy_label_macro_covers_state_overlay method method test_strategy_label_macro_covers_state_overlay L204–206
test_strategy_row_not_hidden_for_state_overlay method method test_strategy_row_not_hidden_for_state_overlay L188–192
+ test_create_defaults_to_overlay method async_method test_create_defaults_to_overlay L32–45
+ TestMigration0070CanonicalNames class class TestMigration0070CanonicalNames L145–175
+ test_migration_file_exists method method test_migration_file_exists L147–149
+ test_migration_has_correct_revision method method test_migration_has_correct_revision L151–155
+ test_migration_importable method method test_migration_importable L166–175
+ test_migration_renames_all_four_aliases method method test_migration_renames_all_four_aliases L157–164
+ TestStrategyShownPostMerge class class TestStrategyShownPostMerge L183–222
+ test_no_legacy_alias_in_template method method test_no_legacy_alias_in_template L189–192
+ test_no_legacy_aliases_in_macro method method test_no_legacy_aliases_in_macro L219–222
+ test_strategy_gated_on_merged_state method method test_strategy_gated_on_merged_state L194–197
+ test_strategy_label_macro_covers_overlay method method test_strategy_label_macro_covers_overlay L207–209
~ tests/test_proposal_reimagination_phase3.py .py 10 symbols added, 10 symbols removed, 42 symbols modified
test_routes_domain_selective method method test_routes_domain_selective L454–458
test_routes_state_overlay method method test_routes_state_overlay L438–440
test_routes_state_rebase method method test_routes_state_rebase L448–452
test_routes_state_weave method method test_routes_state_weave L442–446
test_state_rebase_fallback_without_ancestor method method test_state_rebase_fallback_without_ancestor L473–475
test_state_weave_fallback_without_ancestor method method test_state_weave_fallback_without_ancestor L468–471
merge_domain_selective import import merge_domain_selective L65–65
merge_state_overlay import import merge_state_overlay L65–65
merge_state_rebase import import merge_state_rebase L65–65
merge_state_weave import import merge_state_weave L65–65
+ test_replay_fallback_without_ancestor method method test_replay_fallback_without_ancestor L473–475
+ test_routes_overlay method method test_routes_overlay L438–440
+ test_routes_replay method method test_routes_replay L448–452
+ test_routes_selective method method test_routes_selective L454–458
+ test_routes_weave method method test_routes_weave L442–446
+ test_weave_fallback_without_ancestor method method test_weave_fallback_without_ancestor L468–471
+ merge_overlay import import merge_overlay L65–65
+ merge_replay import import merge_replay L65–65
+ merge_selective import import merge_selective L65–65
+ merge_weave import import merge_weave L65–65
~ tests/test_proposal_reimagination_phase5.py .py 1 symbol added, 1 symbol removed, 7 symbols modified

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:50b52eda7afb2f122863aef47d684d1a9e4684b48f5f95367fc956e28ceb7d42 --body "your comment"