Skip to content
imferno

Validation

Validation returns a ValidationReport — a structured result with issues sorted into four severity buckets: critical, error, warning, and info.

Structural validation — referential integrity and file presence (no MXF content reads):

  • All assets in the PKL exist on disk
  • Declared file sizes match
  • CPL UUIDs resolve to known assets
  • No duplicate UUIDs
  • CPL structure conforms to ST 2067-2 and ST 2067-3 Core Constraints

Application profile validation — ST 2067-21 App2E, ST 2067-201 IAB, ST 2067-202 ISXD

Hash validation — SHA-1/SHA-256 against PKL declarations (slow; not available in WASM)

  • is_compliantfalse when critical or errors is non-empty
  • is_playablefalse when critical is non-empty
Terminal window
# Structural validation, human-readable
imferno validate /path/to/your.imp
# With hash verification
imferno validate /path/to/your.imp --verify-hashes
# JSON output (full ValidationReport)
imferno validate /path/to/your.imp --format json
# CI mode — always exit 0
imferno validate /path/to/your.imp --format json --exit-zero

See the CLI Reference for all options.

Each issue carries a typed code string (e.g. ST2067-2:2020:8.3/FileNotFound), a human-readable message, severity, category, and optional location.

See the Validation Codes reference for the full catalogue.