Report V1
Rust Doctor's versioned machine-report contract and completeness model.
Report V1 is the canonical machine contract shared by JSON, SARIF, MCP, CI,
and editor integrations. Generate it with --json, --json-compact, or
--json-out <PATH>.
#Top-level contract
Every report includes:
schema_versionandtool_versionoutcomeand scanmode- execution and reporting scopes
- aggregate
completeness - per-package
projectsand check states - canonical
diagnosticsandsummary - elapsed time, pass timings, and structured failure data
- optional baseline comparison metadata
#Outcomes
clean and findings describe completed analysis. partial, failed, and
nothing_to_scan never mean that the project is clean.
Completeness separately records planned and analyzed files, required and completed checks, unavailable check states, and whether the score is authoritative. Consumers should evaluate completeness before using a score or an empty diagnostic list.
#Compatibility
Report V1 evolves additively. Consumers should branch on schema_version and
tolerate unknown fields. Removing fields or changing their meaning requires a
new schema version.
Rust Doctor 0.2.0 retains legacy top-level score and count fields for one
migration window. New consumers should use summary and the canonical
diagnostic records. See the Report V1 migration guide.