gabriel / muse public
feat patch resolve task/issue-8-phase5 #1 / 1
AI Agent gabriel · 118 days ago · May 21, 2026 · Diff

feat(resolve): phase 5 — resolved conflict tracking in conflicts and status

muse conflicts --json now includes resolved_count and resolved_conflicts (entries from original_conflict_paths that are no longer in conflict_paths). Text output shows progress when some are resolved.

muse status --json now includes resolved_conflict_paths and resolved_conflict_count, always present. Text merge banner shows (N resolved) progress hint and muse resolve guidance.

Closes issue #8 phase 5.

sha256:7f8df71179860c428bbd461c5ddb1287a19eb1fd67d89c3b8660f7f372e9668c sha
+37 ~5 symbols
sha256:2b78e54bd5357b11191adfae2ab8bf677a1ac025cc1308e217881b820eca6899 snapshot
+37
symbols added
~5
symbols modified
0
dead code introduced
Semantic Changes 42 symbols
~ tests/test_resolve_phase5.py .py 37 symbols added
+ TestConflictsJson class class TestConflictsJson L85–174
+ test_all_resolved_shows_all_in_resolved_conflicts method method test_all_resolved_shows_all_in_resolved_conflicts L113–124
+ test_json_schema_always_has_resolved_keys method method test_json_schema_always_has_resolved_keys L159–166
+ test_no_merge_has_zero_resolved method method test_no_merge_has_zero_resolved L86–90
+ test_no_resolved_yet method method test_no_resolved_yet L92–98
+ test_partial_resolve_shows_resolved_conflicts method method test_partial_resolve_shows_resolved_conflicts L100–111
+ test_resolved_conflicts_have_correct_kind_for_file method method test_resolved_conflicts_have_correct_kind_for_file L137–146
+ test_symbol_level_resolved_conflicts method method test_symbol_level_resolved_conflicts L126–135
+ test_text_output_shows_progress_when_partially_resolved method method test_text_output_shows_progress_when_partially_resolved L168–174
+ test_total_conflict_count_unchanged_by_resolve method method test_total_conflict_count_unchanged_by_resolve L148–157
+ TestStatusJson class class TestStatusJson L181–241
+ test_all_resolved_reflected_in_status method method test_all_resolved_reflected_in_status L208–217
+ test_no_merge_has_empty_resolved_conflict_paths method method test_no_merge_has_empty_resolved_conflict_paths L182–188
+ test_no_resolved_yet method method test_no_resolved_yet L190–196
+ test_partial_resolve_shown_in_status method method test_partial_resolve_shown_in_status L198–206
+ test_resolved_conflict_count_equals_len_of_list method method test_resolved_conflict_count_equals_len_of_list L219–226
+ test_schema_always_has_resolved_keys method method test_schema_always_has_resolved_keys L228–233
+ test_text_status_shows_progress_when_partially_resolved method method test_text_status_shows_progress_when_partially_resolved L235–241
+ _BASE variable variable _BASE L41–41
+ _OURS variable variable _OURS L42–42
+ _THEIRS variable variable _THEIRS L43–43
+ _invoke function function _invoke L50–56
+ _set_merge_state function function _set_merge_state L70–78
+ CliRunner import import CliRunner L37–37
+ MUSE_DIR import import MUSE_DIR L36–36
+ annotations import import annotations L22–22
+ fake_id import import fake_id L36–36
+ json import import json L24–24
+ os import import os L25–25
+ pathlib import import pathlib L26–26
+ pytest import import pytest L28–28
+ read_merge_state import import read_merge_state L30–30
+ resolve_path import import resolve_path L30–30
+ resolve_symbol import import resolve_symbol L30–30
+ write_merge_state import import write_merge_state L30–30
+ repo function function repo L60–67
+ runner variable variable runner L39–39
~ muse/cli/commands/conflicts.py .py 2 symbols modified
← Older Oldest on task/issue-8-phase5
All commits
Newer → Latest on task/issue-8-phase5

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