Common invocations
How a run works
Output
Human-readable default:--json:
Flags
Execute the scenario N times in a row. Between runs, all mirrors in the session are reset to their seeded state. The final score is the mean percentage of criteria passed across runs.
Run against an existing session instead of provisioning a new one. The session must have all mirrors the scenario requires. Use this when you want multiple scenarios to share warm mirrors.
Name the agent driving the scenario. Options:
claude-code, cursor, copilot, cline, custom. Affects how Mirra hands the prompt and how the run is logged. Default is custom (you’re running a test driver, not an agent).Override the scenario’s declared fixture for this run. Same format as in the scenario file:
resend:transactional-busy.Per-run timeout. If the run exceeds this, it’s terminated and counted as a failure. Lift with longer scenarios or slow agents.
Exit non-zero if the satisfaction score is below the given threshold (0.0–1.0). Use this to gate CI:
--fail-below=0.9 means CI fails if fewer than 90% of criteria pass.Emit the final result as one JSON line on stdout. Combine with
--quiet to suppress the per-run log.Suppress live progress output. The final summary still prints (or just the JSON line if
--json).Exit codes
| Code | Meaning |
|---|---|
0 | Every criterion passed (or passed above --fail-below). |
1 | Satisfaction score below --fail-below. |
2 | A run timed out. |
3 | A mirror could not be provisioned. |
4 | Scenario file was invalid. |
64 | CLI usage error (unknown flag, missing argument). |
Driving the scenario
mirra run doesn’t execute code on its own. It needs a driver that turns the scenario’s ## Prompt into actual work against the session. Three common drivers:
- Agent (default)
- Test suite
- Custom driver
Hand the prompt to a coding agent via the MCP server. The agent reads mirror state, fires requests, and writes code that operates against the session. Used for agent evaluation.
Where to go next
Scenario format
Every valid section, every config key, every edge case in a scenario.
CI integration
Wire mirra run into GitHub Actions or your CI of choice.