synthetic experiment
A small counterexample to a blind retry.
A reproducible synthetic experiment shows why losing a reply and losing an effect are different events.
Question and method
Question: can a caller create two refund effects for one intent if the first response disappears? This experiment uses a deterministic in-memory provider double and a single logical intent. It makes the first call commit, then throws a lost-acknowledgement error.
Run the linked dependency-free Node script with node lost-ack.mjs. The script tests two branches from separate clean states: blindly retry after the error, and hold then look up the original intent. Budget: one selected fault and two explicitly enumerated branches; no search or model sampling.
Observable result
The unprotected branch produces two synthetic effect records for the same intent. The reconciliation branch keeps one effect and returns the first receipt. Assertions check both outcomes. The downloadable script is the reproduction, and the homepage demonstrates the same logical sequence.
A minimized reproducible path is useful because it exposes the mistaken assumption: the caller treated a missing reply as proof that the effect did not happen. The corrective decision preserves uncertainty until a suitable observation resolves it.
Limits and negative result
This fixture is deliberately defective and has no idempotency protection, real network, authentication, persistence, concurrency or provider account. It measures no production failure frequency and proves no live integration works. The path is a teaching example, not a disclosed third-party vulnerability.
The example does not establish general agent onboarding, global minimality or exactly-once financial behavior. A provider-qualified certificate needs independently justified tool semantics, valid controls and a declared observation/control envelope. No real project is enrolled or certified by this experiment.
Reproduce the synthetic experiment
Download the script, inspect it and run it locally. It uses only a simulated, deterministic in-memory provider.
node lost-ack.mjsSources & corrections
Corrections: none recorded.
Related issued certificates: none. Examples are educational.