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

# LingBot-VA LIBERO troubleshooting

> Diagnose missing chunks, echo gates, image orientation, and simulator setup.

| Symptom | Check |
| - | - |
| Connection rejected or no capacity | Check `https://api.reactor.inc`, identifier `reactor/lingbot-va`, and model access. Capacity can be unavailable before inference; retry with backoff or contact Reactor. |
| No first chunk | Wait for `READY`, deliver both camera tracks, and set a nonempty task. Do not discard the seed reply while waiting for more frames. |
| No next chunk | Send a changed nonempty executed-action JSON string. Repeating identical bytes does not advance the loop. |
| Stops after the second chunk | Subsequent echoes must have 16 rows of seven finite numbers. Keep simulation `--exec-steps 16`. |
| Unexpected motion at episode start | Skip the first four rows of `step: 0`. They are conditioning slots and are not zero-motion commands. |
| Correct shape, wrong behavior | Check camera identity, vertical flip, controller scaling, rotation representation, and gripper sign. Shape alone is not a compatibility check. |
| Unexpected counter after task change | A new task reseeds the policy at `step: 0`. Change tasks only at episode boundaries. |
| Extra chunk after reset | Clear the old executed-action field before reset. Use a fresh session when old replies cannot be distinguished from new ones. |
| LIBERO prompts or fails to find assets | Export `LIBERO_CONFIG_PATH` to the pre-seeded config and check its absolute asset/initial-state paths. |
| Initial-state loading fails | Use the simulation lockfile and Python 3.10; the reference requires PyTorch below 2.6. |
| macOS render crash | Construct and step MuJoCo on the main thread, as the example does. |

## Reference-client limitations

`LingbotVaClient.predict()` defaults its next echo to the previous prediction's executable rows.
That is appropriate only if those rows were actually executed. Its shape checks are partial; the
[first-action example](/robotics/lingbot-va/libero/quickstart) validates exact shape and finite
values.

The reference client and simulator bridge clear the old echo before reset, then set the task and
retain early seed replies. The Python SDK manages transport keepalive. The bridge rounds echoes to
five decimal places; identical rounded echoes can stop progress. Do not perturb values or change
JSON formatting to manufacture progress. Start a fresh session after an uncertain timeout.

The deployed model supports `sampling_seed` on reset; the reference wrappers use an empty reset
payload. See the [reference](/robotics/lingbot-va/libero/reference) for the reset payload.

A model seed controls sampling, not video timing or simulator state. Different pixels or a different
committed frame window can still change the result with the same seed.

## Report a problem

Include the model release, SDK/examples revisions, session ID, failure timestamp, both track shapes,
last received `step`, echo row count and length, seed, and exact error text. For simulation, include
the suite, task ID, initial-state ID, diagnostic log, and recording. Never include an API key.


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