V1 conformance checks
This non-normative guide explains the retained v1 verification tools and reports. For v2 requirements, read the v2 HTTP API. The package, Snapshot, and signature checks below are not mandatory v2 requirements.
A report describes whether the named data or implementation satisfies the requirements under test. A valid package, for example, does not establish that its Form is usable on a particular Host.
The v1 conformance specification defines the retained requirements.
What is being verified?
| Subject | Main checks |
|---|---|
| Form Package | Definition, FormRef, canonical contents, declared files and allowed data formats |
| Interface / Binding | Digests, definitions, operations and capabilities |
| Snapshot | Complete data and references, and order-independent construction |
| Host | API, resource lifecycle, concurrency, retries, identities and errors |
| Client | Only declared settings are sent; FormRef is kept distinct from package identity |
| Publisher trust data | Provenance, signatures, publication records and revocation data |
One result does not prove another subject's conformance or production readiness.
Run local verification
First fetch dependencies at the repository root. This step may access the network.
go mod downloadAfter dependencies are available, the following checks do not access the network or modify resources.
go run ./cmd/form-package verify conformance/takoform-v1/generic-host/external-family/counter-reservationThis checks the package index, declared files, FormRef and digests.
go run ./cmd/generic-conformance verify --manifest conformance/takoform-v1/generic.jsonThis checks package, Interface, Binding and Snapshot references, input-order independence and absence of partial results on failure. external-family and zero-family are fixtures, not real Forms or running Hosts.
Neither command performs Host resource operations, activates a Form or starts executable code.
Reading a report
- Check the subject of the report, not just
status. - Identify the verified definition using all four FormRef fields.
- Distinguish the package index's
packageDigestfrom the definition'sschemaDigest. - Check publication and Host operation outcomes separately in the publisher's or Host's records.
Source code
Verification tools and fixtures are on GitHub. For checks of the OpenTofu implementation, see terraform-provider-takoform.
Read next
- Retained Host API v1 — v1 discovery and operations.
- Migration to v2 — differences when moving to the separate API.
- Host API v1 — the specification covered by these checks.