23863ccbaf
The non-quiet one-shot path exited 0 unless a Kanban worker was running, so scripts could not tell a failed `hermes chat -q` from a good one and an incomplete turn (partial, iteration budget) still read as success (#111770). Both one-shot paths now share one contract: 0 completed, 1 failed / partial / incomplete / never ran, 130 interrupted. The Kanban EX_TEMPFAIL sentinel also fires for `upstream_rate_limit` (aggregator's upstream 429) and `overloaded` (503/529): neither says anything about the task, so the dispatcher should requeue without a failure tick rather than count it toward the breaker.