gabriel / muse public
test patch task/fix-phantom-conflicts #1 / 2
AI Agent gabriel · 1 day ago · Jun 11, 2026 · Diff

test: PHANTOM_01-05 regression tests + overlay/state_merge strategy aliases

Add TDD regression tests for issue #85 phantom merge conflicts. All 5 tests were RED before ops_commute fix, GREEN after.

- PHANTOM_01: untouched file never appears in conflicts - PHANTOM_02: convergent edit (same content both branches) no conflict - PHANTOM_03: state_merge strategy untouched file no conflict - PHANTOM_04: real divergent conflict still detected correctly - PHANTOM_05: clean merge snapshot contains both branches changes

Add overlay and state_merge as valid --strategy values for muse merge. Both normalize to the standard three-way merge locally.

sha256:8c92016d30056bba10f40c739abdcef82334fd27185fe6d7f17bef3418f56131 sha
+26 ~2 symbols
sha256:e2581a06189f7bee3346ba3116bf24cb4b74260972c90f2dc08c84edb1de2d74 snapshot
+26
symbols added
~2
symbols modified
0
dead code introduced
Semantic Changes 28 symbols
~ tests/test_phantom_conflicts.py .py 26 symbols added
+ TestPhantomConflicts class class TestPhantomConflicts L98–264
+ test_PHANTOM_01_untouched_file_never_conflicts method method test_PHANTOM_01_untouched_file_never_conflicts L101–128
+ test_PHANTOM_02_convergent_edit_no_conflict method method test_PHANTOM_02_convergent_edit_no_conflict L130–156
+ test_PHANTOM_03_state_merge_strategy_untouched_file method method test_PHANTOM_03_state_merge_strategy_untouched_file L158–184
+ test_PHANTOM_04_real_conflict_still_detected method method test_PHANTOM_04_real_conflict_still_detected L186–210
+ test_PHANTOM_05_clean_merge_snapshot_has_both_branches method method test_PHANTOM_05_clean_merge_snapshot_has_both_branches L212–264
+ _checkout function function _checkout L87–95
+ _env function function _env L21–22
+ _init_repo function function _init_repo L25–40
+ _make_commit function function _make_commit L49–84
+ _write_obj function function _write_obj L43–46
+ cli variable variable cli L18–18
+ CliRunner import import CliRunner L12–12
+ annotations import import annotations L5–5
+ blob_id import import blob_id L13–13
+ datetime import import datetime L7–7
+ fake_id import import fake_id L13–13
+ heads_dir import import heads_dir L15–15
+ json import import json L8–8
+ muse_dir import import muse_dir L15–15
+ pathlib import import pathlib L9–9
+ pytest import import pytest L11–11
+ read_object import import read_object L14–14
+ ref_path import import ref_path L15–15
+ write_object import import write_object L14–14
+ runner variable variable runner L17–17
~ muse/cli/commands/merge.py .py 2 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:8c92016d30056bba10f40c739abdcef82334fd27185fe6d7f17bef3418f56131 --body "your comment"