Status. Proposed design only. Nothing in this vault is GGA client approval. The GGA client documents are supplied drafts: see GGA-Source-Digest. No application, service or test has been executed; every scenario is Not executed. Delivery fees and dates are open.
T35 · Worker duplicates and ambiguous sends reconcile safely
| Field | Value |
|---|---|
| Status | Not executed |
| Type | Balanced software |
| Layer / kind | Worker · database · failure injection |
| Priority | P0 |
| Gates | A08 |
| Build step | 07 (GGA order; the 1.3 step is history) |
| Decisions | Q07 |
Disposition under GGA
| Field | Value |
|---|---|
| Disposition | Retained |
| GGA basis | Blueprint p. 16 (GGA-Requirement-Register) |
| Replaced or carried by | GS13-staged |
| Still open | none |
| What changes | Duplicate and ambiguous sends reconcile; a database lock does not promise exactly-once delivery. |
The 1.3 text below is kept verbatim as history. Where the disposition is Reframed, Superseded or Parked it is not the GGA oracle; use the replacing scenario. A Parked scenario has no GGA feedback and stays a Proposed carry-forward. The status stays Not executed. Register: Scenario-Dispositions.
Given
Two workers contend for one event-recipient-channel; provider accepts a send but its response is lost.
When
Crash after provider acceptance; expire worker lease; retry and invoke approved reconciliation.
Then / oracle
Unique logical delivery record remains. Processing is at-least-once, not exactly-once email. Reconcile using provider receipt/idempotency where available; otherwise hold for authorised resolution, not blind resend. Attempts and decision are durable.
Evidence required
Worker leases; event-recipient-channel constraint; provider stub receipts; attempt ledger.
Decision dependency (verbatim)
Q07: retry/lease budget, provider capabilities and ambiguous-result resolution owner.
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.