findLandedTaskCommit only fell back to scanning all of HEAD on git-log exceptions. When the bounded base..HEAD range is valid but empty — e.g. the merger fast-forward-rebased the task branch and set baseCommitSha to the new HEAD, or later commits moved HEAD past the merge — recovery silently returned null and re-queued the merge even though the commit had already landed. Add an empty-stdout fallback that re-scans HEAD, with a regression test covering the FN-2221 scenario. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30 KiB
30 KiB