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

FieldValue
StatusNot executed
TypeBalanced software
Layer / kindAPI · database · race injection
PriorityP0
GatesA03, A07, A08
Build stepStep-06-Questions-Interest-Discussions-Actions
DecisionsQ05, 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.