{
  "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"
    }
  ]
}
