Skip to main content
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

  • inspect prints a summary derived from artifact_name, format_version, file_count, and total_bytes
  • verify checks that the payload files still match files[] and payload_digest
  • compare compares the files[] lists from two artifacts by path, size, and hash

Validation behavior

The current public validator rejects manifests when:
  • artifact_name is empty
  • created_with is not filepacks
  • format_version is not 1
  • file paths are invalid
  • file entries are duplicated
  • file_count does not match the files list
  • total_bytes does not match file sizes
  • payload_digest does not match the sorted file list
The current public OSS validator also rejects typed artifact fields such as:
  • schema_version
  • artifact_type
Those are explicitly outside the public v0 OSS surface.

Payload digest computation

The manifest payload digest is computed from the sorted file list using UTF-8 input lines in this form:
The SHA-256 of the concatenated sequence is payload_digest.