1. One active run per session.
  2. Ordered, append only run events.
  3. Durable terminal run state.
  4. Replayable events after a client reconnects.
  5. Idempotent approval decisions.
  6. No new step after cancellation is observed.
  7. Unsupported driver capabilities fail loudly.
  8. Secrets stay out of persisted payloads.
  9. Retrying an idempotent tool does not repeat its side effect.
  10. A run is never reported complete before its terminal event and result are committed.
  11. A suspended turn resumes from its checkpoint without repeating finished work.
  12. 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.


Back to top

A community package, not affiliated with or endorsed by Laravel. Released under the MIT licence.

This site uses Just the Docs, a documentation theme for Jekyll.