controlled_by: "session" (AWP-MA-002).
Design choices that work well:
- Communication as world actions. A
sayaction andheardevents keep inter-agent talk inside the audit log and the world’s physics (range, interception) — usually better than out-of-band channels for games and sims. - A2A out of band when agents must coordinate privately or across worlds; AWP deliberately does not define this (multi-agent).
- Spectator sessions (AWP-EMB-004) for referees, evaluators, and dashboards.
- Shared control with declared arbitration for human-takeover setups (AWP-MA-003) — see Human in the loop.
- Shared lockstep time. Declare
tick_authority: "barrier": the world advances once every bound lockstep session has calledworld.tick, and every session receives the same advance (AWP-TIM-012). A stalled agent then blocks the round — give barrier worlds a per-tick timeout that treats a silent session as having ticked, and document it in the manifest. - Administrative mutations.
world.reset,world.restore, and (where the world chooses)world.tickrequire theadmingrant class (AWP-PRM-005). Grant them to the harness session, not to competing agents; a reset cancels every session’s in-flight actions (AWP-PRM-006).