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.
GS12 · Concurrent accepts and retried commands
| Field | Value |
|---|---|
| Status | Not executed |
| Type | Balanced software (new in the GGA baseline) |
| Source | Blueprint pp. 12, 14, 15 (GGA-Requirement-Register); client-supplied draft, not accepted |
| Gate | GA06 |
| Blueprint delivery stage | Stage 3 Complete the service loop (p. 19) |
| Build step | 06 (primary; tests first) |
| Replaces or carries | DG17, T16, T18, T19 |
| Decisions | — |
Given
A pitch awaiting a decision. A command carries an idempotency key.
When
Fire two simultaneous accepts; replay the same command with the same payload; replay it with a changed payload and the same key; submit a duplicate interest.
Then / oracle
Two accepts create one introduction (one introduction per interest, enforced in the database). A matching replay returns the same result; a changed payload with the same key fails. The idempotency key is scoped to actor and action. Replays do not create a second grant, invoice or contribution term.
Evidence required
Database constraint hit, row counts and response codes; race harness output on a named build.
Decision dependency
None. The rule is stated in the Blueprint page cited above.
Where a decision is pending, the dependent assertion is Blocked by that decision and no oracle is invented. A proposed default is a configuration value, not a promise. This note is a specification: it is Passed only on a named integrated build and fixture.
Back to GGA-Scenario-Index · GGA-Traceability-Matrix · Scenario-Dispositions.