CLI¶
The CLI is human-first: validation, runs, replay, reports, and comparisons render Rich panels and tables. YAML, CSV, and Markdown are explicit file exports rather than raw terminal dumps.
Command Summary¶
| Command | Executes tasks? | Requires records? | Purpose |
|---|---|---|---|
validate |
No | No | Parse, validate, resolve sources, and show the planned matrix |
run |
Yes | No | Execute a benchmark, optionally persist it, and render results |
replay |
No | Yes | Reconstruct and display the recorded experiment |
report |
No | Yes | Render configured analysis views from records |
export |
No | Yes | Write YAML, CSV, or Markdown and preview it |
compare |
No | Yes | Compare two recorded variants without claiming causality |
instrumentation doctor |
No | No | Inspect integration compatibility, capabilities, and capture defaults |
instrumentation trace |
No | Yes | Summarize ABP trace composition and partial state |
References inside a benchmark spec resolve relative to the spec file.
Commands¶
Validate¶
uv run autobench validate path/to/spec.yaml
Validation loads external datasets and referenced configuration, checks duplicate IDs and task requirements, resolves source files, and renders case, variant, and planned-run counts. It does not execute the task target.
Run¶
uv run autobench run path/to/spec.yaml --record runs/example
Options:
--concurrency INTEGER: maximum active runs, default1, minimum1.--record DIRECTORY: explicit immutable record directory.--no-record: execute and report without persistence.
Without either recording flag, Autobench writes under
.autobench/<spec-name>/<experiment-id>/.
Replay¶
uv run autobench replay runs/example
Replay does not import tasks, scorers, or application modules. It reconstructs the experiment from the record directory and renders the recorded report configuration.
Report¶
uv run autobench report runs/example
report emphasizes status, variant configuration, leaderboards, per-run metrics, case matrices,
comparisons, and distributions.
Export¶
uv run autobench export runs/example --format yaml --path runs/example/report.yaml
uv run autobench export runs/example --format csv --path runs/example/runs.csv
uv run autobench export runs/example --format markdown --path runs/example/report.md
Compare¶
uv run autobench compare runs/example --baseline baseline --candidate optimized
Both IDs must exist in the recorded experiment. The command shows paired-run count, changed factors, aggregate metric deltas, and a confounding flag.
Instrumentation Diagnostics¶
uv run autobench instrumentation doctor
uv run autobench instrumentation trace runs/example
doctor inspects every built-in integration without importing unavailable SDKs. Its Rich tables
show target versions, supported status, abstraction layer, hook/patch mechanism,
sync/async/streaming support, span and semantic families, capture defaults, extras, and degradation
details.
trace operates only on recorded evidence. It reports case/variant span counts, roots, partial
state, diagnostics, span kinds, and instrumentor composition without importing the benchmark task
or provider SDKs.
CLI Behavior¶
runexecutes the benchmark matrix, optionally records it, and renders Rich summary tables.replay,report,export, andcompareoperate on recorded evidence.instrumentation tracehas the same replay-only dependency boundary.reportandcomparerender Rich terminal views instead of dumping Markdown or YAML.exportalways writes a file and then shows a Rich preview of the exported projection.- default recording paths are placed under
.autobench/<spec-name>/<experiment-id>/.
Exit And Error Behavior¶
- Invalid YAML, schema errors, unresolved tasks, recording collisions, and missing records return a nonzero exit code.
- User-facing errors include the relevant file and YAML location when available.
- A process may complete while individual runs are failed, errored, or skipped; the status table makes those states explicit.
- Replay and reporting never fall back to live benchmark execution.
Typical Workflow¶
autobench validate autobench.yaml
autobench run autobench.yaml --concurrency 4 --record runs/candidate-42
autobench report runs/candidate-42
autobench compare runs/candidate-42 --baseline baseline --candidate candidate
autobench export runs/candidate-42 --format csv --path analysis/runs.csv