Working with the standard
Start with a pinned release, declare the capabilities you provide, and preserve exact file identities.
- Read the final 0.5.0 specification and the profiles relevant to your object.
- Keep original measurements and source evidence separate from derived representations.
- Record rights for each resource; a package does not erase third-party restrictions.
- Validate the workspace and release bindings before packing a carrier.
- Verify the carrier and publish it with its version identifier and checksums.
Reference validation
python Tools/vao05.py validate path/to/workspace
python Tools/vao05.py pack path/to/workspace output.vaoThe release includes schemas, conformance fixtures, reference tools and migration guidance. Use the environment and installation instructions distributed with that release rather than assuming that an unrelated tool version implements the same contract.
Decide the contract before building the viewer
| Decision | Why it matters |
|---|---|
| Object and historical state | Determines which subjects the resources and claims refer to. |
| Profiles and required capabilities | Determines the responsibilities a conforming implementation must satisfy. |
| Exact realizations and provenance | Distinguishes captured material from conversions, derivations and simulations. |
| Delivery and dependencies | Determines which groups must be present before an experience can run. |
For final VAO 0.5.0, Core and Dynamic Delivery are mandatory. Additional profiles express further requirements; they are not decorative labels. An implementation that can display metadata but cannot satisfy a required playback capability should report that limitation. It may still provide useful lower-level inspection without claiming full support for the playable profile.
Validate at more than one level
Start with a workspace whose manifest and resource paths can be inspected locally. Check the manifest’s references and declared profiles, then verify the exact payload realizations. After packaging, check the carrier mapping and release bindings as well. A structurally valid manifest does not establish that a published carrier contains the bytes it promises.
Keep a small fixture with a known result for each capability you implement. Include an unsupported-profile case and an intentionally altered payload: these should produce clear limitations or validation failures, not silent substitution. Record the validator version with the result. This is practical implementation guidance; the versioned conformance specification remains the authority for required tests.
How can a file pass validation but support a limited conclusion?
Conformance means meeting a specified contract. Different checks address parsing, structure, relationships, required capabilities and file identity.
Work through the example 3 STEPS
Take the published observation with value 1281 millimetres. A reader wants to know both whether its record is valid and whether the measurement answers a question about the pipe.
Check the structure
A schema can check that the result has the required form and that a numerical field contains a number. Semantic checks can verify that references point to appropriate records.
Check the evidence links
Resolve the pipe, measurement activity and workbook realization; verify the cited source bytes. These operations establish what the record says and which source it identifies.
Assess fitness for the question
The workbook timestamp still is not the measurement-session date. A valid record without a documented calibration uncertainty cannot support an uncertainty claim simply because its schema passed.
- Cuntz Positiv · VAO 0.5.0-rc.2 ↗
Published manifest: identities, measurement observations, realization digests, profiles and rights. Exact examples checked against this release.
- VAO Standard 0.5.0 ↗
The standard contract is separate from the Cuntz dataset content version 0.5.0-rc.2.
The notebook’s JSON teaching excerpt is deliberately incomplete and is not presented as a complete, independently conforming VAO package.
The useful distinction. Validation and scientific assessment complement one another; each needs an explicitly stated scope.
A practical implementation sequence
- Start from a pinned standard release and its minimal fixture. Confirm strict parsing and schema validation before adding capabilities.
- Add typed references and semantic checks, then implement the profiles needed by your use case. Keep unimplemented checks visible.
- Verify carrier descriptors and realization bytes before materializing resources. Preserve failure diagnostics and acquisition receipts.
- Test the claimed operation in the intended client. Metadata inspection, geometry import and runtime execution need different evidence.
Sources & further reading
- VAO Standard 0.5.0
The versioned specification and reference tools.
- VAO Standard 0.5.0
Normative standard, profile index, Dynamic Delivery Profile and conformance specification in the versioned release.
Page editions 2026-09-r6 ↓
Read a fixed snapshot of this chapter, or return to the current notebook.
58547fe5aaaaPage metadata ↗