ReadonlyabortedThe run's signal has aborted — read when rule 3 is reached, so an abort raised inside retryOn is seen by
the decision taken again after it. Always true for an 'aborted' outcome.
ReadonlyattemptThis attempt, 1-based.
Optional ReadonlycategoryReadonlydelayThe wait before the next attempt, from backoffMs (0 when it is absent, invalid or throws).
ReadonlykeyWhether the target declared an idempotency key — never its value.
ReadonlyofThe attempts the policy allows in total.
ReadonlyoutcomeReadonlyretryThe policy's retryOn verdict on this attempt's error (true when absent; a throw is false, and the
record says it threw: AttemptRecord.retryOnThrew).
ReadonlytimeReadonlytime
What a retry-or-stop decision reads — the inputs
retryRulesevaluates, first match wins (§3.1). The runner computes each one only when a rule reaches it, soretryOnandbackoffMsrun exactly when a retry needs them.categoryandkeyPresentare inputs no default rule reads; a chart's own rules over the same inputs may.timeLeftMsisInfinitywithout a deadline, and so istimeLeftAfterWaitMs(=timeLeftMs − delayMs): the no-time-left rule compares one input with a constant, as everydecide()filter does.