Phase 1 simplified per Ship's architectural review:
- Drop the one-shot backfill script — the self-healing sweep IS the backfill.
First cron tick post-deploy picks up FwazB PR 4066 automatically via the
same SELECT/UPDATE path that handles all future races.
- Specify sweep placement as Step 0: runs as the very first action after
initial Forgejo+GitHub fetch, ahead of branch-mirror loop AND auto-create-PR
block (line ~250). Same-cycle convergence on fresh-cycle races.
- Replace `.fork-pr-map` design with branch-name-encoded sweep — branch name
carries the GitHub PR number deterministically (gh-pr-{N}/...), no API
call required, no map file, no flag plumbing.
Phase 1 final scope: ~10-line sweep block in sync-mirror.sh, idempotent,
zero-cost when clean.
Phase 2 architecture unchanged. Ship's open questions for Phase 2 (backout
flag, rebase-after-fix scope, merge commit message format) remain open.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>