Validation-packages configuration contract
AVPR Model and Codecs own the portable contract for
.arc/validation_packages.yml. The normative ARC specification update is
tracked separately; this page documents the executable v1 codec supplied by
this repository.
Canonical document
$schema: "https://avpr.nfdi4plants.org/schemas/v1/validation-packages.schema.json"
arc_specification: 3.0.0-draft.2
validation_packages:
- name: configurable-validation
version: 1.2.3
roll_forward: latest_patch
inputs:
strict: true
minimum-files: 2
report-title: "release candidate"
Selection and input rules
validation_packages is required and may be empty. Every canonical selection
has a unique non-empty name and full semantic version. roll_forward is
optional and accepts disable, latest_patch, or latest_minor; omission is
disable. Input keys are exact package declaration IDs, not command-line
prefixes.
Strict YAML scalar profile
Input values use a deliberately strict JSON-compatible YAML scalar profile:
quoted strings, lowercase null, true, and false, JSON-form integers, and
finite JSON-form floating-point numbers. Arrays, objects, YAML convenience
scalars, aliases, anchors, tags, merge keys, duplicate keys, and multiple
documents are rejected. Numeric lexemes are preserved so JavaScript does not
round valid signed 64-bit integers.
Schema dispatch and packaging
The $schema value is an immutable wire identifier and editor association.
Runtime readers select a local decoder from an exact allowlist; they never
fetch an unknown URI. Schema-less legacy files remain read-only during the
migration window. Canonical writers always emit $schema first and never emit
legacy files.
The Draft 2020-12 document is included in every ValidationPackage.Codecs
artifact as schemas/validation-packages.schema.json. JSON Schema covers the
JSON-compatible structure; YAML lexical restrictions, uniqueness, and
declaration-driven value compatibility remain executable codec/model checks.