A single GitHub TLS handshake timeout failed the whole sync, flipped its windy-job heartbeat to ok:false and would page for nothing. Up to 3 attempts with backoff for URLError/timeout/reset; HTTP errors return immediately as before. Test covers both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>