The Pack Manifest
Every evidence pack containsevidence_pack.manifest.json. It is the machine-readable index every other artefact in the pack hangs from. The manifest is what gets signed; the signature is what anchors the hash chain.
The canonical schema lives at roboticks-sdk/schemas/evidence_pack.manifest.json and is JSON Schema Draft 2020-12.
Top-level shape
release-scoped or commit_set-scoped — exactly one of the two is populated. See Release scoping.
Field-by-field
Top-level fields
| Field | Type | Description |
|---|---|---|
schema_version | string (semver) | Schema version this manifest conforms to. Builder always emits the latest. |
generator_version | string | The exact Roboticks builder version that produced the pack. Lets future-you regenerate identically. |
generated_at | string (RFC 3339) | Build timestamp in UTC. |
pack_id | string (ULID, epak_ prefix) | Globally unique pack identifier. |
release (one of release or commit_set)
commit_set (alternative to release)
requirements
tests
mcaps
Array of MCAP references — never inlined, always referenced.
storage_class is either STANDARD (hot, freshly readable) or DEEP_ARCHIVE (in Glacier, retrieval required). See Archive.
coverage
sbom
static_analysis
Array — one entry per scanner.
standards
For each pinned standard:
chain and signature
These power the tamper-evident hash chain:
self_manifest_sha256 is computed over the manifest with signature.value stripped, then the signature is computed over self_manifest_sha256. parent_manifest_sha256 is the previous pack’s self_manifest_sha256.
Versioning
The manifest schema is semver. Backwards-compatible additions (new optional fields, new enum values) bump the minor or patch version. Breaking changes (renamed fields, removed fields, changed types) bump the major version and trigger a Roboticks release with explicit migration notes. The builder always emits the latest schema. Older packs are not retroactively rewritten — theirschema_version is the version in force at their generation time. CLI tools (rbtk evidence verify-chain, rbtk evidence inspect) handle every shipped major version.
Validating a manifest
Next steps
Verify the hash chain
Cryptographic verification end-to-end.
Archive lifecycle
What
storage_class: DEEP_ARCHIVE means in practice.