Status: draft. Version 0.1 is published for public review. The wire format is not frozen; requirements may change before 1.0. Propose changes through the RFD process.
Scope
This specification defines the protocol boundary between an agent (any observation→action policy) and a world (any environment that produces observations and accepts actions), covering: transports and message framing, session establishment and capability negotiation, the perception–action loop under two time models, semantic grounding conventions, safety enforcement, and reproducibility. The protocol assumes the agent and the world share a network environment — the same machine or a trusted local network; it is not an internet rendezvous protocol.Normative language
The key words MUST, MUST NOT, REQUIRED, SHALL, SHOULD, SHOULD NOT, MAY, and OPTIONAL are to be interpreted as described in RFC 2119 and RFC 8174 when, and only when, they appear in all capitals. Every normative requirement carries a stable ID of the formAWP-<AREA>-<NNN> (e.g. AWP-SES-004). Conformance-suite assertions and RFDs reference these IDs. IDs are never reused after removal.
Reading order
Read the wire traces first: four complete, validated message sequences covering discovery, both time models, cancellation, and disconnection. Implementers of worlds then follow Transport → Session → Loop → Safety → your profile. Implementers of agents can skim transport and start at Session.Licensing
The specification text is licensed CC-BY 4.0. Canonical JSON Schemas and all reference code are licensed Apache-2.0 (its explicit patent grant matters for a protocol that spans physical actuation). Contributions are accepted without a CLA: by contributing you agree that your contributions to specification and documentation text are licensed under CC-BY 4.0, that your contributions to schemas and code are licensed under Apache-2.0, and you affirm you have the right to submit them. SeeLICENSE and CONTRIBUTING.md.