Poisson Tasks is out. Find where your agent breaks before your users do. Read the launch
Poisson Prove is out. It tells you whether a change to your agent really changed how often it fails. Read the launch
Poisson Labs

Poisson LabsRobotics

Map where a policy fails across physical conditions.

Then show a retrain didn't trade one failure boundary for another. Your rollout function, a grid of conditions, the same seeds before and after.

go1 · friction 0.35 · push 80% of bodyweight
One cell of the Go1 map, three cameras: a clip is one draw from a stochastic system, so it is an illustration, and the numbers below rest on the runs.

01Proof

A safer policy. Measured, condition by condition.

A simulated Unitree Go1 across 400 conditions of friction and push. The map showed two gaps its training had never covered; we retrained on those and ran both versions again.

60
conditions significantly safer
0
conditions significantly worse

340 showed no significant change. The least sensitive could not have detected a rise under 34 percentage points.

beforefall rate · brighter falls more
friction μ, 0.05 → 1
afterblue: significantly safer
friction μ, 0.05 → 1
push 10%lateral push, % bodyweight200%

60 conditions significantly safer after the retrain0 significantly worse, anywhere in the 400

02When a retrain makes it worse

Worse in 14 of 14 conditions.

A retrain of a 14-joint biped, meant to widen its boundary. 100 paired trials per condition, and the fall rate went from 33.1% to 72.2%.

heatmap · the retrain, change in fall rate

14 worse 0 no significant change 0 safer coloured only at q<0.05, corrected across every condition

LATERAL PUSH, m/s → ↑ FRICTION 100 TRIALS PER CELL PER VERSION
Go1 locomotion, v0 → v1. Hover any cell, or focus the grid and use the arrow keys.

03How it plugs in

Your rollout. Your simulator. Your compute.

ProveAvailable

Run it before and after.

It calls (cfg, seed) -> Episode once per condition and seed, and keeps the seeds matched. Any simulator you call from Python works, on AWS, GCP, Azure, Your machine, Modal.

shell · poisson-prove
pip install poisson-provepoisson-prove init --example# 1. sweep the conditions, before the changepoisson-prove sweep --yes# 2. sweep again after it, on the same seedspoisson-prove sweep --yes \    --target poisson_prove.examples.mock_agent:rollout_patched \    --pair-with latest# 3. compare the pair into report.md, heatmap.svg, receipt.htmlpoisson-prove report --event violated --x tool_fail_rate --y task_id# in CI: exit 4 if any condition came back significantly worsepoisson-prove check --event violated --fail-on worse

ProveAvailable

Keep the receipts.

12,800 rollouts per version, written to three files anyone can check.

heatmap.svg · go1, before and after a retrain
Prove's heatmap of 400 conditions: 60 significantly safer, 0 significantly worse.
report.mdWhich conditions moved, in words.
heatmap.svgEvery condition, at a glance.
receipt.htmlRuns, seeds and hashes, to check it.
These files are as Prove 0.0.1 wrote them, in that version’s green and red.

MATH ASINFRASTRUCTURE.

Get started Talk to us