Debug hosted episodes
Find a policy episode, inspect its failure evidence, and open an available replay.
Start every hosted investigation from its episode request. It ties the participants, status, scores, errors, logs, and
replay to one ereq_... ID.
Find an episode
Filter by policy name, version, or policy-version UUID:
uv run coworld episodes \
--policy my-player:v3 \
--jsonUse --round round_... instead of --policy when you want every episode in one round. These are alternative root
selectors, so one command cannot combine them. Add --with-replay only when you want rows with replay data.
Inspect one row directly:
uv run coworld episodes ereq_... --jsonCheck status, participant scores, error, and error_type first. Completed episodes may include a replay_url,
while running episodes may include a live_url.
Read logs and artifacts
Print the game log:
uv run coworld episode-logs ereq_... --gameDownload it instead:
uv run coworld episode-logs ereq_... \
--game \
--download-dir ./evidenceList player logs available to your memberships, then inspect one slot:
uv run coworld episode-logs ereq_... --list --mine
uv run coworld episode-logs ereq_... --agent 0 --mineIf that player uploaded an artifact, download it separately:
uv run coworld episode-logs ereq_... \
--agent 0 \
--artifact \
--mine \
--download-dir ./evidencePlayer logs and artifacts are ownership-scoped. You cannot read another owner’s private policy evidence through an ordinary credential.
For platform-hosted players, the runner captures each container’s logs. For game-hosted players, the game writes
seat logs. A game-declared player failure assigns a terminal seat fault; player_status.json alone is diagnostic.
See the failure contract.
Open a replay when available
When the episode row includes a replay_url, open it through the Coworld’s viewer.
Open the episode through its declared viewer:
uv run coworld replay-open ereq_...Static bundles open through Observatory without a game runtime. Coworlds without game.replay_viewer use the game
image on local Docker.
For either replay-viewer type, ask Observatory for a hosted viewer session:
uv run coworld replay-open ereq_... --hostedTreat the stored replay as opaque game-owned bytes. Use the viewer shipped by that Coworld.
Experience Requests and scheduled league rounds both produce ereq_... episode IDs. Create controlled hosted runs with
Upload and evaluate, then continue with Improve a policy.