drew
d4e1219577
fix(controller): scope conflict-marker check to resolved files
...
finalize_conflict_resolution grepped every file in the PR's
origin/<base>..HEAD diff for committed conflict markers. On a large
sentinel PR (478-file diff) that includes .opencode/agents/
git-rebase-util.md — an agent def that *documents* conflict markers
with literal "<<<<<<< HEAD" lines — so the check false-positived and
rejected every resolution, looping the conflict-resolver indefinitely
(run-9: 185 attempts in ~4h, 125 on this exact error).
Scope the grep to the files the resolution actually touched
(resolved_files = prep-time conflicted set + the agent's reported
files_modified). A leftover marker can only be in a file the agent
resolved; a clean rebase/merge resolves nothing so the check is
skipped. Adds a regression test with a marker-documenting file in the
PR diff that is not a resolved file.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 21:33:44 -04:00
..
2026-05-21 21:33:44 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-03 21:31:16 -04:00
2026-05-20 23:02:07 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-21 00:29:11 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-21 17:17:16 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-11 17:39:23 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 11:49:05 -04:00
2026-05-03 21:31:16 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 15:18:23 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-17 10:02:53 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 11:49:05 -04:00
2026-05-11 23:19:18 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 22:55:09 -04:00
2026-05-20 00:09:17 -04:00
2026-05-21 17:17:16 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 17:42:33 -04:00
2026-05-20 00:09:17 -04:00
2026-05-03 21:31:16 -04:00
2026-05-03 21:31:16 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-03 21:31:16 -04:00
2026-05-06 01:28:41 -04:00
2026-05-04 13:13:52 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-03 21:31:16 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 11:49:05 -04:00
2026-05-20 12:25:50 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00
2026-05-20 00:09:17 -04:00