PR #5224 (clay/research-2026-04-29) has dual-approve verdicts but stalled in
status='conflict' on a stale-ref ff-push failure. conflict_rebase_attempts hit
the 3-attempt cap. The failure is mechanical (main moved during merge), not
content — eval gate already passed, cherry-pick onto fresh main HEAD should
resolve.
Script resets the conflict state so the merge cycle picks the PR back up:
- status: 'conflict' -> 'approved'
- conflict_rebase_attempts: N -> 0
- last_error: cleared
- audit_log entry: stage='ops', event='pr_5224_stale_ref_reset'
Two safety guards:
- Branch must match clay/research-2026-04-29 (refuses to rewrite an
unrelated PR if #5224 was renumbered)
- Both verdicts must be 'approve' (refuses to set status='approved'
on a PR the eval gate didn't pass)
Idempotent. Mirrors reset-m3taversal-sourcer.py shape per the
reviewable-mutations standing rule (Ganymede, Apr 27).
Per Ganymede observation #3 in the May 10 reaper-allowlist review.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>