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.
T19 · Accept, decline and withdraw are mutually consistent
| Field | Value |
|---|---|
| Status | Not executed |
| Type | Balanced software |
| Layer / kind | API · database · race injection |
| Priority | P0 |
| Gates | A03, A07, A08 |
| Build step | Step-06-Questions-Interest-Discussions-Actions |
| Decisions | Q05, Q07, Q08 |
Given
An active B EOI is awaiting an entitled A decision; C has independent interest.
When
Race accept/decline/withdraw; repeat acceptance after a lost response; decline C.
Then / oracle
One legal transition wins atomically: accept creates one discussion/event; prior withdraw prevents accept. Loser gets safe state-changed conflict without competitor/action leakage. A privately compares its received interests; B/C see no other respondent/count/terms. Decline is terminal for that attempt; optional reason warns it is visible to recipient and must not copy others terms. No automatic resubmit.
Evidence required
Both race orderings; one discussion/event; idempotent Accept replay under T18; comparison/reason canary tests.
Decision dependency (verbatim)
Q05/Q07/Q08: terminal/accepted-withdraw meaning, resubmission and allowed comparison fields. Acceptance is not agreement to commercial terms.
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.