Status. Proposed design only. Nothing in this vault is DG client approval. No application, service or test has been executed; every scenario is Not executed. Fees and dates are open.
T36 · Failures, recipient changes and callbacks are recoverable
| Field | Value |
|---|---|
| Status | Not executed |
| Type | Balanced software |
| Layer / kind | Worker · API · operations |
| Priority | P0 |
| Gates | A06, A08, A10 |
| Build step | Step-07-Outbox-Worker-Email |
| Decisions | Q07, Q08 |
Given
Transient/terminal provider failures exist; assignment may change before delivery; callbacks are available only if selected.
When
Run bounded retries/backoff, reassign/revoke before a retry, reach terminal failure and request manual recovery. Replay valid/invalid callbacks if enabled.
Then / oracle
Every attempt rechecks eligibility. Retry stops at the agreed limit; authorised recovery is audited. Invalid callbacks have no effect; valid repeats deduplicate. In-app state persists and failure tools do not expose bodies.
Evidence required
Attempt schedule under fake clock; failed-job view and access test; callback signature/dedup evidence if used.
Decision dependency (verbatim)
Q07/Q08: retry budget, sender ownership, permitted recovery and reassignment event treatment.
Source: TDD rev 1.3 (PDF); machine-readable in 10-Sources/tdd-bundle/. Back to Scenario-Index · Traceability-Matrix · integration dependencies in Dependency-and-Regression-Table.