strategy: clean up shadow branches after a partial migrated-ref push
main·
Commit

PushQueuedCheckpointRefs returned before cleanupPushedShadowBranches whenever flush returned an error — but the diverged path returns an error even when some refs pushed successfully. So a "push now" that partially succeeds left the landed refs' shadow branches uncleaned, unlike the pre-push path, which always runs cleanup after flush. Run cleanup unconditionally after flush for parity; it is best-effort and a no-op when nothing pushed.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Entire-Checkpoint: 01KWY7RMYDFVJART4FKV3FT0KS
Checkpoints
Checkpoint 1
Checkpoint 1