Reference
JSON shape
--json prints a ScanResult. The declaration below is the authoritative one, read from the package that defines it rather than retyped here.
The declaration
Read from packages/shared-types/src/index.ts at build time. Every JSON panel on this site prints the same shape the CLI prints.
Entries are keyed by ledger key
Not by contract. A ledger key identifies the entry itself, and the same key can serve several contracts — that is exactly what a shared code entry is. Each entry carries the contracts it serves, so the relationship is readable in the direction the chain can actually answer.
Read the issues, not just the grade
The human report compresses issues into a count. The JSON carries each one with its code and the contracts it applies to, and a consumer that reads only the health grade will treat a partial scan as a complete one. Undetermined, unread, not found
What you can rely on
The shape is versioned with the package. Ledgers are integers and are the authoritative values; any date in the output is derived at five seconds per ledger and is an estimate. If you are building on this, compare ledgers and render dates.
Next