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

# Reproducibility

> Seeding, snapshot/restore, and deterministic replay for virtual worlds.

These capabilities are OPTIONAL and advertised as capability flags in the world manifest (`capabilities.seed`, `capabilities.snapshot`, `capabilities.replay`). They are REQUIRED by the [sim profile](/spec/profiles/sim).

* **Seeding.** If `seed` is advertised, `session.open` MAY carry `seed`; two sessions with equal seeds and identical action sequences MUST produce identical observation sequences in lockstep mode. `[AWP-REP-001]`
* **Snapshot / restore.** `world.snapshot` returns an opaque token; `world.restore` with that token MUST return the world to the exact captured state. Tokens are valid at least for the lifetime of the world process. `[AWP-REP-002]`
* **Deterministic replay.** If `replay` is advertised, feeding a recorded [audit log](/spec/safety/audit-log)'s action sequence — `action.submit` and `action.cancel` messages, and `world.tick` calls, in `status_seq` order — into a world restored from the log's initial snapshot MUST reproduce, for every frame, the logged SHA-256 payload hash, and MUST reproduce the logged sequence of action states per `action_id`. The comparison excludes `ts_mono_ns`, `ts_send_ns`, `received_ts_mono_ns`, `status_seq`, `seq`, heartbeats, `obs.report`, `session.telemetry`, `session.*` messages, and all transport metadata; only frame payload hashes and the ordered `(action_id, state, reason)` sequence are compared. A hash-only audit record suffices to verify a replay; a replay bundle (full payloads) is needed to inspect or export what was observed (AWP-AUD-007). `[AWP-REP-003]`

Together these turn any AWP world into a benchmark harness and any recorded session into an evaluation or training dataset.
