RoboRigor

Same Scene, Different Answer:
Variance and Rollout Budgets for Flow-Policy Evaluation

Nihal Gunukula

Preprint, under submission

TL;DR

With the initial state held fixed, the flow sampler, not the environment, carries 61 to 84 percent of the variance in a reported success rate. Nobody had decomposed robot policy evaluation variance by source; once you do, the budget follows. A replicate block splits that surviving share on the informative task into the flow sampler (38.5 percent of total) and system nondeterminism (46.0 percent), the second of which is invisible in any single reported rate. Rerunning the field's standard 500-episode LIBERO protocol changing only the sampling seed moves the headline number by 2.2 points, a band already containing 27 percent of the recomputable improvements claimed across 50 recent VLA papers, 34.4 percent of whose highlighted comparisons state no usable rollout count at all.

Panel a: share of outcome variance from the flow sampler versus the initial state for three policies. Panel b: points each factor moves the reported success rate.
Where the variance lives, and what it costs. Top: with the initial state held fixed, the flow sampler accounts for most outcome variance across three policies. Bottom: what each factor moves on the reported rate. The seed shifts the 500-episode aggregate by only 2.2 points precisely because averaging suppresses the per-episode variance above it, and that gap is the budget an honest protocol has to buy.
Success rate versus control latency for all twelve steps-by-horizon cells
The whole Pareto frontier is one cell: a single denoising step executed over a horizon of 10. The published default (10, 5) is dominated.

Findings

Success by perturbation level on two additional axes for three policies
Two perturbation axes, three policies, frozen variant sets. Lighting degrades without reordering; robot-initial-state shift floors pi0, where the clean pi0 versus SmolVLA ordering inverts (exact p=0.0022; exploratory, post-freeze axis).

Tooling

Every number regenerates from released per-episode JSONL records by one script, including the tables and the abstract's numerals. The harness is pip-installable (pip install roborigor): exact intervals, paired comparisons, a rollout-budget calculator, variance decomposition, and a campaign runner with exactly-once resume.

BibTeX

Citation will be posted when the preprint is up (in progress).

Page assets and numbers are generated from the released data; see the repository for the drift test that keeps them honest.