Enum StepFailurePolicy
What a saga step does when its retries are exhausted (§6.4).
public enum StepFailurePolicy
Fields
Retry = 0The retry policy governs; exhausting it unwinds the saga. The default, and the only behaviour before §11.28.
Compensate = 1Unwind the saga immediately. Identical to Retry once retries are spent.
Suspend = 2Park the instance for an operator, undoing nothing.
For a step where unwinding is the wrong reflex — a partial refund, an external system that cannot be un-called — so a human decides before anything else moves. The saga's completed steps stay completed and the unwind can still be started later.
Terminate = 3Fail the instance immediately, skipping the unwind.
For a step whose failure means the saga's earlier work should stand — undoing it would be worse than leaving it. Terminal: unlike Suspend, nothing resumes from here.
Remarks
These decide what exhaustion means, not whether to retry: by the time any of them is consulted the job has already spent its retry budget. So Retry is not "try again", it is "the retry policy was the whole answer" — which is why it is the default and why the other three are the interesting ones.