THE SAME ACTION
SHOULD HAPPEN
ONCE.
Once is AI agent execution-safety infrastructure for MCP tools and applications that need safe retries after ambiguous outcomes. Stable identity. Durable state. Provider reconciliation. Protect supported refunds, bookings, payments and other consequential writes from unsafe duplicate execution after timeouts, lost responses and retries.
npx -y @once-agent/mcp
Different framework. Different retry machinery.
Same recovery protocol.
The same frozen Once V4 recovery core has been exercised under hard process termination across independent execution models. The control duplicates the external effect; the protected paths reconcile or fail closed instead of blindly executing again.
Install Once in a project or inspect the hard-crash labs line by line.
Scope: reproducible framework-level evidence using simulated provider ledgers and the SQLite reference backend. This is not a claim of universal exactly-once execution.
The provider succeeded.
The agent doesn't know.
The dangerous case is not an obvious failure. The external action happens, but the response disappears. From the agent's point of view, success and failure can now look identical.
Attempts change.
The operation does not.
Once identifies the real-world operation, not the individual request. Every retry of the same logical action carries the same stable operation ID.
op_8F21
RETRY ≠ SAFE
HTTP distinguishes idempotent operations because a communication failure can leave the client needing to retry without knowing whether the first request already took effect.
RFC 9110 says a client should not automatically retry a non-idempotent request unless it can know the retry is safe or determine that the original request was never applied.
READ THE STANDARD ↗
The retry gets a decision.
Not another blind execution.
Once places durable execution state between the retrying agent and the provider performing the consequential operation.
Stable identity
One deterministic identity for the logical operation.
Durable state
Execution history survives requests, processes and retries.
Provider truth
Reconcile what can actually be established.
Safe decision
Suppress the duplicate or fail closed.
Stripe supports idempotency so a request can be safely repeated after a connection error without accidentally performing the same operation twice.
Stripe also documents that idempotency keys may be removed automatically once they are at least 24 hours old.
STRIPE API REFERENCE ↗
Two attempts.
One external effect.
A Customer Zero regression sends the same supported consequential operation twice using one stable operation ID, then checks authenticated provider truth.
3 TOTAL
ATTEMPTS
AWS CLI v2 Standard retry mode has a default maximum of two retry attempts.
Including the original call, that produces three total call attempts by default.
AWS DOCUMENTATION ↗
Put your own traffic through the model.
See the retry problem at your scale.
Feed the same consequential traffic into both sides. The left models blind retry execution. The right models Once on the confirmed replay path. Use your own call volume — from one action to ten billion.
AT-LEAST-
ONCE
Pub/Sub provides at-least-once delivery by default.
Google documents that this means a message can be delivered multiple times, including some cases where it was already acknowledged.
GOOGLE CLOUD DOCUMENTATION ↗
Don't take the claim on faith.
Break it yourself.
The live Once Playground deliberately creates the ambiguous retry path: the provider performs the action, the response becomes uncertain, and the same stable operation is retried.
Go from project
to protected operation.
Using Once through an MCP client or AI agent? Use the MCP install below. Embedding Once directly in an application? Use the SDK terminal below, inspect consequential operations locally, review the proposed protection, then apply supported transformations.
npx -y @once-agent/mcp
npm install @once-agent/sdk
Your agents will retry.
Their side effects don't have to.
Execution safety for consequential AI-agent operations.