Skip to content

Common model

A Form defines resource settings and behavior. A Form Package distributes the definition. A Snapshot collects verified packages and their references.

Formats and verification rules do not vary by publisher. This guide is non-normative; precise requirements are in the reference.

Identify a definition

FieldMeaning
Form Family namespaceA publisher-managed reverse-DNS name, without a version or /
FormRefapiVersion, kind, definitionVersion and schemaDigest
definitionVersionCompatibility version of a Form's settings and behavior
schemaDigestDigest of the Form Definition canonicalized using RFC 8785
packageDigestPackage index digest; not part of FormRef

Changing the namespace changes the definition and its digest, producing a different Form.

Main data types

  • Form Definition describes identity and desired, observed and output formats.
  • Form Package collects one definition and its declared files, without executable code.
  • Snapshot is built from verified data and references independently of input order. It is immutable after construction. Failed verification does not return a partial Snapshot.
  • Interface and Binding describe operations and capabilities for resource connections. References identify definitions by digest rather than inferring behavior from names.
  • Artifact identifies manifests and binary data by content digest. The digest itself is neither access permission nor a credential.
  • Standard Services describe references to external protocols; actual delivery belongs to the Host.
  • Trust and revocation verify distribution provenance under caller-supplied trust policy.

How versions relate

Host API and Form definitions have separate compatibility axes. Core and Provider have their own implementation release streams.

SubjectWhat the version describes
Host APIAPI compatibility; currently forms.takoform.com/v1
Form definitionSettings and behavior of each Form, identified by definitionVersion
CoreGo library and CLI releases; currently v1.1.0
ProviderReleases of the Terraform / OpenTofu implementation

Updating Core or Provider does not automatically change an API or Form identity. Schema/package $id values, Interface/Binding references and trust records do not add further API/Form version axes. Host API has no minor-version URL.

Publishers and Hosts

Core has no preferred-publisher list or official flag. Users and operators supply a policy stating which publishers they trust.

Package verification, Host installation, support, activation and commercial availability are separate. Check the conditions required by the Host you will use.

Read next

Specifications and source code are available on GitHub.