§1 What this profile names
| Profile identifier | verd-pillow/1 |
| Corpus identifier | ver-decoder-corpus/1 |
| Procedure pinned | CPNP-1 (cpnp_version "1.0") |
| Reference implementation | services/verd/src/verd/cpnp.py + services/verd/src/verd/hashing.py |
| Corpus | corpus/ — 21 Assets, 145,311 bytes |
| Expected digests | manifest.json |
| Conformance run | tests/test_record_decoder_corpus.py |
Three version planes, none of which is the other. cpnp_version is "1.0" and stays "1.0" for the whole VER 1.x line — any change to CPNP is CPNP-2 and therefore VER 2.0 (VERSIONING.md §4). ver_version is the record format. The trailing 1 in verd-pillow/1 and ver-decoder-corpus/1 is a third plane: the version of this profile and its corpus, which moves when the toolchain pins or the corpus contents change, without either of the other two moving. A new Pillow release does not change CPNP-1; it changes which implementations are conformant for verd-pillow/1, which is exactly the distinction E12 exists to draw.
This release directory is immutable once published. Corrections, additions and toolchain bumps ship as standards/decoder-corpus/2/ with a new profile identifier. Editing a published digest would silently retract every conformance claim made against it — the same reasoning that freezes standards/ver/1.0.0/ with its defects (VERSIONING.md §3, CLAUDE.md).
