Skip to content

VER001 - UNTP version mismatch

Description

The ValidationEngine was constructed with an explicit schema_version, but the payload declares a different UNTP version in its $schema URL or @context. The engine refuses to validate mismatched payloads — silently coercing across versions would mask genuine errors (e.g. a v0.6 payload incorrectly tagged as v0.7).

Category

UNTP version dispatch (Phase 3.3 of docs/plans/UNTP_0.7.0_MIGRATION.md).

Severity

error

Common Causes

  • The engine is pinned to one version (e.g. ValidationEngine(schema_version="0.7.0")) and a v0.6.x payload is fed in (or vice-versa).
  • A pipeline upgraded the engine but didn't upgrade the payload-producing service at the same time.
  • A payload's @context was hand-edited to reference v0.7 without the corresponding shape changes.

How to fix

  1. Run the compat shim if you have v0.6.x payloads and want v0.7.0 validation:
Bash
dppvalidator validate passport.json \
    --upgrade-from 0.6.1 \
    --schema-version 0.7.0
  1. Drop the explicit pin and let the engine auto-detect:
Python
engine = ValidationEngine()  # no schema_version=
  1. Match the engine pin to the payload version:
Python
engine = ValidationEngine(schema_version="0.6.1")

See also