Follow-up from #126 (PR #134). The durable run queue uses STUCK_CUTOFF_MS = 90s: a running row whose heartbeat_at is older than the cutoff (or NULL) becomes reclaimable by reclaim_stuck / try_claim.
Acceptance: measured first-heartbeat latency is comfortably under the cutoff (or the cutoff is adjusted); the live smoke passes end-to-end.
Follow-up from #126 (PR #134). The durable run queue uses
STUCK_CUTOFF_MS = 90s: arunningrow whoseheartbeat_atis older than the cutoff (or NULL) becomes reclaimable byreclaim_stuck/try_claim.reclaim_stucknever requeues a healthy-but-quiet worker. Heartbeats are designed to be independent of git output, but project DNA notes some CLIs index 8–15 min before producing a diff — confirm the heartbeat path really is independent and lands well inside 90s. TuneSTUCK_CUTOFF_MS/ heartbeat cadence if not.GET /api/sessions/{id}/queueshowsrunning → (heartbeat) → finalizedaccurately → kill the app mid-run → resume → confirm the row is reclaimable and the dashboard reflects it.Acceptance: measured first-heartbeat latency is comfortably under the cutoff (or the cutoff is adjusted); the live smoke passes end-to-end.