mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
pr_review_claim transitioned a review task pending -> in_progress but never seeded last_heartbeat_at, unlike every sibling claim path (_finalize_claim, qa_claim, doc claim). The reaper treats a NULL heartbeat as a stale claim, and the GROK idle-kill watchdog bypasses the live-container skip on a NULL heartbeat -- so the reviewer container was killed (Cancelled) before it could post_pr_review, churning the task back to pending on a respawn loop. A Claude reviewer was shielded by the live-instance skip; only GROK manifested it. Seed the heartbeat at claim time, matching the established invariant. Verified against a real Postgres (10/10 test_pr_review_db tests, incl. the new last_heartbeat_at assertion).