VESPERANManual testing
Reliability and operator rehearsals / 40

Double-submit and retry one commitment

Observe at most one activity or payment for the same request.

Prerequisites: a dedicated test character with enough berries for one ration recipe. Transport interruption and intentional request replay belong in an isolated staging installation; do not broadly disrupt live Discord or production networking.

Step by step

Tick a step after observing the expected result. Saved on this device only.

01Record the input baseline

Note carried berries and rations, then open a one-batch Cook trail rations review.

EXPECTED RESULT

No inventory reservation happens merely from opening the review.

02Commit once under normal conditions

Press Commit action once; try a rapid second press only if the UI still exposes the same enabled control.

EXPECTED RESULT

The UI guards an in-flight request; the resulting command creates at most one job and reserves three berries once.

03Rehearse a lost response in staging

An operator runs the transport retry test or interrupts only the dedicated test response after acceptance, then retries the unchanged request with the same request key.

EXPECTED RESULT

The stored result is returned instead of creating a duplicate job or second charge.

04Wait for the recipe boundary

Refresh after two minutes or the actual quoted duration.

EXPECTED RESULT

Exactly two rations are produced for the one batch. Neither a replay nor a refresh produces another output.

05Distinguish a new intent

Open a genuinely new form after the first job settles, change its inputs if desired and deliberately commit it as a second action.

EXPECTED RESULT

A new valid request is a separate player decision. Two different intentional commitments must not be confused with one duplicate delivery.

06Repeat on a funded transaction

With consenting staging accounts, repeat a single buy/accept-contract request through the existing transport harness.

EXPECTED RESULT

Exactly one payment and one custody transition occur for the same request key; changed arguments cannot reuse that key to conceal another command.

Type two or more characters to search.