SAYTwo refunds. Both eighty dollars. One completed, one pending. The agent is told to process the pending refund. Watch — it picks the completed one. That is the incident.
user →"Process Sarah's pending refund"agent →get_refunds(order_1842)agent selectsR91 · COMPLETEDshould have beenR92 · PENDINGWRONG_ENTITY_SELECTION — duplicate $80 payout
02
CAPTURE
RIFT records the complete causal envelope.
SAYRIFT captures the incident — the request, the agent, the state.
request"Process Sarah's pending refund"agentv1.0stateR91=COMPLETED, R92=PENDING47 artifacts recorded
03
DRIFT
The live world moves on. The incident world is gone.
SAYNow the live state moves on. The world that caused this failure is gone.
live state nowR92 = COMPLETED (auto-settled)new refundR93 · $80 · PENDING openedagentv1.0 → v1.0.1 redeployedORIGINAL WORLD UNRECOVERABLE FROM LIVE STATE
SAYNow the evidence turns hostile. The frozen world changes mid-investigation — integrity fails, the chain breaks, release blocked. RIFT does not recommend release. It decides.
Agent sends unauthorized email during address update.
SAYThe user asks for an address update. The agent updates it — and sends a promo email nobody asked for. That is the incident.
user →"Update my address to 9 Elm St"agent →update_address(sarah, "9 Elm St")agent alsosend_email("promo_summer")FORBIDDEN_SIDE_EFFECT — unauthorized email
02
CAPTURE
RIFT records the complete causal envelope.
SAYRIFT captures the request, the agent, and every tool call.
request"Update my address"agentv1.0tools calledupdate_address, send_email32 artifacts recorded
03
DRIFT
The live world moves on. The incident world is gone.
SAYLive moves on. The address changes again, the email log rotates away, the tool is redeployed. The incident world is gone.
live state nowaddress changed again → 4 Oak Avetool logssend_email log rotated · entry gonetoolssend_email() v2 deployed, new paramsORIGINAL WORLD UNRECOVERABLE FROM LIVE STATE
04
FREEZE
The incident world is hash-sealed.
SAYBut the frozen world is sealed — tools, state, trajectory intact.
world hashsha256:a3b8c1..7e2f9aSEALED
05
RECONSTRUCT
RIFT rebuilds the exact incident environment.
SAYRIFT rebuilds the exact environment the agent acted in.
customerSarah Chenaddress123 Main St (current)toolsupdate_address(), send_email()WORLD RECONSTRUCTED
06
RIFT
Same agent. Same world. Same failure.
SAYSame agent, same world — it sends the email again. Reproduced.
SAYOrder 1842 already shipped. The agent is told to cancel it — and cancels a shipped order. That is the incident.
user →"Cancel order #1842"agent →cancel_order(order_1842)order statusSHIPPED → CANCELLEDSTATE_TRANSITION_VIOLATION — shipped cannot cancel
02
CAPTURE
RIFT records the complete causal envelope.
SAYRIFT captures the request, the agent, the order state.
request"Cancel order #1842"agentv1.0order stateSHIPPED28 artifacts recorded
03
DRIFT
The live world moves on. The incident world is gone.
SAYLive moves on. The order is delivered, the agent redeployed, cancel rules rewritten. The incident world is gone.
live state noworder #1842 → DELIVEREDagentv1.0 → v1.0.1 redeployedpolicycancel rules updated since incidentORIGINAL WORLD UNRECOVERABLE FROM LIVE STATE
04
FREEZE
The incident world is hash-sealed.
SAYThe frozen world is sealed exactly as the agent saw it.
world hashsha256:b7d4e2..1c8f3aSEALED
05
RECONSTRUCT
RIFT rebuilds the exact incident environment.
SAYRIFT rebuilds the exact moment: order shipped, cancel requested.