What it does
dev-report defines the report format every other crate in the dev-*
suite emits. AI agents need machine-readable evidence of what passed,
what failed, and why. This crate provides that schema.
Why it exists
A test runner that prints colored checkmarks to a TTY is unreadable to an AI agent. The agent needs:
- A stable, versioned schema
- Verdicts separated from logs
- Enough evidence to decide accept / reject / retry / escalate
dev-report is that schema.
Quick start
Add to Cargo.toml:
[]
= "0.1"
Build a report:
use ;
let mut report = new
.with_producer;
report.push;
report.push;
report.push;
report.finish;
let verdict = report.overall_verdict; // Verdict::Fail
let json = report.to_json.unwrap; // ready to write to disk or stdout
Verdict rules
Computed by Report::overall_verdict():
| Condition | Overall verdict |
|---|---|
Any check is Fail |
Fail |
Else any check is Warn |
Warn |
Else any check is Pass |
Pass |
Else (all Skip or empty) |
Skip |
The dev-* suite
dev-report is the foundation. The other crates produce reports in this
schema:
dev-fixtures- test environments and sample datadev-bench- performance measurement and regression detectiondev-async- async-specific validationdev-stress- high-load stress testingdev-chaos- failure injection and recovery testingdev-tools- umbrella crate with feature gates
Status
Pre-release. The schema MAY change between 0.x versions. The 1.0
release will pin the schema and follow strict semver.
License
Apache-2.0. See LICENSE.