Release packaging
Release construction is local and non-publishing by default. The stable gate produces four archives, SHA-256 checksums, one SPDX SBOM per archive, a generated Homebrew formula, and a native CLI install smoke test.dist/ output back. It skips announce and publish pipes. It does not change a source
repository ref or create a GitHub release, package, or image.
Verify an existing artifact directory independently:
version, completion generation, and help output. syft is required.
The source Homebrew file is a strict template. Candidate construction resolves it from the archive
checksums into dist/homebrew/infercrane.rb. Publish that generated formula to the Homebrew tap only
after the matching immutable GitHub assets exist.
The tag-triggered GitHub workflow creates a draft prerelease, multi-architecture container image,
BuildKit SBOM/provenance attestations, immutable image digest artifact, and critical-severity scans.
Those external outputs cannot be claimed from local construction and remain pending until the tag is
explicitly pushed.
Stable release after manual qualification
For a fully qualified release, wait until the consolidated manual report saysreal_infrastructure: passed and cleanup inventory is verified. An early-project release may instead
ship with those limitations explicitly documented when the maintainer accepts that risk. From the
clean release commit:
main and the stable
tag; RC tags remain local unless separately approved for publication.