rsync's --exclude also protects the matching path at the DESTINATION from
--delete. The belt-and-suspenders --exclude='gh-mirror/' I added in the previous
fix prevented the stray gh-mirror/ subtree at the destination from ever being
deleted by --delete, defeating the auto-heal. The structural fix (cloning the
GitHub mirror into $RUNNER_TEMP, outside ./) already prevents the recursive
self-include, so the exclude is unnecessary and harmful. Removed it; left an
explanatory NOTE in the workflow so this isn't re-added.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT