{
"name": "quarry",
"version": "1.0",
"_comment": "Every step retries, because dagnats is a durable runner and a workflow that declares no policy gets exactly one attempt \u2014 which is how a transient clone failure reddened 22 of 30 runs. Each step clones from this forge, and a deploy restarts the forge: measured downtime is 17.6s, and the clone itself takes ~14s to give up. So the ladder is 5s, 15s, 45s (cumulative 5s/20s/65s): short enough to shrug off a momentary blip the way actions/checkout does, long enough that the second retry is already past a full restart. MULTIPLIER IS EXPLICIT: dagnats never defaults it, and exponential with an absent multiplier computes InitialDelay*0^(n-1) \u2014 5s then 0s, worse than fixed. A genuinely broken test still fails four times and still reds the run.",
"steps": [
{
"id": "test",
"task": "quarry-test",
"retry": {
"max_attempts": 4,
"strategy": "exponential",
"initial_delay": 5000000000,
"multiplier": 3,
"max_delay": 60000000000
}
},
{
"id": "fmt",
"task": "quarry-fmt",
"retry": {
"max_attempts": 4,
"strategy": "exponential",
"initial_delay": 5000000000,
"multiplier": 3,
"max_delay": 60000000000
}
},
{
"id": "build",
"task": "quarry-build",
"retry": {
"max_attempts": 4,
"strategy": "exponential",
"initial_delay": 5000000000,
"multiplier": 3,
"max_delay": 60000000000
}
}
]
}