State and events
Understand the persisted world snapshot, operation attempts, and append-only event log.
State shape
The API returns one validated snapshot containing configuration and every live queue.
{
config,
clock,
profiles,
appointments,
appointmentRequests,
cancellationRequests,
messages,
incomingMessages,
outboundMessages,
organicRequests,
operations,
tasks,
events
}The snapshot is written atomically to prevent a reader from seeing a partial state file.
Operation attempts
Every substrate action creates an operation attempt with capability, mechanism, request, timestamps, status, and either response or structured error.
| Status | Meaning |
|---|---|
attempting | The prepared call has been recorded and is in flight |
succeeded | The transport accepted the action |
failed | The action failed with a classified error |
unsupported | The chosen mechanism cannot perform the capability |
Connector operations retain the prepared method, path, and request body, which makes the panel useful for integration debugging without reading server logs first.
Events
Events are compact facts about the world: seeding and ticks, message queueing and delivery, organic requests and resolutions, appointment progress, operation results, task lifecycle, timeouts, and lost profiles.
{
"id": "event_…",
"type": "operation.failed",
"at": "2026-07-20T12:00:00.000Z",
"organizationId": "north-star",
"profileId": "profile_…",
"appointmentId": "appt_…",
"decisionId": "decision_…",
"messageId": "message_…",
"summary": "Booking creation failed because the system was unavailable."
}Retention
The in-memory snapshot keeps the most recent 300 events. Newly added events are also appended to .praxis/events.jsonl, while the current complete snapshot lives in .praxis/state.json.