Skip to main content

Discovery

The world’s endpoint is deployment configuration (transport). Capability discovery is initialize: the agent states the protocol versions it supports and what it can consume, and the world answers with its manifest — embodiments, channels, action types, capabilities, and safety policy — under the selected version (AWP-VER-002). world.manifest re-fetches the same document at any time. Everything the agent may later request is visible in that one response.

State machine

Worlds MUST emit a session.state notification — { state, status_seq, ts_mono_ns, reason? }, schema — on every transition from Ready onward; it shares the status_seq sequence with statuses and events (AWP-CTL-008), so the suspended transition reaches the agent on replay after session.resume. [AWP-SES-007]

Session identity

session.ready carries session_id, a world-assigned identifier stable for the life of the session and unique within the world process. It names the session in approval requests, world_resetting events, and audit records, and MAY be shown to other sessions; it is not a credential and grants nothing. The session_token is the credential and is never used as an identifier. [AWP-SES-009]

Recovery scope

Recovery in v0.1 covers loss of the control connection while the world process is alive. If the world has restarted or otherwise no longer holds the session, session.resume MUST fail with AWP_SESSION_UNKNOWN; the agent MUST treat the session as Closed, re-run initialize and session.open, and MUST NOT assume any prior action or grant survives. Crash-durable sessions are out of scope for v0.1 and MUST NOT be claimed. [AWP-SES-008]