What happensA job stalls on its first stage. It never completes, so the completion check never fires. It never errors, so the failure check never fires. The record reads running indefinitely, and when the host process restarts, the worker dies leaving an orphan that nothing will ever resolve.
EvidenceObserved twice, three days apart. On 27 Aug a job sat at running for 27 minutes on stage one with all five artifacts empty; a comparable healthy run completes in 566s. The earlier instance was annotated by hand: "never finalized because the host process exited."
Why nothing caught itMonitoring polled for done or failed. A third state — neither — was invisible to it.
CostA full day of missed output per occurrence, with no signal that anything was wrong.
FixWall-clock stall detection: a non-terminal job older than a threshold raises a high-priority alert once. Implemented, with tests covering both the stalled case and the still-healthy-but-slow case.