How Praxis works
Understand the living world, its simulation clock, and the substrate behind side effects.
The world
Praxis models a business as a living network, not a load-test script. Actors have roles, relationships, location, movement, care context, temperament, trust, stress, and a memory of work that is still waiting.
Organizations supply the business context around those actors: services, staff, locations, branding, and a description of how each business uses its system of record.
The clock
Each tick advances simulated time by speedMinutes. During a tick, Praxis can generate and deliver messages, request decisions, age unanswered work, schedule local appointments, progress due appointments, move actors, and emit events.
| Field | Meaning |
|---|---|
clock.now | Current simulated ISO timestamp |
clock.tick | Number of completed simulation steps |
clock.running | Whether the panel should continue stepping automatically |
config.speedMinutes | Minutes added by each step, from 5 to 240 |
The substrate
Every external side effect goes through the same execution layer. Booking, outbound messaging, and cancellation each select a transport independently:
local-simresolves the action inside the engine.mock-randomdeliberately mixes success and failure for recovery testing.- A connector id prepares and executes a request against a real system of record.
The feedback loop
Actors, appointments, messages, and events create context.
A deterministic, human, or AI evaluator chooses an action.
The substrate carries the action through the selected transport.
Operations, tasks, events, stress, trust, and relationships preserve the result.
This feedback loop is why a connector error is more than a failed HTTP request. The person who needed the action becomes more stressed, may lose trust, and can eventually leave the relationship.