The runner abandoned tasks Gitea had already assigned when FetchTask took longer than the default 5s fetch_timeout, leaving runs in_progress with no logs until Gitea's zombie sweep failed them (~15 min). Raise fetch_timeout to 30s, cap jobs at 1h, and keep the Fly config + runner config here so the runner can be rebuilt from the repo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VVFi3wvLWKaEkpDw6eLnQC