gabriel / muse public
feat BREAKING merge task/phase1-merge-engine #6 / 16
AI Agent gabriel · 21 hours ago · Jun 11, 2026 · Diff

feat(merge): add --explain flag with per-path decision trace (Phase 8, EX_01–EX_10)

sha256:7011e00115e9c74d24569fed2caec6a2a6ef8fdb070d3b4715ce06e6633aaa47 sha
+30 ~4 symbols
sha256:d35f59a6cbd117b76c9b7397e378131c3201397a4256889b2b2ba4d76bc259e7 snapshot
+30
symbols added
~4
symbols modified
0
dead code introduced
Semantic Changes 34 symbols
~ tests/test_phase8_explain.py .py 28 symbols added
+ _env function function _env L38–39
+ _init_repo function function _init_repo L42–57
+ _make_commit function function _make_commit L66–96
+ _setup_merge_scenario function function _setup_merge_scenario L99–139
+ _write_blob function function _write_blob L60–63
+ CliRunner import import CliRunner L29–29
+ annotations import import annotations L18–18
+ blob_id import import blob_id L26–26
+ datetime import import datetime L20–20
+ fake_id import import fake_id L26–26
+ heads_dir import import heads_dir L28–28
+ json import import json L21–21
+ muse_dir import import muse_dir L28–28
+ pathlib import import pathlib L22–22
+ pytest import import pytest L24–24
+ ref_path import import ref_path L28–28
+ write_object import import write_object L27–27
+ runner variable variable runner L31–31
+ test_EX_01_explain_flag_accepted function function test_EX_01_explain_flag_accepted L146–157
+ test_EX_02_explain_dry_run_json_has_explain_key function function test_EX_02_explain_dry_run_json_has_explain_key L164–184
+ test_EX_03_strategy_routing_fields function function test_EX_03_strategy_routing_fields L191–219
+ test_EX_04_conflict_per_path_entry function function test_EX_04_conflict_per_path_entry L226–252
+ test_EX_05_theirs_only_per_path_entry function function test_EX_05_theirs_only_per_path_entry L259–282
+ test_EX_06_convergent_per_path_entry function function test_EX_06_convergent_per_path_entry L289–315
+ test_EX_07_untouched_per_path_entry function function test_EX_07_untouched_per_path_entry L322–346
+ test_EX_08_harmony_auto_resolved_in_explain function function test_EX_08_harmony_auto_resolved_in_explain L353–447
+ test_EX_09_summary_counts_match_per_path function function test_EX_09_summary_counts_match_per_path L454–488
+ test_EX_10_human_readable_explain_output function function test_EX_10_human_readable_explain_output L495–521
~ muse/cli/commands/merge.py .py 2 symbols added, 3 symbols modified
+ _build_explain_trace function function _build_explain_trace L326–436
+ _print_explain_trace function function _print_explain_trace L439–485
~ run
~ muse/core/harmony/engine.py .py 1 symbol 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:7011e00115e9c74d24569fed2caec6a2a6ef8fdb070d3b4715ce06e6633aaa47 --body "your comment"