Skip to main content
A world is the isolated, stateful environment in which Tools, actors, time, events, and faults interact.

Shared consequences

All Tools selected for one attempt share that attempt’s SQLite-backed world. This lets a call to one Tool schedule an event, change data observed by another Tool, or affect a later assertion while preserving one causal order. The SQLite file is runtime state—not a representation of the agent’s own production database. Repository files define the reproducible baseline. Tool calls mutate only the isolated runtime copy.

What the world contains

  • Tool-owned state namespaces and records
  • actors and operation grants
  • virtual clock and deterministic randomness
  • pending events and scheduled work
  • active faults and response overrides
  • callbacks and subscriptions
  • an append-only causal journal
Every trial and retry receives its own world. Concurrent drills do not share mutations.

Baseline, scenario, and runtime state

Read and control state

The CLI and inspector expose the world through bounded, paginated views. The local TypeScript SDK can call operations, read state and evidence, advance virtual time, export a scenario, and perform full or Tool-scoped resets.

Control state and time

Seed records, activate faults, advance the clock, and reset the world.