Docs / Get started

Overview

Invariant is test and evaluation infrastructure for physical AI. It runs your robot software against recorded logs, simulated scenarios and hardware rigs, and tells you whether each change made things better, worse, or whether there isn't enough evidence yet.

Design preview. These docs describe how Invariant is being built. Commands, output and limits are illustrative until release, and stage tags mark what ships first. See the roadmap.
specThese docs describe Invariant as designed. Each feature is tagged with when it ships: MVP first pilot release, Next after the first pilots, Later on the roadmap. See Roadmap and scope.

What Invariant does

Robot software is hard to test. Results depend on timing, physics and sensor noise, so the same build can pass and fail on the same scenario. Most teams end up with a mix of replay scripts, simulator launch files and dashboards that one engineer keeps alive. Invariant replaces that with one system:

How a test flows

invariant.yaml→scheduler→runners→your container→MCAP + metrics→statistics→verdict

You commit a spec. A run is started from the CLI, a pull request or a schedule. The scheduler resolves the build (a container image), the baseline (usually main) and the list of scenarios, then shards the work across runners. Each run writes an MCAP file and metric values. The statistics engine pairs runs of the two versions by scenario and seed, and the result is posted wherever you asked: terminal, pull request, chat or report.

Who it's for

TeamTypical first testTypical metrics
Autonomy and localizationReplay recorded drives through the localization stackpose RMSE, max error, divergence events, goals reached, clearance
Perception and computer visionScore a new model on labeled scenes, sliced by conditionrecall, precision, mean IoU, per-class and low-light recall, latency
Manipulation and learned policiesHundreds of simulated trials per checkpointsuccess rate per object, drops, collisions, cycle time

Where to go next