FOXIFY / Failure-state guide
Agent Timeout and Retry
Why a timeout cannot authorize another action
A network timeout means the caller did not receive a definitive response. The provider may have committed the effect. Repeating a payment, send, deployment or deletion can create a second consequence. A transport request ID is not a durable business-operation ID.
Four states to distinguish
- Unknown: dispatch may have occurred; hold, retain the logical action ID and query the provider.
- Effect confirmed: the provider's fresh object matches the exact subject, target and operation; do not dispatch again.
- No effect established: only an authoritative read after the provider's consistency window can establish this; a new attempt still requires the provider's actual idempotency contract and owner policy.
- Conflict: target, amount, object or version disagrees; stop and investigate.
What to record before dispatch
Bind the owner-approved subject, exact target and arguments, expiry, idempotency key, intended postcondition and provider-specific readback method. On reconnect, reuse the logical action identity even if the MCP/HTTP request ID changes.
Start with the current contract
Read the live machine quickstart → It documents advisory preflight and the boundary of its evidence. For bounded source observation, open the public preview.