Skip to content

Concepts

Simulated world

The world is authoritative shared state. Customers, orders, payments, refunds, and emails are typed models. A Stripe refund changes the payment visible through later Stripe calls and through the order's payment relationships.

Determinism

Simulation(seed=42) gives deterministic IDs. The simulated clock starts at a fixed UTC instant unless an explicit timezone-aware start is provided. Identical actions with the same seed produce equivalent snapshots and event histories.

Services

The current release intentionally focuses on Gmail, the application database/order system, and Stripe. GitHub, Slack, and Calendar remain small secondary services. This is not a complete implementation of any third-party API.

Mocks versus worlds

Mocks return configured answers to isolated calls. agent-world-sim models a world that changes after calls, allowing later agent actions to observe earlier consequences. It complements rather than replaces unit-test mocks.