> ## 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.

# world-manifest.schema.json

> Canonical schema for the world manifest.

<Note>Generated from [`schemas/v0.1/world-manifest.schema.json`](https://github.com/Hyperduality/agent-world-protocol/blob/main/schemas/v0.1/world-manifest.schema.json) (`$id`: `https://agentworldprotocol.com/schemas/v0.1/world-manifest.schema.json`). Normative text: [/spec/session/world-manifest](/spec/session/world-manifest). Every tagged example on this site is validated against this schema in CI.</Note>

Returned by initialize and world.manifest (spec/session/world-manifest).

<ResponseField name="protocol_version" type="protocol_version" required />

<ResponseField name="world" type="object" required>
  <Expandable title="fields">
    <ResponseField name="name" type="string" required />

    <ResponseField name="version" type="string" required />

    <ResponseField name="vendor" type="string" required />
  </Expandable>
</ResponseField>

<ResponseField name="time_models" type="time_model[]" required />

<ResponseField name="tick_policy" type="on_tick">Required when lockstep is offered; v0.1 defines only on\_tick (AWP-TIM-002).</ResponseField>
<ResponseField name="tick_authority" type="any_session | barrier">Who may advance a lockstep world (AWP-TIM-012). Required when lockstep is offered.</ResponseField>

<ResponseField name="capabilities" type="object">
  Open map; v0.1 standard keys listed. Vendor keys use x-\<vendor>. (AWP-MAN-004).

  <Expandable title="fields">
    <ResponseField name="seed" type="boolean" />

    <ResponseField name="snapshot" type="boolean" />

    <ResponseField name="replay" type="boolean" />

    <ResponseField name="command_channels" type="boolean" />

    <ResponseField name="task" type="boolean" />
  </Expandable>
</ResponseField>

<ResponseField name="initial_states" type="identifier[]">Named initial states for world.reset (AWP-SIM-001).</ResponseField>

<ResponseField name="embodiments" type="embodiment[]" required />

<ResponseField name="observation_channels" type="observation-channel[]" required />

<ResponseField name="command_channels" type="observation-channel[]">Present only with capabilities.command\_channels (AWP-MAN-005).</ResponseField>

<ResponseField name="action_schemas" type="action-schema[]" required />

<ResponseField name="safety_policy" type="safety-policy" required />

<ResponseField name="$defs" type="object">Shared sub-schemas referenced by params\_schema entries via #/\$defs/\<name>.</ResponseField>

<ResponseField name="extensions" type="extensions" />

## Conditional rules

```json theme={null}
[
  {
    "if": {
      "properties": {
        "time_models": {
          "contains": {
            "const": "lockstep"
          }
        }
      }
    },
    "then": {
      "required": [
        "tick_policy",
        "tick_authority"
      ]
    }
  },
  {
    "if": {
      "properties": {
        "time_models": {
          "contains": {
            "const": "streaming"
          }
        }
      }
    },
    "then": {
      "properties": {
        "safety_policy": {
          "required": [
            "safe_state"
          ]
        }
      }
    }
  },
  {
    "if": {
      "required": [
        "command_channels"
      ]
    },
    "then": {
      "properties": {
        "capabilities": {
          "properties": {
            "command_channels": {
              "const": true
            }
          },
          "required": [
            "command_channels"
          ]
        }
      },
      "required": [
        "capabilities"
      ]
    }
  }
]
```
