What the person is doing
The product can distinguish transient failures from validation, permission, policy, irreversible, or final-state failures.
Foundation · lesson 2 of 23 · Error Prevention And Recovery
Underlying principle: Recovery begins before the error. Clear consequences, suitable constraints, preserved work, and a visible correction path reduce the cost of a mistake.
Expose a scoped Retry control only for retryable failures, preserve the original request context, show attempt and pending states, prevent duplicate activation, use idempotency for side-effecting operations, back off repeated attempts, and stop retrying when correction, fallback, or escalation is more honest.
Recovery begins before the error. Clear consequences, suitable constraints, preserved work, and a visible correction path reduce the cost of a mistake.
The product can distinguish transient failures from validation, permission, policy, irreversible, or final-state failures.
Expose a scoped Retry control only for retryable failures, preserve the original request context, show attempt and pending states, prevent duplicate activation, use idempotency for side-effecting operations, back off repeated attempts, and stop retrying when correction, fallback, or escalation is more honest.
Retryable failed state with affected operation, object, and preserved request context.
What exact operation will run again, and can users see that scope before activating Retry?
Retry repeats the same failed operation against the same request scope unless users explicitly edit that scope first.
The product can distinguish transient failures from validation, permission, policy, irreversible, or final-state failures.
Open the working example, try its controls, and compare the behavior against the decision guidance.
The product can distinguish transient failures from validation, permission, policy, irreversible, or final-state failures.
Expose a scoped Retry control only for retryable failures, preserve the original request context, show attempt and pending states, prevent duplicate activation, use idempotency for side-effecting operations, back off repeated attempts, and stop retrying when correction, fallback, or escalation is more honest.
Retryable failed state with affected operation, object, and preserved request context.
Retry creates duplicate records, payments, invitations, exports, or queued jobs.
Expose pending, failed again, cooldown, succeeded, exhausted, and non-retryable outcomes through status text or live regions.
Amazon Web Services - checked
AWS documents retry backoff, jitter, retry limits, and how retries can increase load during failures.
Stripe - checked
Stripe documents idempotency keys for safely repeating create and update requests without duplicate operations.
Google SRE - checked
Google SRE documents retry traffic as a possible contributor to cascading failures and recommends randomized exponential backoff.
Microsoft Learn - checked
Microsoft documents retry as a transient-failure handling pattern with immediate, delayed, and cancelled strategies.
Source trail checked: