v1.2.5

Execution Receipts and Recovery

After a protected operation, the runtime can report what it knows. AIGP preserves that bounded attestation; the runtime remains responsible for the external system.

What a receipt means

An execution receipt is a bounded statement submitted by the authenticated runtime after an earlier ALLOW. It links the saved decision, action, tool-call identity, and arguments digest to the runtime's reported outcome. It does not independently prove that a database, payment system, or other external application changed.

Receipts contain identifiers, references, reason codes, and digests. They do not upload raw tool arguments, results, prompts, credentials, or error payloads to AIGP.

UNREPORTED and UNKNOWN are different

StateMeaning
UNREPORTEDAIGP has an ALLOW but no receipt. It does not guess whether the operation ran.
UNKNOWNThe runtime explicitly reports that it cannot yet determine the external outcome, for example after a crash.
SUCCEEDED, FAILED, NOT_EXECUTEDA terminal runtime attestation when the runtime knows the outcome.

Recovery without retry

If a mutation may have happened before a crash, the runtime reports UNKNOWN and reconciles using its own durable transaction record or idempotency evidence. It may then append one terminal receipt that supersedes the uncertain receipt. The original receipt is never edited or deleted.

Unknown is not a retry instruction

AIGP never retries, rolls back, or coordinates the external operation. A new attempt needs a new valid authorization; recovery must first establish what the external system did.

What AIGP does not do

A late receipt may still be accepted as historical evidence after its decision expires or delegation is revoked. It never renews permission for another attempt. Read Runtime Action Authorization for the pre-execution decision and Replay Manifests for the separate replay-evidence assessment.