Skip to content
VERASPEC
Repository
Decoder profile verd-pillow/1stable

§6 What corpus release 1 does not pin

Stated plainly, because a reference corpus that quietly omits a code path is worse than one that names its gaps.

Not coveredWhy, and where it should land
Non-sRGB ICC sources (Adobe RGB, Display P3, CMYK, Lab)The single ICC entry is sRGB-tagged, where the transform measures as exact identity — so §3.4's intent and BPC flag are declared by this profile but not exercised by any digest in release 1. This is the highest-value addition for release 2. None ships here because no non-sRGB profile can be synthesised from the pinned toolchain alone (ImageCms.createProfile offers sRGB, LAB and XYZ, and an lcms LAB profile will not build a transform under §3.4's settings), and shipping a third-party binary profile raises a licensing question this release does not settle
The fail-closed rule (§3.4, E8)An unusable profile produces no Canonical Buffer and therefore no digest; manifest.json's shape has no row for "must raise". Covered instead by tests/test_cpnp_determinism.py::test_broken_icc_profile_fails_closed
A sub-rectangle frame 0 with no declared transparency index (§3.2)A known divergence, not merely uncovered. This toolchain renders the uncovered region of the logical screen as palette index 0; E7 requires the canvas to be transparent and therefore opaque white. Reproduced against services/verd/src/verd/cpnp.py at the time of this release. Publishing a digest for it would publish a normative violation, so release 1 does not. Needs a ruling before release 2
Sources deeper than 8 bits (16-bit PNG/TIFF, float TIFF)§3.6's quantisation is unexercised. Pillow's I;16 → RGB conversion clips rather than scales, so an entry here would pin behaviour that deserves an errata item first
HDR gain maps (§3.8), AVIF, HEICAVIF decodes in this build (libavif 1.4.2) and HEIC needs a plugin that is not installed. Neither is in ingest.py's directory-walk allowlist today
Progressive, arithmetic-coded, and CMYK/APP14 JPEGAll three are real-world inputs whose decode differs meaningfully between libraries; all three belong in release 2
Animated WebP and APNG§3.2's frame-0 rule is exercised for GIF only
Very large imagesOut of scope for a decode profile; §7's size limits are RELEASE.md row 15's separate measured-corpus deliverable