Summary
check and verify currently print human-oriented text and signal pass/fail only through the exit code. There is no structured output for automation (CI gates, external audit tooling). The transcript is the only machine-readable surface today.
Add a --json (or --format human|json) option that emits a structured result.
Design notes
- The output should share a single versioned envelope across commands (a
schema_version, a status field, a list of diagnostics), not a per-command ad-hoc shape. External tooling will parse it, so it is a stable contract and needs forward-compatible versioning from the start.
verify's structured output is a view over the transcript format, so this should be designed alongside the transcript/output-bundle format work rather than independently.
- The underlying data already exists (resolver diagnostics for
check, the per-check results for verify); this is primarily a data/presentation split, not a new data model.
Summary
checkandverifycurrently print human-oriented text and signal pass/fail only through the exit code. There is no structured output for automation (CI gates, external audit tooling). The transcript is the only machine-readable surface today.Add a
--json(or--format human|json) option that emits a structured result.Design notes
schema_version, astatusfield, a list of diagnostics), not a per-command ad-hoc shape. External tooling will parse it, so it is a stable contract and needs forward-compatible versioning from the start.verify's structured output is a view over the transcript format, so this should be designed alongside the transcript/output-bundle format work rather than independently.check, the per-check results forverify); this is primarily a data/presentation split, not a new data model.