feat(phase6): unified MergeEngine code path via run_merge()
- Add run_merge() to muse/core/merge_engine.py — pure function shared by CLI and server; handles all four diff_units and three resolution policies - Add ours/theirs entries to STRATEGY_MAP so --strategy ours/theirs routes correctly without alias-expansion side effects on reported_strategy - Remove alias expansion at execute() level that was shadowing reported_strategy - Replace Case 3 in muse/cli/commands/merge.py with run_merge() call - Replace Case 4 in muse/cli/commands/merge.py with run_merge() call; remove dead base_snap_obj/ours_snap_obj/theirs_snap_obj assignments - Add tests/test_phase6_unified_merge_engine.py — 12 tests covering all diff_units, resolution policies, clean merges, and musehub canonical routes - Fix snapshot diff_unit plugin path: plugin always gets real base (not {}), keeping old three_way behaviour for plugin-aware merges
Semantic Changes
35 symbols
0 comments
muse hub commit comment sha256:ecfc7b5d19db951f256942ac0908b53d55a2da37c6cd1e6cf85b4a6088870865 --body "your comment"
No comments yet. Be the first to start the discussion.