feat
patch
proposals
task/proposal-models-v2
#16 / 19
feat(proposals): phase 3 — merge strategy engine
Five merge strategies: STATE_OVERLAY (from_wins), STATE_WEAVE (three-way file-level), STATE_REBASE (from-delta onto to), DOMAIN_SELECTIVE (subset by domain), PHASED (dependency-order execution).
- proposal_merge_strategies.py: pure strategy engine with classify_domain, _manifest_delta, _apply_delta, MergeResult, ConflictEntry, and all five strategy functions plus execute_merge_strategy router - musehub_proposals.py: _resolve_ancestor_manifest walks branch history to find merge-base; merge_proposal gates on dependencies, loads ancestor, and dispatches through execute_merge_strategy - test_proposal_reimagination_phase3.py: 56 unit + integration tests; uses muse.core.types.fake_id and blob_id(os.urandom()) for all IDs — no UUIDs
sha256:61f8a55666c7d5ed05011a10b04c8e52d03f431344662b3412153fc72c435098
sha
+116
~1
symbols
sha256:106f6b4b4bb81ea34d29330a2f6ccbcb62c59e82caa48cbf78734773a5f78352
snapshot
+116
symbols added
~1
symbol modified
0
dead code introduced
Semantic Changes
117 symbols
+
test_path_prefix_midi_beats_extension
method
method test_path_prefix_midi_beats_extension L123–125
+
test_unknown_extension_fallback_to_code
method
method test_unknown_extension_fallback_to_code L120–121
+
test_conflict_recorded_when_ancestor_provided
method
method test_conflict_recorded_when_ancestor_provided L365–372
+
test_fallback_overlay_when_no_phase_manifests
method
method test_fallback_overlay_when_no_phase_manifests L381–387
+
test_phase_results_have_correct_indices
method
method test_phase_results_have_correct_indices L416–424
+
test_default_overlay_merges_manifests
method
async_method test_default_overlay_merges_manifests L551–584
+
test_domain_selective_only_applies_selected_domain
method
async_method test_domain_selective_only_applies_selected_domain L587–619
+
test_conflicts_when_ancestor_provided
method
method test_conflicts_when_ancestor_provided L191–198
+
test_no_conflict_when_only_one_side_changed
method
method test_no_conflict_when_only_one_side_changed L200–205
+
test_conflict_when_both_modified_same_file
method
method test_conflict_when_both_modified_same_file L305–311
+
test_to_deletion_honoured_when_from_untouched
method
method test_to_deletion_honoured_when_from_untouched L264–269
+
test_true_conflict_recorded_from_wins
method
method test_true_conflict_recorded_from_wins L248–255
+
test_state_rebase_fallback_without_ancestor
method
method test_state_rebase_fallback_without_ancestor L472–474
+
test_state_weave_fallback_without_ancestor
method
method test_state_weave_fallback_without_ancestor L467–470
Older
feat(proposals): Phase 2 — Dependency DAG engine (Kahn's algorit…
sha256:9de2441c818e8b0fba09c0fe251e96c1889b9cb287f4317f902ae1868f1cd127
All commits
Newer
feat(proposals): phase 4 — simulation engine
sha256:18d2953fc912010676a67b6797f26ef794a268a0479a9ab0c9d5fdfa8769f02d
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:61f8a55666c7d5ed05011a10b04c8e52d03f431344662b3412153fc72c435098 --body "your comment"
No comments yet. Be the first to start the discussion.