Verification Schemas
This page documents the serialized artifact formats emitted by karpal-verify and the compatibility contract around their schema_version markers.
Versioned artifacts
- verification report JSON
- Lean manifest JSON
- Lean diagnostics sidecar JSON
- nested
report_filesmetadata blocks embedded in report and manifest JSON
Current version
The current published schema version is 1. In Rust code this is exposed through constants such as VERIFICATION_REPORT_SCHEMA_VERSION, LEAN_MANIFEST_SCHEMA_VERSION, and VERIFICATION_SIDECAR_SCHEMA_VERSION.
Version 1 guarantees
- each top-level JSON object includes a string
schema_version - existing field names remain stable within the
1.xline - new fields are added only as optional, forward-compatible extensions
- nested
report_filesobjects also include their ownschema_version - string path fields preserve the artifact/session paths written by the current run
Consumer guidance
External CI tooling, bots, or archive readers should:
- accept
schema_version == "1" - ignore unknown optional fields for forward compatibility
- treat a future schema bump as a breaking parser boundary
Additive vs. breaking changes
The schema version stays at 1 for additive changes such as new optional counters, new optional metadata blocks, or richer cross-linking fields. A future version bump is required if a required field is removed, renamed incompatibly, changes type, or changes meaning.
Related guides
- Proof & Verification for the overall model/export/run/trust story
- Verification CI Workflow for report/layout usage in automation
- Verification Workflow for an end-to-end example