- One active run per session.
- Ordered, append only run events.
- Durable terminal run state.
- Replayable events after a client reconnects.
- Idempotent approval decisions.
- No new step after cancellation is observed.
- Unsupported driver capabilities fail loudly.
- Secrets stay out of persisted payloads.
- Retrying an idempotent tool does not repeat its side effect.
- A run is never reported complete before its terminal event and result are committed.
- A suspended turn resumes from its checkpoint without repeating finished work.
- A blocked tool call never reaches the tool.
Each of these has a named test, so a regression shows up as a failure with a name on it rather than as strange behavior in production.
What it does not
The laravel-ai driver checkpoints at safe model and tool boundaries. It does not promise byte perfect continuation from the middle of an active provider request. If a worker dies during that request the current step may run again, which is exactly why side effecting tools need an idempotency contract.
It also will not claim to interrupt a tool that cannot be interrupted, and it cannot make a non idempotent external action safe to retry.