Skip to content
VERASPEC
Repository
Errata ledgerstable

§6 Conformance-profile rules

The vera-profile/1.0 validator (`packages/ver-validator/`) is where the findings that cannot be expressed in JSON Schema 2020-12 are enforced. The code registry is stable: codes are never renumbered or reused (ADR-0003).

Five codes (four rules) exceed what VER 1.0 requires and are labelled profile strictness or profile policy below; a producer failing only those is schema-conformant. The four rules are: the size caps (VER103 and VER104 — one rule, two severities, no 1.0 basis), format/contentEncoding assertion (VER202), the embedding.space_id pattern (VER403), and preprocessing completeness (VER405). This grouping is ADR-0003's, and this is the one place the number is stated — every other document cross-references here rather than restating it. Everything else in the table is a normative VER 1.0 or 1.0.1-annex requirement that the schema alone cannot check.

CodeSeverityRuleEnforcesDisposition
VER101errorunparseable-jsonA Record is a UTF-8 JSON document (§10)validator-rule — profile
VER102errornot-a-json-object§10validator-rule — profile
VER103errorrecord-exceeds-hard-capApp. D #11 — 64 MiB hard cap, configurablevalidator-rule — profile policy, no 1.0 basis
VER104warningrecord-size-policyApp. D #11 — the 1.1 draft §7 numbers, advisory in 1.0validator-rule — profile policy, no 1.0 basis
VER201errorschema-invalidThe companion schema, one issue per errorvalidator-rule — normative
VER202errorformat-invalidAnnex E23 (SCH-01, SCH-02)validator-rule — profile strictness
VER301warninglevel-absentSCH-21 — absent level means effective L0validator-rule — normative
VER302errorraw-preservation-missing§7.1 at L1+; REC-01, IMPL-CONFORMANCE-SELF-DECLAREDvalidator-rule — normative
VER303erroravailability-incomplete§7.2 at L1+; App. D #4validator-rule — normative
VER304errornormalized-view-missing§7.3 at L2+validator-rule — normative
VER305errortrust-entry-missing§7.4 at L2+; SCH-15validator-rule — normative
VER306errorprovenance-missing§9 at L3validator-rule — normative
VER307errorc2pa-status-missing§9 at L3; App. D #12validator-rule — normative
VER308warningsignature-absent§9/§11 — SHOULD at L3; SPEC-14validator-rule — normative
VER401errorduplicate-space-idAnnex E18 (App. D #14, WIRE-32)validator-rule — normative
VER402errorspace-registry-conflict§6.2 immutability; SPEC-22 (needs --spaces)validator-rule — normative
VER403errorembedding-space-id-malformedSCH-06, SCHEMA-EMB-SPACEID-UNPATTERNEDvalidator-rule — profile strictness
VER404warningspace-reference-missingAnnex E13 (SPEC-09-emb, SPEC-21, REC-08)validator-rule — normative, warning in 1.0
VER405warningvisual-preprocessing-underspecifiedSCHEMA-PREPROC-EMPTY, SCH-11, SCHEMA-06validator-rule — profile strictness
VER501errorembedding-references-undeclared-space§6 — every vector is bound to a declared space; App. D #4validator-rule — normative
VER601errordim-mismatch-vs-descriptorAnnex E24 (App. D #15)validator-rule — normative
VER602errordtype-mismatch-vs-descriptorAnnex E24 (App. D #15, REC-07)validator-rule — normative
VER603errorinline-vector-length-mismatchAnnex E24; SCH-08validator-rule — normative
VER604errorb64-vector-byte-length-mismatchAnnex E24; SCH-08validator-rule — normative
VER605errorref-byte-length-mismatchAnnex E24; SCH-08validator-rule — normative
VER606warningdim-dtype-unstatedApp. D #15; ADR-0008 would make this an error for 1.1 recordsvalidator-rule — advisory
VER607errornon-finite-vector-component§10 / annex E23 — an inline vector component that is NaN or ±Infinity is not representable in RFC 8259 JSON. Unreachable through a file once VER101 rejects the non-RFC-8259 literals; reachable through validate_recordvalidator-rule — normative
VER701errorcanonical-visual-in-nonvisual-space§6; App. D #10validator-rule — normative
VER702errorcontextual-in-nontext-space§8validator-rule — normative
VER703errorfused-in-nonfused-space§8validator-rule — normative
VER704errorfused-recipe-invalidAnnex E20 (SPEC-08-emb, SCRIPT-FUSED-RECIPE-INPUTS)validator-rule — normative
VER705errorno-canonical-visual-embedding§6 — defence in depth over the schema's containsvalidator-rule — normative
VER801errorpdq-length§5 / annex E22; HASH-01, App. D #1validator-rule — normative
VER802errorphash-length§5 / annex E22validator-rule — normative
VER901errorstripped-suspected-without-basis§7.2; REC-06, App. D #4validator-rule — normative
VER1001errorredaction-availability-inconsistent§7.2/§7.5; annex E15validator-rule — normative
VER1002warningredaction-missing-salted-hashApp. D #8 — permanently a warning: ADR-0006 resolved to mandatory for 1.1 records only, and this code judges 1.0.x records (§10 REV-18, VERSIONING.md §5)validator-rule — advisory
VER1003errorconflict-sources-not-distinct§7.3 — a conflict needs two distinct sourcesvalidator-rule — normative
VER1004warningconflict-field-untracked§7.3/§7.4 at L2+; SCH-15validator-rule — advisory
VER1005errorredacted-family-raw-presentAnnex E15 (SPEC-02) — no redaction claim over preserved evidencevalidator-rule — normative
VER1101errorc2pa-raw-present-status-missing§9 at L3; annex E28validator-rule — normative
VER1102warningc2pa-valid-without-manifest-hash§9 — valid without manifest_sha256 is unbindablevalidator-rule — advisory
VER1103errorc2pa-state-inconsistentAnnex E28 (SCH-17, REC-02)validator-rule — normative
VER1201errorchain-not-chronologicalAnnex E16 (SPEC-16, REC-10) — strictly decreasing onlyvalidator-rule — normative
VER1202errorchain-precedes-acquisition§9; annex E16validator-rule — normative
VER1203warningrecord-precedes-chainAnnex E16 — created_at SHOULD be ≥ every chain eventvalidator-rule — advisory
VER1204warningaction-order-implausibleREC-10 — decode before normalize before embedvalidator-rule — advisory
VER1301errorb64-vector-undecodableSCH-02; annex E23/E24validator-rule — normative
VER1302errorraw-segment-sha256-mismatch§7.1; annex E11 (REC-03, EX-01)validator-rule — normative
VER1305errorsource-ref-content-hash-mismatchAnnex E25 (SCH-18)validator-rule — normative
VER1401errorsignature-object-invalidAnnex E17 (SPEC-14)validator-rule — normative
VER1402errorsignature-verification-failedAnnex E17 — only when a key and the optional dependencies are presentvalidator-rule — normative
VER1403warningsignature-unverifiedAnnex E17 — verification skipped, never silently passedvalidator-rule — advisory

VER1303 (vector-ref-unverified) is reserved and deliberately not emitted: an unfetchable vector_ref is not a defect of the Record, and a validator that reports one would make network reachability part of conformance.