FA-30027 / HTTP retries / Member archive
Idempotency receipt expiry during retry: Expired replacement violates retry transition semantics · case 02
Expired replacement violates retry transition semantics
Case contract
put(key,body,expires) creates a pending receipt if no live receipt exists at current logical time. Existing live matching key returns pending or cached; mismatched body returns conflict. commit succeeds only for a live pending receipt. at(time) moves monotonic time forward. Expiry at now is expired. lookup(key) reports missing/pending/cached. Return outcomes. Commit appends committed or ignored to expose whether a durable receipt write occurred.
Why this case matters
Offline deterministic model of HTTP request retries.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 3 | ["new", "ignored", "missing", "conflict", "missing"] | ["new", "ignored", "missing", "new", "pending"] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗