Skip to content

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? ​

SubjectMain checks
Form PackageDefinition, FormRef, canonical contents, declared files and allowed data formats
Interface / BindingDigests, definitions, operations and capabilities
SnapshotComplete data and references, and order-independent construction
HostAPI, resource lifecycle, concurrency, retries, identities and errors
ClientOnly declared settings are sent; FormRef is kept distinct from package identity
Publisher trust dataProvenance, 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.

console
go mod download

After dependencies are available, the following checks do not access the network or modify resources.

console
go run ./cmd/form-package verify conformance/takoform-v1/generic-host/external-family/counter-reservation

This checks the package index, declared files, FormRef and digests.

console
go run ./cmd/generic-conformance verify --manifest conformance/takoform-v1/generic.json

This 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 ​

  1. Check the subject of the report, not just status.
  2. Identify the verified definition using all four FormRef fields.
  3. Distinguish the package index's packageDigest from the definition's schemaDigest.
  4. 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 ​