Files
cleveragents-core/features/fixtures/m4/conflict_simulations.json

50 lines
1.7 KiB
JSON

{
"fixtures": [
{
"name": "git_three_way_no_conflict",
"description": "Two parallel subplans modifying different files merge cleanly",
"merge_strategy": "git_three_way",
"subplan_a_files": ["src/api.py"],
"subplan_b_files": ["src/models.py"],
"expected_conflict": false,
"expected_merge_result": "success"
},
{
"name": "git_three_way_with_conflict",
"description": "Two parallel subplans modifying the same file produce a conflict",
"merge_strategy": "git_three_way",
"subplan_a_files": ["src/shared.py"],
"subplan_b_files": ["src/shared.py"],
"expected_conflict": true,
"expected_merge_result": "conflict_detected"
},
{
"name": "fail_on_conflict_strategy",
"description": "Fail-on-conflict strategy raises error on any overlap",
"merge_strategy": "fail_on_conflict",
"subplan_a_files": ["src/config.py"],
"subplan_b_files": ["src/config.py"],
"expected_conflict": true,
"expected_error": "MergeConflictError"
},
{
"name": "last_wins_strategy",
"description": "Last-wins strategy overwrites earlier changes",
"merge_strategy": "last_wins",
"subplan_a_files": ["src/settings.py"],
"subplan_b_files": ["src/settings.py"],
"expected_conflict": false,
"expected_merge_result": "last_wins_applied"
},
{
"name": "sequential_apply_no_conflict",
"description": "Sequential apply merges changes in completion order",
"merge_strategy": "sequential_apply",
"subplan_a_files": ["src/handler.py"],
"subplan_b_files": ["src/handler.py"],
"expected_conflict": false,
"expected_merge_result": "sequential_applied"
}
]
}