Failure has consequences
See how outages, invalid requests, and unanswered queues affect people in the world.
The human cost
Praxis translates technical failures into changes to the affected actor. Stress rises, trust falls, and the relationship can degrade from active to at-risk to lost.
| Severity | Effect |
|---|---|
| Minor | Stress +0.10, trust −0.04, active relationships become at-risk |
| Major | Stress +0.18, trust −0.08, an already at-risk relationship can become lost |
Connector failures
HTTP and configuration errors are classified before consequences are applied.
| Signal | Classification | Retryable |
|---|---|---|
| HTTP 5xx or network TypeError | system-unavailable | Yes |
| HTTP 401 or 403 | access-denied | No |
| HTTP 400, 404, 409, or 422 | invalid-request | No |
| Missing connector, token, or capability | configuration-needed | No |
| Anything else | unknown | No |
Unanswered work
Pending organic requests also age against intent-specific deadlines. Triage starts timing out after 30 minutes, clinical updates after 90, bookings and emotional messages after 120, and other work after 180.
At the first deadline Praxis marks the actor at-risk and creates rescue work. At twice the deadline it fails the decision, sets stress to 1, reduces trust, marks the actor lost, and creates urgent recovery work.
Testing failure paths
Select mock-random for the capability you want to exercise, then create targeted work through the panel or API. The request, operation attempt, error classification, task, event, and profile consequence will be visible in one world state.
curl -X PATCH http://localhost:3000/api/simulation \
-H 'Content-Type: application/json' \
-d '{"config":{"transports":{"message":"mock-random"}}}'