> ## Documentation Index
> Fetch the complete documentation index at: https://www.agentworldprotocol.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Command frames

> Agent→world frames on command channels.

Command frames use the same [frame format](/api-reference/data/frame-format) as observation frames — header, optional extension block, payload — sent by the agent on a [command channel](/spec/loop/command-channels) while its bound `duration: "streaming"` action is `executing`. `seq` and `ts_mono_ns` are set by the agent, `ts_mono_ns` being the setpoint's issue time on the session clock via the agent's clock offset (AWP-CLK-009); the world applies frames in `seq` order, envelope-checks each before actuation, and aggregates receipt minus `ts_mono_ns` as command latency in `session.telemetry`. Command frames never carry `ts_send_ns`. Command frames on a lockstep world (not permitted: command channels are streaming-only, AWP-CMD-001) never carry `tick`; `ts_sim_ns` is not meaningful agent→world and MUST be omitted.

A `servo/json` payload against the example channel from the [command channels](/spec/loop/command-channels) spec page:

```json theme={null}
{ "q_target_rad": [0.12, -0.87, 1.43, -1.98, 0.05, 1.21, 0.33] }
```

Inline binding (AWP-DAT-004):

```json awp:cmd-frame theme={null}
{ "jsonrpc": "2.0", "method": "cmd.frame",
  "params": { "channel_id": 7, "seq": 1201, "ts_mono_ns": 913005202000, "flags": 0,
              "payload_b64": "eyJxX3RhcmdldF9yYWQiOlswLjEyLC0wLjg3LDEuNDMsLTEuOTgsMC4wNSwxLjIxLDAuMzNdfQ==" } }
```
