Simulation lab
Blast radius, exposure scoring and adversarial testing. These are simulations; no live agent action runs.
Recent
Recorded simulations, newest first — what 'Recent simulations' lists.
Access change
Access change
Adversarial
Adversarial
Adversarial fleet
Queue a whole-fleet run. Returns at once with a job to poll — never holds the request open.
Adversarial start
Queue the Standard suite on ONE agent as a live job (kind `adversarial`): poll GET /jobs/`{id}` for `current` / `results[]`. The
List attacks
List attacks
Create attack
Create attack
Update attack
A built-in attack can only be switched on or off (its wording is versioned in code; copy it to change it).
Blast radius
Blast radius
Exposure
Exposure
Exposure fleet
Exposure fleet
Guardrails
Guardrails
Get job
Get job
Cancel job
Cancel job
Record job
Keep a finished fleet run as evidence (its result is already stored by the server).
Meta
What the screen needs to build its pickers: the permission list, history windows, limits.
Publish check
Before a rule is published: which guardrail tests would stop holding, and which real requests change.
Record
'Record as evidence'. The server re-runs the setup and stores its own result — nothing the client sends is trusted
Rule change
Rule change
List rules
The rules a person can rehearse a change on, each with the changes that make sense for it. Unpublished
List runs
Saved test runs, newest first (keyset on created_at, seq). Another tenant's runs and agents are invisible (RLS).
Create run
Run Simulation: a policy dry run of one agent / one attempted action, ALWAYS saved (see the module docstring). Idempotent per
Get run
Get run
Get recorded
Get recorded