Error Resilience
Error handling paths, retry and backoff logic, circuit breakers, graceful degradation, fallback behavior, and crash-recovery.
The survival layer: does the system keep working when things go wrong?
In scope. Error-handling paths, retry strategies with backoff and max-attempts, circuit breakers around flaky dependencies, graceful degradation, fallback behavior, timeout handling, partial-failure handling, UI error boundaries, crash recovery, idempotent handling of replays, error-swallowing detection.
Not in scope. Seeing that an error happened (that's observability). Cost effects of retry storms (carry both — resilience for the recovery logic, cost-efficiency for the unbounded retry). Structural stubs or scaffolding reaching production (that's placeholder-hygiene).
Distinct because. The defect is the system breaks down under failure conditions, independent of whether operators can see it. A pattern about "unhandled promise rejection crashes worker" is error-resilience. A pattern about "error happens silently, not logged" is observability.
Conceptual sub-structure. Error-handling paths, retry/backoff, circuit-breaking, graceful degradation, fallback behavior.
Patterns in this taxon (157)
- high3D Secure (SCA) flow is implemented and handled correctlyab-001162 · ecommerce-payment-security
- low404 error page with navigation optionsab-001287 · error-resilience
- low500 error page with incident trackingab-001288 · error-resilience
- highA regenerate response button is presentab-000148 · ai-chat-visibility
- highAdaptive throttling on 4xx SMTP responsesab-000936 · deliverability-engineering
- highAI error states are handled with clear user messagingab-000342 · ai-ux-patterns
- mediumAPI calls implement retry logic with exponential backoffab-001285 · error-resilience
- mediumAPI fails gracefully with partial UI renderingab-001286 · error-resilience
- criticalAPI failures show a human-readable error messageab-000146 · ai-chat-visibility
- highAPI rate limit compliance enforcedab-000884 · data-sourcing-provenance
- lowAPI timeout handling configuredab-002211 · saas-api-design
- mediumApp gracefully handles permission denialsab-001910 · mobile-permissions-privacy
- highApp gracefully restores state from storage on launchab-001875 · mobile-offline-storage
- highApp handles no-network state without crashing or blank screensab-000497 · app-store-review-blockers
- criticalApp launches without crashing on supported OS versionsab-000493 · app-store-review-blockers
- highAsync hooks supportedab-002078 · plugin-extension-architecture
- highAt-least-once delivery with deduplication guardab-002458 · sending-pipeline-infrastructure
- lowBackend process handles graceful shutdownab-001292 · error-resilience
- lowBackground job failures are logged and retriedab-002303 · saas-error-handling
- highBackground jobs have explicit retry capsab-000247 · ai-slop-cost-bombs
- lowBackground queues have a dead-letter or error-handling pathab-000250 · ai-slop-cost-bombs
- lowBackpressure when pipeline is saturatedab-000896 · data-sourcing-provenance
- lowBilling grace period supported for subscription renewalsab-000409 · app-store-iap-subscriptions
- highBlast radius containment — pause affected campaigns onlyab-001992 · operational-resilience-email
- mediumBounce categorization beyond hard and softab-000942 · deliverability-engineering
- highCancellation emails sent to both customer and host within 60 secondsab-000562 · booking-notifications-reminders
- highCancellation flow is completeab-002275 · saas-billing
- lowCancellation notification sent to customerab-001148 · ecommerce-order-management
- infoChaos testing exercises error pathsab-001295 · error-resilience
- lowCircuit breaker on repeated ESP failuresab-001985 · operational-resilience-email
- mediumCircuit breaker pattern for external API dependenciesab-001283 · error-resilience
- highClick redirect preserves original URL on tracking failureab-000582 · campaign-analytics-attribution
- lowClient queues outbound messages while offline and re-sends on reconnectab-000752 · community-realtime
- criticalConfirmation email sent within 60 seconds of confirmed status; delivery failures retriedab-000559 · booking-notifications-reminders
- lowCRM integration for lead handoffab-000618 · campaign-orchestration-sequencing
- lowCustom 404 and 500 error pages are configuredab-000015 · security-headers
- highCustom 500 page is present and does not expose internalsab-002182 · pre-launch
- highData syncs correctly when reconnected after offline periodab-001881 · mobile-offline-storage
- lowData-fetching components handle loading, success, error, and empty statesab-001289 · error-resilience
- lowDatabase connection pool with recovery strategyab-001291 · error-resilience
- criticalDatabase queries function without network connectivityab-001874 · mobile-offline-storage
- highDead letter queue for permanently failed sendsab-002457 · sending-pipeline-infrastructure
- mediumDelivery notification sent on state transition to deliveredab-001147 · ecommerce-order-management
- highDelivery status via webhooks, not pollingab-002460 · sending-pipeline-infrastructure
- mediumDenied permissions do not crash the appab-001911 · mobile-permissions-privacy
- lowDOM changes are cleaned upab-001334 · extension-permissions-security
- mediumDuplicate submissions prevented via idempotency tokenab-001454 · finserv-form-validation
- criticalError boundaries exist around high-risk feature sectionsab-001276 · error-resilience
- mediumError handling covers PRD-specified edge casesab-001546 · goal-alignment
- highError recovery does not lose user dataab-002304 · saas-error-handling
- criticalESP failover mechanism existsab-001981 · operational-resilience-email
- mediumESP response codes mapped to internal status modelab-002464 · sending-pipeline-infrastructure
- mediumExpensive operations have resource limitsab-001850 · mcp-server
- highExponential backoff with jitter on client reconnection, not fixed retry intervalab-000738 · community-realtime
- lowExternal API calls have an explicit timeoutab-000245 · ai-slop-cost-bombs
- highFailure handling releases resourcesab-000555 · booking-flow-lifecycle
- highFallback components are user-friendlyab-001277 · error-resilience
- highFBL processing automatedab-000943 · deliverability-engineering
- lowFile-not-found produces specific errorab-000656 · cli-quality
- lowForm submission retries on network failureab-001290 · error-resilience
- highGeocoding failures surface a validation error, not silent (0,0) coordinate storageab-001044 · directory-map-location
- highGlobal unhandled promise rejection handler is configuredab-001280 · error-resilience
- lowGraceful handling of insufficient funds vs generic declinesab-001173 · ecommerce-payment-security
- lowHandles notifications without sending a responseab-001838 · mcp-server
- highHard bounce results in immediate permanent suppressionab-000940 · deliverability-engineering
- lowHealth check endpoint exists, returns HTTP 200, verifies critical dependencies, and consumed by load balancerab-000987 · deployment-readiness
- highHeartbeat or ping on idle connections; zombie connections closed after configurable timeoutab-000737 · community-realtime
- mediumHook unregistration supportedab-002081 · plugin-extension-architecture
- highIdempotency keys are used on all state-changing charge requestsab-001158 · ecommerce-payment-security
- highIncompatible plugins gracefully disabledab-002093 · plugin-extension-architecture
- highInvalid JSON and malformed parameters return InvalidParamsab-001843 · mcp-server
- criticalJSON-RPC 2.0 message format is correctab-001833 · mcp-server
- highJSON-RPC error codes are used correctlyab-001840 · mcp-server
- mediumLong-running tools have timeoutsab-001844 · mcp-server
- mediumMap defaults to meaningful center when geolocation is unavailableab-001048 · directory-map-location
- lowMessage priority separates transactional from marketingab-002455 · sending-pipeline-infrastructure
- mediumMessages queued server-side during disconnect and delivered in order on reconnectionab-000743 · community-realtime
- infoMulti-ESP fallback routing configuredab-002463 · sending-pipeline-infrastructure
- lowNavigation event listeners properly cleanup on unmountab-001871 · mobile-navigation-linking
- criticalNear me triggers geolocation API with graceful fallback on denialab-001046 · directory-map-location
- highNegative engagement triggers sequence exitab-000613 · campaign-orchestration-sequencing
- highNetwork connectivity is actively detectedab-001876 · mobile-offline-storage
- mediumNetwork errors show a retry optionab-002302 · saas-error-handling
- highNetwork errors show a retry option rather than silently failingab-000149 · ai-chat-visibility
- highNetwork errors, empty states, and edge cases show user-friendly messagesab-000495 · app-store-review-blockers
- lowNo console.error in production without boundaryab-002298 · saas-error-handling
- criticalNo unhandled promise rejections in productionab-002285 · saas-error-handling
- highNotification Trigger Architectureab-000771 · community-social-engagement
- mediumOpt-out honored during queue backlogab-000784 · compliance-consent-engine
- criticalOrder confirmation email sent on state transition to confirmedab-001145 · ecommerce-order-management
- mediumOut-of-office detectionab-000611 · campaign-orchestration-sequencing
- highPagination shows current page, total pages, and prevents invalid page numbersab-001069 · directory-search-discovery
- highPartial page failures do not crash the entire pageab-002301 · saas-error-handling
- mediumPartial sync failures do not corrupt local stateab-001884 · mobile-offline-storage
- highPayment capture timingab-000554 · booking-flow-lifecycle
- mediumPayment failure handling with grace periodab-002261 · saas-billing
- mediumPayment operations are idempotentab-002274 · saas-billing
- mediumPermanent failures do not retryab-002453 · sending-pipeline-infrastructure
- lowPermission status checking implemented before API callsab-001912 · mobile-permissions-privacy
- criticalPlugin error boundariesab-002082 · plugin-extension-architecture
- mediumPoint-in-time recovery (PITR) is availableab-000919 · database-design-operations
- criticalPre-appointment reminder sent at configurable interval via scheduled job, not polling loopab-000572 · booking-notifications-reminders
- criticalProduction error responses do not expose stack tracesab-000013 · security-headers
- highPub/sub layer such as Redis or NATS ensures cross-instance message deliveryab-000742 · community-realtime
- highPurchase flow handles cancellation, failure, and network errors gracefullyab-000402 · app-store-iap-subscriptions
- criticalQueue backed by durable persistent storageab-002442 · sending-pipeline-infrastructure
- highQueue backpressure on ESP outageab-001982 · operational-resilience-email
- lowRate limit errors (HTTP 429) handled gracefullyab-001293 · error-resilience
- highRate limit errors show a specific, actionable messageab-000147 · ai-chat-visibility
- criticalReact error boundary wraps main applicationab-002287 · saas-error-handling
- infoRecovery time objectives documentedab-001298 · error-resilience
- mediumRefund flow is implementedab-002260 · saas-billing
- lowRefund initiation notification sent to customerab-001149 · ecommerce-order-management
- criticalReminder jobs idempotent; no duplicate reminders sent after crash recoveryab-000573 · booking-notifications-reminders
- highReply auto-pauses sequence for that contactab-000610 · campaign-orchestration-sequencing
- highReply detection implementedab-000609 · campaign-orchestration-sequencing
- mediumResource cleanup on removalab-002086 · plugin-extension-architecture
- lowResponds to ping requestsab-001839 · mcp-server
- mediumRestore procedure has been tested at least 1 time with documented results.ab-000920 · database-design-operations
- criticalRetries are idempotent — no duplicate sendsab-002451 · sending-pipeline-infrastructure
- highRetries use exponential backoffab-002450 · sending-pipeline-infrastructure
- highRetry limit set with dead letter escalationab-002452 · sending-pipeline-infrastructure
- mediumRetry logic uses exponential backoffab-000327 · ai-token-optimization
- lowRetry mechanism is safeab-000558 · booking-flow-lifecycle
- highRollback or cleanup logic exists if post-payment database updates failab-001164 · ecommerce-payment-security
- criticalRoot error boundary wraps entire applicationab-001275 · error-resilience
- highScheduled reminders cancelled when booking is modified or cancelled before fire timeab-000574 · booking-notifications-reminders
- mediumSearch handles errors with user-facing message, not raw error or empty listab-001071 · directory-search-discovery
- highSearch handles special characters without triggering errorsab-001055 · directory-search-discovery
- criticalSequence state persisted per contact (survives restarts)ab-000599 · campaign-orchestration-sequencing
- mediumSIGINT and SIGTERM handled for graceful shutdownab-001845 · mcp-server
- mediumSignal handling (SIGINT/SIGTERM)ab-000655 · cli-quality
- highSMS delivery failures logged; fallback email triggered after retries exhaustedab-000566 · booking-notifications-reminders
- highSMS sent within 60 seconds of booking confirmation if SMS is enabledab-000565 · booking-notifications-reminders
- highSoft bounce tracking with escalation to suppressionab-000941 · deliverability-engineering
- criticalStock decrements on order placement without double-countingab-001126 · ecommerce-catalog
- mediumTemporary failures do not block the rest of the queueab-002449 · sending-pipeline-infrastructure
- lowTemporary hold on time slotab-000540 · booking-flow-lifecycle
- mediumTimeout configured on all HTTP requestsab-001284 · error-resilience
- mediumTimeout errors have appropriate messagingab-002299 · saas-error-handling
- highToken counting is performed before API calls to prevent hard limit errorsab-000312 · ai-token-optimization
- highTool handlers catch errors and return isError: trueab-001841 · mcp-server
- lowTruncated responses are detected and handled gracefullyab-000201 · ai-response-quality
- highUnknown methods return -32601 Method not foundab-001842 · mcp-server
- highUnsubscribe triggers async processing jobab-000780 · compliance-consent-engine
- lowUpgrade/downgrade path without re-subscribingab-000417 · app-store-iap-subscriptions
- mediumUser actions queue correctly during offlineab-001878 · mobile-offline-storage
- highUser-facing error messages are non-technical and actionableab-001278 · error-resilience
- mediumUser-triggered code paths have infinite-loop guardsab-000249 · ai-slop-cost-bombs
- lowValidation failures return useful error responsesab-000278 · ai-slop-security-theater
- lowWaitlist handlingab-000547 · booking-flow-lifecycle
- lowWebhook endpoints return 200 OK quickly before complex processingab-001171 · ecommerce-payment-security
- mediumWebhook handlers are idempotentab-002609 · project-snapshot
- criticalWebhook handlers are idempotentab-000248 · ai-slop-cost-bombs
- mediumWebhook retry handling for payment eventsab-002258 · saas-billing
- lowWebhook retry logic is handled with idempotent processing designab-001172 · ecommerce-payment-security
- highwindow.onerror handler catches synchronous errorsab-001281 · error-resilience