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

> ## Agent Instructions
> To build and serve your own model, start at /deploy/development/quickstart and /deploy/development/overview. Deploying is the default path: reactor init scaffolds a workspace, reactor auth login authenticates, and reactor model deploy registers the model, publishes the release with the weights/ folder, and activates it on Reactor's GPUs, in one command from that workspace. Docker must be running, because the publish step builds the image locally. Bump model.version in reactor.yaml before redeploying a change, because a release that already has an image is reactivated as it is. Deployment access is granted per account, so contact team@reactor.inc if a deploy is refused. Every key in reactor.yaml is documented at /deploy/platform/reactor-yaml. Model code imports reactor_runtime; Python client code imports reactor_sdk. The runtime overview explains the model interface. Running the model on your own machine with reactor run is optional and needs a GPU you attach with --gpus; /deploy/development/local-testing covers that loop and pairs a complete brightness model with a Python client test in a separate brightness-test workspace.
> Reactor hosts multiple models, each with its own connect slug (modelName) and command/event schema. The video model catalog — slug, typed SDK package, and links to its schema — is at /model-api-reference/overview. Robotics policy documentation starts at /robotics/overview; X-WAM observations, actions, and client integration are under /robotics/xwam/; Cosmos3 Nano Policy DROID is under /robotics/cosmos/nano-policy-droid/. Some models expose one slug per experience (e.g. HappyOyster); always take the slug from the model's own pages, never guess it.
> Fastest path to a working app: `npx create-reactor-app my-app --model=<slug>` scaffolds a complete app with secure auth wired up. Typed TypeScript SDKs are published as @reactor-models/<model>; Python uses the base reactor-sdk package.
> Auth: exchange an API key (rk_...) for a JWT via POST https://api.reactor.inc/tokens from your server. Never put the API key in client-side code.
> Append .md to any docs URL for clean Markdown. Search these docs via the MCP server at https://docs.reactor.inc/mcp.

# DreamZero YAM troubleshooting

> Diagnose missing chunks, stale observations, and YAM action layout errors.

Start by separating session setup, camera delivery, model output, and robot execution. A correctly
shaped chunk establishes a transport result; it does not establish useful or safe motion.

| Symptom | Check |
| - | - |
| HTTP 401/403 or model inaccessible | Confirm `REACTOR_API_KEY`, endpoint, and model access; avoid sharing the key in logs. |
| HTTP 429 with `no available capacity` | No capacity is available. Retry with bounded backoff or contact Reactor; avoid rapid reconnect loops. |
| Slow `READY` | Cold startup can take minutes. The quickstart allows 900 seconds; retain status transitions and the session ID when escalating. |
| Ready but no `episode_started` | Publish `top`, `left`, and `right` after `READY`, deliver at least one frame per view, and send a nonempty prompt. Inspect `command_error`. |
| One chunk, then silence | Every camera must provide a new frame before another chunk can run. Check the least active track. |
| Disconnect while waiting | The SDK manages keepalive; do not block the event loop with synchronous control work. |
| Joint targets jump after reset | Reset clears measured state. Republish actual joint and gripper positions before starting the next prompt. |
| A chunk seems one observation behind | An older inference can already be in flight. `obs_seq` is a server ingest counter, not your capture ID. |
| Wrong shape or nonfinite values | Reject the chunk locally. Expect `(24, 14)`; record release, counters, and shape for support. |
| Black `predicted_video` | Preview is disabled by default. Enable `set_video_preview` only if you need diagnostic images. |
| One arm's targets look like deltas | Send measured state for that arm. Left and right state defaults are independent. |
| Arms or grippers move incorrectly | Check the interleaved layout: left joints `0:6`, left gripper `6`, right joints `7:13`, right gripper `13`. |
| `view_skew_us` is null | At least one newest consumed camera frame has no capture timestamp. Null does not mean zero skew. |
| Pairing increases waits | Enabled capture-time alignment can wait for histories near a common cutoff. Inspect all capture clocks and frame delivery before changing the option. |

## Report a reproducible issue

Include the model identifier, deployed release, SDK version, session ID, status transitions, camera
names and shapes, command sequence, `chunk_index`, `obs_seq`, and timing boundaries. Include whether
the input was synthetic, recorded, simulated, or live. Do not attach API keys or private camera
footage unless explicitly approved for sharing.

Measure first-chunk startup separately from steady-state inference and client transport. The
`inference_seconds` field is not total observation-to-action latency. If hardware is connected, use
the controller's hold/stop behavior while investigating; changing or resetting the model does not
stop the robot.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.