manifest.json is UTF-8 JSON written with two-space indentation and one trailing newline.
The current public generic manifest uses format_version: 1.
Annotated example
What the fields mean
Required fields
Each file descriptor contains:
How the CLI uses the manifest
inspectprints a summary derived fromartifact_name,format_version,file_count, andtotal_bytesverifychecks that the payload files still matchfiles[]andpayload_digestcomparecompares thefiles[]lists from two artifacts by path, size, and hash
Validation behavior
The current public validator rejects manifests when:artifact_nameis emptycreated_withis notfilepacksformat_versionis not1- file paths are invalid
- file entries are duplicated
file_countdoes not match the files listtotal_bytesdoes not match file sizespayload_digestdoes not match the sorted file list
schema_versionartifact_type
Payload digest computation
The manifest payload digest is computed from the sorted file list using UTF-8 input lines in this form:payload_digest.