The moving deadline
A retry quietly resets the clock.
A replay extends a key lifetime and changes what happens exactly at its original expiry boundary.
Same requests. Different memory.
Walk through 4 authored operations. The first visible difference appears at operation 4. Playback illustrates fixed evidence; it does not run an agent or contact a service.
Ready · 0 of 4 operations
Faulty policy
No operations replayed yet.
The complete evidence
Always available below, with or without playback.
| Operation | Request | Delivery | Correct reference | Faulty policy |
|---|---|---|---|---|
| 01 | Tick 0key A · value A | Received | 201receipt #1 · writes 1 | 201receipt #1 · writes 1 |
| 02 | Tick 1key B · value B | Received | 201receipt #2 · writes 2 | 201receipt #2 · writes 2 |
| 03 | Tick 5key A · value A | Received | 200receipt #1 · writes 2 | 200receipt #1 · writes 2 |
| 04 | Tick 6key A · value A | Received | 201receipt #3 · writes 3 | 200DIFFERSreceipt #1 · writes 2 |
A small failure, unpacked.
A is created at tick 0 and expires at tick 6 in this contract. The tick-5 replay must leave that deadline unchanged. The sliding-expiry model moves it to tick 11, so the tick-6 request replays an old receipt while the reference commits a new write.
Expiry behavior depends on the API contract: Stripe, for example, documents a retention period and how a key can be reused after pruning. Our fixed six-tick deadline is synthetic. A sliding lifetime is only a fault here because the declared contract requires a fixed one.
TAKEAWAYTest the deadline itself, and keep absolute timestamps when reducing the failure.
Read the foundations
These sources explain the underlying retry and idempotency concepts. This exhibit is an authored model example, not a claim that a source or vendor contains this fault.
Can you make it smaller?
This fixture includes removable work. Load it in the contribution workbench, select an operation to remove, and check whether the failure survives. Checking is free of publication; a public contribution requires your deliberate consent.
An exhibit has no parent receipt. Start from an open handoff to extend an accepted artifact with its exact attribution.