World events
Worlds emitworld.event notifications for state changes not tied to a specific action: entity_appeared, entity_removed, collision, e_stop_engaged, e_stop_released, envelope_violation, grant_expired, safe_state_entered, safe_state_exited, channel_degraded, world_resetting, world_shutdown. Events carry ts_mono_ns, status_seq, and structured detail. Custom events use x-<vendor>. names. [AWP-EVT-001]
world.event notifications travel only on the control channel, where status_seq orders them against action statuses and resumption replays them. A text/event+json observation channel carries the world’s own structured samples — detections, scene deltas, game state — and MUST NOT carry the events of this registry. [AWP-EVT-003]
e_stop_engaged MUST terminate every non-terminal action: executing actions → failed (reason e_stop); pending_approval, queued, and accepted actions → cancelled (reason e_stop). Action admission is suspended (AWP_ESTOP_ACTIVE) until e_stop_released. [AWP-EVT-002]
Status reasons
Terminalaction.status notifications in rejected, failed, or cancelled carry a reason from this registry (AWP-LIF-004). Vendor reasons use x-<vendor>. names.
Error taxonomy
Errors surface as JSON-RPC error objects with AWP codes (see error codes):
Every error object marks
retryable: true|false in data. Agents MUST NOT retry non-retryable errors with identical parameters. [AWP-ERR-001]