§4 The CPNP invariant
cpnp_version stays "1.0" for the entire VER 1.x line. There is no CPNP-1.1.
CPNP-1 defines the Canonical Buffer, and pixel_hash is a digest of that buffer. Any change to CPNP — a different orientation source, a pinned reference CMM, a different rounding rule, a different alpha domain — produces different Canonical Buffers for some inputs, and therefore a different pixel_hash for those inputs. There is no way to make that additive: a consumer comparing hashes across the change gets false negatives with no signal that anything happened.
Therefore:
Any change to CPNP-1 is CPNP-2, and CPNP-2 is VER 2.0, with a dual-publish migration window.
This is why every CPNP item in the 1.0.1 errata annex is a disambiguation and not an amendment. Each one pins down what 1.0.0 left ambiguous, and each one sides with the reference implementation's actual behaviour, precisely so that no already-computed pixel_hash moves.
Items deliberately held for CPNP-2 (drafted nowhere, recorded in the 1.1 draft §16 as out of scope): an orientation-invariant pixel_hash, a pinned reference CMM, honouring gAMA/cHRM/APP14/EXIF ColorSpace, and any change to the VER1: domain tag.
The domain-tag limitation is known. The pixel_hash preimage hardcodes "VER1:" and does not carry cpnp_version, so a future CPNP that kept ver_version at 1 would collide in the preimage (finding SPEC-13). The 1.x answer is the rule above: there is no such future CPNP inside 1.x. CPNP-2 MUST version its own domain tag.
