Skip to content
Poisson Labs Docs
GitHub poissonlabs.ai

Run on

Your machine

A sweep runs on this machine unless you say otherwise. The local backend runs every rollout in Prove’s own process, one after another, and stores the episodes in a folder beside your spec. Backends is Prove’s own page on it.

Terminal window
pip install poisson-prove

Nothing else. Install has the Python it needs and the virtual environment.

None. Prove reads no key: your agent reads its own keys, as it does today. On this backend nothing leaves the machine but your agent’s own calls, and a sweep costs nothing but those.

The local backend has no table in prove.toml. It is the default, and --backend local names it. One flag changes how it runs: --episode-timeout S limits one episode to S seconds. Each episode then runs in a child process, and one past the limit is stopped and stored with no outcome. Without it an episode that hangs holds up the sweep.

init --example writes the spec of the keyless example, so there is something to plan.

Terminal window
poisson-prove init --example
Output2 lines · exit 0
ok wrote prove.toml: a sweep of the keyless mock agent, 9 conditions x 194 replicates
next: poisson-prove sweep

sweep --dry-run prints the plan and stops. Nothing is run or written. The plan’s first line and its Backend line say where the sweep will run, and the Cost line what it will cost.

Terminal window
poisson-prove sweep --dry-run --episode-timeout 30
Output7 lines · exit 0
plan 1,746 rollouts of mock-agent: 9 cells x 194 replicates on local, $0 (local)
target poisson_prove.examples.mock_agent:rollout (imports, takes cfg and seed)
outcomes failures: timeout, violated
Sweep: 2 axes · 9 cells · N=194 → 1,746 rollouts
Backend: local · target: mock-agent · t_unit: tool_calls
Cost: $0 (local)
smallest rise one condition alone would be flagged for 0.199 at its worst base rate, 0.400 (Fisher, q 0.05 over 18 tests, 4 times in 5; you accept up to 0.200)

From here, Prove’s quickstart runs that sweep, and Run Prove on your machine is the same run with every output stored.