fix camo self-proxying own images; reaper requeues abandoned jobsVerified
camo: skip cave's own-origin (:base-url) <img> URLs. Camo is for hiding the viewer's IP from third-party hosts; proxying cave's own raw images made the server fetch its own public URL from inside its container (can't hairpin → 502 "fetch failed" → broken image). Browser now loads own images directly. reaper: reap-stale-workflow-jobs now REQUEUES jobs orphaned by a dead/ restarted/offline runner (or stuck 'assigned' past a grace period) instead of failing them — a runner restart (e.g. a cave deploy) shouldn't kill an in-flight build. Bounded by a new attempts counter (migration 63); only a hard MAX-MINUTES timeout or exhausted attempts fail the run. Reap cadence 120s (was 300s). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By:
Claude Opus 4.8 (1M context) <noreply@anthropic.com>