A failed run is a paused run
Your nightly client-report workflow has six steps: pull, clean, compute, chart, narrate, send. At 1:12am the vendor API in step three times out. The run fails and waits.
It is not lost. Workflow runs on hoody-agent are resumable: a failed run keeps its state, and POST /api/v1/agent/workflows/runs/{run_id}/resume picks it up where it broke. A second cron entry at 5am asks the agent to list failed runs, check whether the cause has cleared, and POST resume. Steps one and two don't rerun. Step three succeeds this time; four, five, six follow.
At 7am the PDFs are in the client folders. The agent's note says step 3 retried at 05:02 after vendor timeout.
On a pipeline built from scripts, a crash at step three means rerunning from step one. Failure stopped being a restart and became a bookmark.
Failure stopped being a restart and became a bookmark.