# Roborama documentation

Real robots as an API — evaluate policies on physical hardware and get back results with n and confidence intervals.

Roborama runs your robot policy on real, instrumented hardware and returns a
statistically defensible result: a success rate with its sample size and a
Wilson confidence interval, failure clusters, full episode artifacts, and a
citable verification report. Simulation screens; physical testing verifies.

## The mental model

```text
task (draft→pilot→frozen) → quote → run|eval|verify|matrix|threshold
                                → episodes (MCAP + video + GT)
                                        → result (n, rate, CI, clusters)
                                        → report (verification, citable)
                                        → webhook (gate your release)
```

Freeze the claim as a [Task Spec](/docs/concepts/tasks-and-method-transfer/),
quote a job, run a primitive — and everything that comes back is an
artifact, a statistic, or a hook.

## Start here

- [Quickstart](/docs/quickstart/) — key → run → result in under five minutes.
- [run()](/docs/primitives/run/) — the core primitive, field by field.
- [Runs & statistics](/docs/concepts/runs-and-statistics/) — why every result
  carries n and a CI, and how `auto(ci=0.95, moe=0.03)` sizes your run.
- [API reference](/docs/api-reference/) — generated from
  [/openapi.json](/openapi.json), examples on every operation.

## The primitives

| Primitive | What it answers |
| --- | --- |
| [`run()`](/docs/primitives/run/) | Does this policy work, on this robot, in this scene — with what precision? |
| [`eval()`](/docs/primitives/eval/) | How does it score on a frozen, citable benchmark suite? |
| [`verify()`](/docs/primitives/verify/) | Where does reality disagree with my simulator? |
| [`matrix()`](/docs/primitives/matrix/) | How does it hold up across embodiments × environments? |
| [`threshold()`](/docs/primitives/threshold/) | Iterate on cheap hardware until verified at a target — then prove it. |
| [`compare()`](/docs/primitives/compare/) | Is v4 actually better than v3, with paired initial conditions? |
| [`transfer()`](/docs/primitives/transfer/) | How much is lost moving to a new embodiment? |

## Built for agents

Every page here has a markdown twin at `<path>.md` and a "Copy page as
Markdown" button. [/llms.txt](/llms.txt) is the curated index;
[/llms-full.txt](/llms-full.txt) is the whole documentation as one file;
[/openapi.json](/openapi.json) is the machine-readable API. Code examples come
in four tabs — Python, TypeScript, cURL, and Agent (a tool-use JSON payload) —
generated from the same snippet source so they never drift. See the
[agent guide](/docs/sdks/agents/).
