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

  1. Unknown: dispatch may have occurred; hold, retain the logical action ID and query the provider.
  2. Effect confirmed: the provider's fresh object matches the exact subject, target and operation; do not dispatch again.
  3. 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.
  4. 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.