Skip to content
VERASPEC
Repository
Compatibility matrixstable

§2 The 1.0.1 schema deltas (3)

Exactly three constraint changes, plus metadata ($id, title, description). ver_version remains const: "1.0".

#LocationChangeClassQ1 — 1.0.0-valid record invalidated?Q2 — 1.0.1-valid record fails 1.0.0?
S1/properties/identity/properties/perceptual/itemspdq/1.0^[a-f0-9]{64}$, phash-dct/64^[a-f0-9]{16}$, as two if/then subschemas; the alg enum is unchangedpatch-compatible correctionYes, narrowly — a Record whose pdq/1.0 digest is not exactly 64 hex now fails. Such a Record already violated §5's "256-bit"; the schema simply never checked. The frozen 1.0.0 example is one of them (D1, EX-01)No — a 64-hex pdq/1.0 value was always accepted by 1.0.0
S2/properties/identity/properties/pixel_hash"additionalProperties": false addedpatch-compatible correctionYes, narrowly — a Record carrying an undeclared member inside pixel_hash now fails. The subschema's inert "alg": true, "value": true entries prove closure was intended and forgotten (SCH-03)No
S3/properties/identity/properties/content_hash{"$ref": …} becomes {"allOf": [{"$ref": …}], "unevaluatedProperties": false}patch-compatible correctionYes, narrowly — same as S2, for content_hash (SCH-03, SCH-04)No
S4$id, title, descriptionNew $id …/ver-record-1.0.1.json; title names the artifact release; description points at the annexeditorialNoNo

Both the annex's §2.1 table and `docs/standards/VER-1.0-errata.md` §7.2 index rows S2 and S3 to findings SCH-03 and SCH-04.

Deliberately not changed. $defs/sha256Hash stays open — closing it breaks the pixel_hash allOf branch, so closure is applied at each use site instead.

The seven accidentally-open objects, classified once. spaceDescriptor.model, .reference, .provenance, metadata.trust[], conflicts[].values[], embedding.recipe and sha256Hash were left open by oversight rather than by design (SCH-04). One classification governs all seven, everywhere on this branch:

Closing them is patch-eligible — no conformant Record relies on an undeclared member of an object whose members the prose enumerates — but closure was deferred from 1.0.1 to keep the corrective delta surgical (ADR-0002). The 1.1 draft closes all seven (draft §15.2), under the `VERSIONING.md` §2.3 carve-out for narrowings no conformant producer relies on, carried as row 6 of the 1.1 ratification checklist (standards/ver/1.1-draft/RELEASE.md) where the vote is taken. An earlier revision of the 1.1 draft left them open to preserve a schema-superset property; that property is withdrawn (§6).

sha256Hash needed a structural change to be closable at all: 1.0.x composes it into identity.pixel_hash through allOf, so closing the shared definition would reject width and height. The 1.1 schema gives pixel_hash its own definition ($defs/pixelHash), after which both close independently. No record shape changes — the same four members, the same requirements.

§6 does not restate this; it points here.