Skip to main content

Release contract and production gates

The release lifecycle follows an explicit verification gate model recorded in releases.yaml.

Lifecycle validation states​

Every release and documentation document carries one of two validation statuses:

StatusDefinitionCriteria
source-validatedSource-consistent stateAll markdown manifests, examples, and schemas parse cleanly, pass schema validation against vendored CRDs, reference approved images, and pass link checks. Does not assert that artifacts have been published to the external registry or tested on live clusters.
release-validatedProduction-ready stateIn addition to source validation, external artifacts have been confirmed published on artifacts.altair.com, and full end-to-end deployment tests have succeeded on disposable test clusters.

Production gates​

In releases.yaml, a release transition from source-validated to release-validated requires both production gates to be marked true:

productionGate:
publicArtifactsVerified: false
disposableClusterValidated: false
note: Set both fields to true only after release engineering records evidence.

The validation harness (scripts/validate-content.mjs) automatically enforces that when the active currentDocumentationRelease declares status: release-validated, it must have both publicArtifactsVerified: true and disposableClusterValidated: true.

Registry and artifact conventions​

Artifacts are governed by artifacts.yaml:

  • Container images: artifacts.altair.com/graph-docker/<image>:<version>
  • Helm charts: oci://artifacts.altair.com/graph-helmoci/<chart>
  • Never use mutable tags such as latest or development build numbers in public documentation.

Schema provenance​

Vendored schemas kept as repository validation assets in schemas/ have cryptographic SHA-256 hashes registered in schemas/sources.yaml:

  • schemas/anzo-v2.schema.json
  • schemas/anzograph-v2.schema.json

Modifications to schemas must update schemas/sources.yaml with the new SHA-256 checksum, verified during npm run validate:content.