IMPORTANT: Developer documentation for the current development branch. This content is unreleased, may change without notice, and must not be treated as Buildish release documentation.

Release configuration and authored override types

Consumer-owned and component-owned authored configuration models, including release-config.yaml and local verify-rc override payloads.

Consumer-owned and component-owned authored configuration models, including release-config.yaml and local verify-rc override payloads.

Back to the reference overview.

Type index

ArtifactPolicyConfig

Produced artifact families, integrity sidecars, and signing policy.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
produced list[str] no Artifact families produced by component-owned build jobs.
checksums list[Literal[‘sha256’, ‘sha512’]] no Checksums required for produced file artifacts.
signing OpenPgpSigningConfig no Optional detached-signature policy for produced file artifacts.

ArtifactReference

Immutable logical artifact identity, digests, size, and locations.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
kind str yes Artifact kind discriminator.
logical_name str yes Stable logical artifact name.
digests dict[str, str] no Immutable content digests keyed by algorithm.
size_bytes int no Artifact size in bytes.
locations list[str] no Known immutable or candidate publication locations.

AsfAtrConfig

Optional Apache Trusted Release integration policy and coordinates.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
enabled bool no Whether ATR publication and check reporting are enabled.
base_url str no Base URL used for ATR publication and status queries.
committee str no ASF committee slug supplied to ATR.
product_line str no ATR project or product-line identifier.
source_artifact_paths list[str] no Path globs selecting source artifacts for ATR.
binary_artifact_paths list[str] no Path globs selecting binary artifacts for ATR.
strict_checking bool no Whether ATR warnings or failures fail the command.
license_check_mode Literal[‘both’, ’lightweight’, ‘rat’] no ATR license-check flavor requested for the candidate.

AsfCandidatePublication

ASF dist/dev publication evidence for one exact candidate.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
kind typing.Literal[‘asf-candidate-publication’] no Extension discriminator.
dist_uri <class ‘str’> yes Exact ASF dist/dev candidate directory URI.
svn_revision <class ‘int’> yes Committed ASF dist SVN revision.

AsfDistPublicationConfig

ASF dist SVN authoritative publication target.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘asf-dist-svn’] no Publication target discriminator.

AsfFinalPublication

ASF dist/release publication evidence for one final release.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
kind typing.Literal[‘asf-final-publication’] no Extension discriminator.
dist_uri <class ‘str’> yes Exact ASF dist/release version directory URI.
svn_revision <class ‘int’> yes Committed ASF dist SVN revision.

AsfReleaseProfileConfig

ASF project policy and trusted release infrastructure.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
project_status Literal[’tlp’, ‘incubating’] no Project lifecycle status under ASF release policy.
dist_dev_base str yes ASF dist/dev base URL for candidate materials.
dist_release_base str yes ASF dist/release base URL for final releases.
keys_url str yes Authoritative ASF KEYS URL for signature verification.
disclaimer_file str no Repository-relative Incubator disclaimer file.
atr AsfAtrConfig no Optional ASF ATR integration policy.

AsfVoteExtension

ASF-specific vote rendering, trust-root, and disclaimer evidence.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
kind typing.Literal[‘asf-vote’] no Vote extension discriminator.
style typing.Literal[‘pmc’, ‘ppmc-ipmc’] yes ASF vote terminology style.
keys <class ‘buildish_release_tooling.release.core.manifests.AuthenticityReference'> yes ASF KEYS trust-root reference.
disclaimer_uri str no Optional Incubator disclaimer evidence URI.

AsfVoteMaterialsConfig

ASF candidate vote-material rendering policy.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
profile Literal[‘asf’] no Vote-material profile discriminator.
release_name str yes Human-facing release name used in ASF vote text.
verification_guide_url str yes User-facing release verification guide URL.
instructions str yes Human-facing verification instructions for the exact candidate.

AttachGitHubCandidateManifestResult

Result of attaching one exact durable candidate manifest.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact candidate version.
candidate <class ‘buildish_release_tooling.release.core.models.CandidateIdentity'> yes Exact candidate identity.
candidate_manifest <class ‘buildish_release_tooling.release.core.manifests.ManifestDigestReference'> yes Exact attached candidate-manifest identity.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubCandidatePublication'> yes Observed GitHub candidate publication including the manifest asset.
action typing.Literal[‘attach-github-candidate-manifest’] no Command action discriminator.
outcome typing.Literal[‘attached’, ‘already-complete’] yes Idempotent manifest attachment outcome.

AttachGitHubReleaseManifestResult

Result of attaching one exact durable final release manifest.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact released component version.
release_manifest <class ‘buildish_release_tooling.release.core.manifests.ManifestDigestReference'> yes Exact attached final release-manifest identity.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubFinalPublication'> yes Observed GitHub final publication containing the manifest asset.
action typing.Literal[‘attach-github-release-manifest’] no Command action discriminator.
outcome typing.Literal[‘attached’, ‘already-complete’] yes Idempotent manifest attachment outcome.

AuthenticityReference

Optional signature or attestation reference for a manifest or vote package.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
kind str yes Authenticity mechanism discriminator.
uri str yes URI of the signature or attestation.
signer str no Optional signer identity or key fingerprint.

BuiltSourceSnapshotConfig

Policy for a separately built source archive release asset.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[‘built-asset’] no Source snapshot policy discriminator.
filename_template str yes Template used to name the built source archive.
archive_root_template str yes Template used for the archive’s top-level directory.

ByteIdenticalPromotionEvidence

Evidence that candidate and final artifact bytes have identical digests.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
relation Literal[‘byte-identical’] no Promotion evidence discriminator.
artifact_name str yes Logical artifact name covered by the evidence.
candidate_digests dict[str, str] yes Candidate artifact digests keyed by algorithm.
final_digests dict[str, str] yes Final artifact digests keyed by algorithm.

CandidateConfig

Candidate numbering, visibility, and retention policy.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
label str no Lowercase label placed before the numeric candidate suffix.
start_number int no First candidate number when no matching candidate tag exists.
visibility Literal[‘draft’, ‘public-prerelease’] no Requested visibility after candidate publication is verified.
retention Literal[‘retain-published’, ‘retain-all’] no Retention policy for earlier candidate publications.

CandidateIdentity

Deterministic identity of one exact release candidate.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
release ReleaseIdentity yes Release version proposed by the candidate.
label str yes Candidate series label.
number int yes Candidate sequence number.
tag TagIdentity yes Exact immutable candidate tag.
stable_id str no Deterministic candidate identifier independent of provider object IDs.

CandidateLifecycleConfig

Release lifecycle that creates candidates and promotes one exact candidate.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[‘candidate’] no Release lifecycle discriminator.

CandidateManifestV1

Stable manifest binding one exact candidate to source, artifacts, and publications.

Field Type Required Description
schema_version Literal[‘1’] no Manifest schema version.
kind Literal[‘candidate-manifest’] no Manifest kind discriminator.
release ReleaseIdentity yes Exact component release identity.
candidate CandidateIdentity yes Exact candidate identity.
source SourceRevision yes Exact selected source revision.
candidate_tag TagIdentity yes Exact immutable candidate tag identity.
source_date_epoch int no Optional canonical selected-source timestamp.
artifacts list[ArtifactReference] no Immutable candidate artifact inventory.
verification_policy_selectors list[str] no Selected verification policy identifiers.
verification_results list[VerificationResultReference] no Candidate verification result references.
publications list[PublicationReference] no Provider-neutral candidate publication references.
tooling ToolingInvocationProvenance yes Tooling revision and invocation provenance.
created_at str yes UTC creation timestamp in RFC 3339 form.
extensions list[CandidateExtension] no Typed platform or foundation candidate extensions.

CandidateReleaseState

Exact source, candidate, artifact naming, and publication state.

Field Type Required Description
release ReleaseIdentity yes Exact component release identity.
source SourceRevision yes Exact selected source revision.
source_date_epoch int yes Canonical selected-source timestamp.
candidate CandidateIdentity yes Exact candidate identity.
final_tag_identity TagIdentity yes Intended immutable final tag.
source_artifact SourceArtifactPlan no Optional resolved built-source archive plan.
artifacts list[ArtifactReference] no Immutable candidate artifact references.
verification_results list[VerificationResultReference] no Verification results for candidate inputs.
publications list[PublicationReference] no Candidate publication results.
tooling ToolingInvocationProvenance no Tooling revision and invocation provenance.

CommandContext

Common runtime context passed into command handlers.

  • category: runtime
  • ownership: runtime-derived
  • schema file: command-context.schema.json
  • audience: internal
  • stability: stable
  • file contract: (inner type)
Field Type Required Description
release_config ReleaseConfig yes Validated release configuration for the current command.
release_config_path Path no Filesystem path of the authored release configuration.

ComponentIdentity

Stable machine and human identity of one released component.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
id str yes Stable machine identifier of the component.
display_name str yes Human-facing component name.

ComponentIdentityConfig

Stable machine and human identities for one released component.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
id str yes Stable machine identifier used in release state and manifests.
display_name str yes Human-facing component name used in release text.

CreateGitHubCandidateTagResult

Result of creating or revalidating one immutable candidate tag.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact candidate version.
candidate <class ‘buildish_release_tooling.release.core.models.CandidateIdentity'> yes Exact candidate identity.
source_commit <class ‘str’> yes Exact commit targeted by the candidate tag.
action typing.Literal[‘create-candidate-tag’] no Command action discriminator.
outcome typing.Literal[‘created’, ‘already-complete’] yes Idempotent tag creation outcome.

DirectLifecycleConfig

Release lifecycle that publishes a final release without a candidate.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[‘direct’] no Release lifecycle discriminator.

DirectReleaseState

Exact source and final-tag state for a direct release.

Field Type Required Description
release ReleaseIdentity yes Exact component release identity.
source SourceRevision yes Exact selected source revision.
final_tag TagIdentity yes Exact immutable final tag.
source_date_epoch int no Optional canonical source timestamp.
source_artifact SourceArtifactPlan no Optional resolved built-source archive plan.
artifacts list[ArtifactReference] no Immutable release artifact references.
verification_results list[VerificationResultReference] no Verification results for the release inputs.
publications list[PublicationReference] no Publication results for this release.
tooling ToolingInvocationProvenance no Tooling revision and invocation provenance.

DockerHubPublicationConfig

Secondary publication to Docker Hub.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘dockerhub’] no Secondary publication target discriminator.

FinalizeGitHubCandidateResult

Result of applying configured visibility to one verified candidate.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact candidate version.
candidate <class ‘buildish_release_tooling.release.core.models.CandidateIdentity'> yes Exact candidate identity.
candidate_manifest <class ‘buildish_release_tooling.release.core.manifests.ManifestDigestReference'> yes Verified candidate-manifest identity.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubCandidatePublication'> yes Observed finalized GitHub candidate publication state.
action typing.Literal[‘finalize-github-candidate’] no Command action discriminator.
outcome typing.Literal[‘published’, ‘retained-draft’, ‘already-complete’] yes Idempotent candidate finalization outcome.

GenericVoteMaterialsConfig

Project-neutral vote-material rendering policy.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
profile Literal[‘generic’] no Vote-material profile discriminator.
release_name str yes Human-facing name rendered in vote materials.
verification_guide_url str yes User-facing release verification guide URL.
instructions str yes Human-facing verification instructions for the exact candidate.

GitHubActionPublicationConfig

Secondary publication of immutable and moving GitHub Action refs.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘github-action’] no Secondary publication target discriminator.

GitHubAssetIdentity

Immutable observed identity of one GitHub Release asset.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
name <class ‘str’> yes GitHub Release asset filename.
asset_id <class ‘int’> yes GitHub-issued numeric asset identifier.
size_bytes <class ‘int’> yes GitHub-observed release asset size in bytes.
digest <class ‘str’> yes GitHub-observed SHA-256 asset digest.

GitHubCandidatePublication

GitHub Release publication evidence for one exact candidate.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
kind typing.Literal[‘github-candidate-publication’] no Extension discriminator.
repository <class ‘str’> yes GitHub repository in owner/name form.
release_id <class ‘int’> yes GitHub Release numeric identifier.
release_url <class ‘str’> yes User-facing GitHub Release URL.
tag <class ‘str’> yes Exact candidate tag attached to the release.
draft <class ‘bool’> yes Whether GitHub reports the release as a draft.
prerelease <class ‘bool’> yes Whether GitHub reports a pre-release.
assets list[buildish_release_tooling.release.platforms.github.manifests.GitHubAssetIdentity] no Observed candidate asset identities.

GitHubFinalPublication

GitHub Release publication evidence for one final release.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
kind typing.Literal[‘github-final-publication’] no Extension discriminator.
repository <class ‘str’> yes GitHub repository in owner/name form.
release_id <class ‘int’> yes GitHub Release numeric identifier.
release_url <class ‘str’> yes User-facing GitHub Release URL.
tag <class ‘str’> yes Exact immutable final tag attached to the release.
draft <class ‘bool’> yes Whether GitHub reports the release as a draft.
prerelease <class ‘bool’> yes Whether GitHub reports a pre-release.
assets list[buildish_release_tooling.release.platforms.github.manifests.GitHubAssetIdentity] no Observed final asset identities.

GitHubReleaseAssetsPublicationConfig

Secondary component-produced assets attached to a GitHub Release.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘github-release-assets’] no Secondary publication target discriminator.

GitHubReleasePublicationConfig

GitHub Release authoritative or convenience publication target.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘github-release’] no Publication target discriminator.
repository str no Optional explicit GitHub repository in owner/name form.

GitHubSourceChecksConfig

GitHub check runs or status contexts required for one source revision.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
platform Literal[‘github’] yes Source-check hosting-platform discriminator.
required list[str] yes Exact GitHub check-run or legacy status-context names required on the selected revision.

ManifestDigestReference

URI and cryptographic digest binding one exact manifest document.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
uri str yes URI of the exact manifest document.
algorithm Literal[‘sha256’, ‘sha512’] no Digest algorithm.
digest str yes Lowercase hexadecimal manifest digest.

NoSourceSnapshotConfig

Policy for a release that intentionally publishes no source snapshot.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[’none’] no Source snapshot policy discriminator.

OpenPgpSigningConfig

OpenPGP detached-signature policy and secret input names.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘openpgp’] no Artifact signing mechanism discriminator.
private_key_env str yes Environment variable containing the armored OpenPGP private key.
passphrase_env str no Optional environment variable containing the private-key passphrase. The variable may be absent when the configured key is unprotected.
expected_fingerprint str no Optional full OpenPGP fingerprint required for the imported signing key.
signature_format Literal[‘detached-ascii-armored’] no Detached signature format produced for signed file artifacts.

PlatformGeneratedSourceSnapshotConfig

Policy that relies on source snapshots generated by the hosting platform.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[‘platform-generated’] no Source snapshot policy discriminator.

PolicyProfilesConfig

Explicit foundation policy profiles selected by a component.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
asf AsfReleaseProfileConfig no Optional Apache Software Foundation release policy.

PromotedCandidateReference

Exact candidate identity and manifest selected for final promotion.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
candidate CandidateIdentity yes Exact promoted candidate identity.
manifest ManifestDigestReference yes Cryptographic reference to the exact candidate manifest.

PromotionState

Exact candidate evidence and final-tag state for promotion.

  • category: runtime
  • ownership: runtime-derived
  • schema file: promotion-state.schema.json
  • audience: internal
  • stability: stable
  • file contract: (inner type)
Field Type Required Description
release ReleaseIdentity yes Exact component release identity.
source SourceRevision yes Exact source revision proven by the candidate.
candidate CandidateIdentity yes Exact candidate selected for promotion.
candidate_manifest_digest str yes Lowercase SHA-256 or SHA-512 digest of the exact candidate manifest.
final_tag TagIdentity yes Exact immutable final tag.
artifacts list[ArtifactReference] no Artifacts selected for final promotion.
verification_results list[VerificationResultReference] no Verification results required for promotion.
publications list[PublicationReference] no Final publication results.
tooling ToolingInvocationProvenance no Tooling revision and invocation provenance.

PublicationConfig

Authoritative, convenience, and secondary publication targets.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
authoritative PrimaryPublicationTargetConfig yes Canonical publication target for the release.
convenience list[PrimaryPublicationTargetConfig] no Non-authoritative release publication mirrors or pages.
secondary list[SecondaryPublicationTargetConfig] no Additional package, image, action, or asset publication targets.

PublicationReference

Reference to one provider or foundation publication result.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
target_kind str yes Selected publication target discriminator.
uri str yes Primary URI of the publication result.
immutable_id str no Optional provider-issued immutable publication identifier.

PublishGitHubFinalReleaseResult

Result of publishing or revalidating one exact GitHub final release.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact released component version.
source_commit <class ‘str’> yes Exact source commit targeted by the final tag.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubFinalPublication'> yes Observed exact GitHub final-release publication state.
action typing.Literal[‘publish-github-final-release’] no Command action discriminator.
outcome typing.Literal[‘published’, ‘already-complete’] yes Idempotent final publication outcome.

PythonPackagePublicationConfig

Secondary publication to the configured Python package index.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘pypi’] no Secondary publication target discriminator.

ReadGitHubFinalReleaseResult

Exact observed state of one GitHub final release.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact released component version.
source_commit <class ‘str’> yes Exact source commit targeted by the final tag.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubFinalPublication'> yes Observed exact GitHub final-release publication state.
action typing.Literal[‘read-github-final-release’] no Command action discriminator.
outcome typing.Literal[‘observed’] no Read-only observation outcome.

RegistryIdentityPromotionEvidence

Evidence that an immutable package or registry identity is unchanged.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
relation Literal[‘registry-identity’] no Promotion evidence discriminator.
artifact_name str yes Logical artifact name covered by the evidence.
registry_kind str yes Package or registry ecosystem discriminator.
immutable_identity str yes Immutable digest or ecosystem coordinate retained by promotion.

ReleaseConfig

Component-authored release lifecycle and capability configuration.

  • category: authored
  • ownership: component-owned
  • schema file: component-config.schema.json
  • audience: supported
  • stability: stable
  • file contract: release-config.yaml
Field Type Required Description
component ComponentIdentityConfig yes Stable component identity.
versioning VersioningConfig no Version and final-tag naming policy.
source SourceConfig yes Source selection and snapshot policy.
lifecycle LifecycleConfig yes Direct or candidate release lifecycle.
candidate CandidateConfig no Candidate policy required only for the candidate lifecycle.
artifacts ArtifactPolicyConfig no Produced artifact and checksum policy.
publication PublicationConfig yes Authoritative and additional publication targets.
tags TagPolicyConfig no Immutable and moving tag policy.
vote_materials VoteMaterialsConfig no Optional vote-material policy for an exact candidate.
policy_profiles PolicyProfilesConfig no Explicit foundation-specific policy profiles.
verification VerifyRcConfig no Artifact verification and reproducibility policy.

ReleaseIdentity

Stable identity of one component version.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
component ComponentIdentity yes Released component identity.
version str yes Exact component version.

ReleaseManifestV1

Stable final release manifest for either direct publication or exact promotion.

  • category: emitted
  • ownership: tooling-derived
  • schema file: release-manifest-v1.schema.json
  • audience: supported
  • stability: stable
  • file contract: (inner type)
Field Type Required Description
schema_version Literal[‘1’] no Manifest schema version.
kind Literal[‘release-manifest’] no Manifest kind discriminator.
release ReleaseIdentity yes Exact component release identity.
source SourceRevision yes Exact final release source revision.
final_tag TagIdentity yes Exact immutable final tag identity.
artifacts list[ArtifactReference] no Immutable final artifact inventory.
publications list[PublicationReference] no Provider-neutral final publication references.
verification_results list[VerificationResultReference] no Final verification result references.
promoted_candidate PromotedCandidateReference no Exact promoted candidate and manifest, absent for direct releases.
promotion_evidence list[PromotionEvidence] no Per-artifact typed promotion relations.
secondary_publications list[PublicationReference] no Secondary package or registry publication results.
moving_alias_results list[PublicationReference] no Moving tag or alias update results.
tooling ToolingInvocationProvenance yes Tooling revision and invocation provenance.
created_at str yes UTC creation timestamp in RFC 3339 form.
extensions list[ReleaseExtension] no Typed platform or foundation final extensions.

SameSourceRevisionPromotionEvidence

Evidence that candidate and final snapshots resolve to the same source commit.

  • category: emitted
  • ownership: tooling-derived
  • file contract: (inner type)
Field Type Required Description
relation Literal[‘same-source-revision’] no Promotion evidence discriminator.
artifact_name str yes Logical source snapshot name.
candidate_tag str yes Candidate tag used for the generated snapshot.
final_tag str yes Final tag used for the generated snapshot.
source_commit_sha str yes Exact commit targeted by both candidate and final tags.

SourceArtifactPlan

Resolved built-source archive names for one release run.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
filename str yes Resolved source archive filename.
archive_root str yes Resolved top-level archive directory.

SourceConfig

Source selection, snapshot, and optional hosting-platform check policy.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
selection Literal[’explicit-ref-or-default-branch’, ’explicit-ref’, ‘release-branch’] yes Policy used to resolve the exact release source revision.
default_branch str no Optional default branch used when source selection permits it.
snapshot SourceSnapshotConfig yes Policy for source material exposed to release consumers.
checks GitHubSourceChecksConfig no Optional hosting-platform checks required for the selected source revision. Component-owned same-run test jobs remain workflow concerns.

SourceRevision

Exact source repository revision selected for a release.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
repository str yes Provider-neutral source repository identity or URL.
commit_sha str yes Exact source commit identifier.
source_ref str no Optional authored or resolved source ref that selected the commit.

StageGitHubCandidateResult

Result of converging on one exact draft GitHub candidate release.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact candidate version.
candidate <class ‘buildish_release_tooling.release.core.models.CandidateIdentity'> yes Exact candidate identity.
source_commit <class ‘str’> yes Exact source commit targeted by the candidate tag.
artifacts list[buildish_release_tooling.release.core.models.ArtifactReference] no Immutable staged candidate artifact inventory.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubCandidatePublication'> yes Observed exact GitHub candidate publication state.
action typing.Literal[‘stage-github-candidate’] no Command action discriminator.
outcome typing.Literal[‘created’, ‘completed’, ‘already-complete’] yes Idempotent candidate staging outcome.

StageGitHubFinalReleaseResult

Result of converging on one exact draft GitHub final release.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact released component version.
source_commit <class ‘str’> yes Exact source commit targeted by the final tag.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubFinalPublication'> yes Observed exact GitHub final-release publication state.
action typing.Literal[‘stage-github-final-release’] no Command action discriminator.
outcome typing.Literal[‘created’, ‘completed’, ‘already-complete’] yes Idempotent staging outcome.

TagIdentity

Immutable identity of one Git tag and its exact target commit.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
name str yes Exact tag name.
target_commit str yes Exact commit targeted by the tag.
purpose Literal[‘candidate’, ‘final’, ‘moving-alias’] yes Provider-neutral purpose of the tag.

TagPolicyConfig

Immutable-tag materialization and optional moving-tag policy.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
final_mode Literal[’exact-source-commit’, ‘detached-materialization-commit’] no Commit policy used for the immutable final tag.
moving list[str] no Explicit moving tag or alias policies enabled for the component.
include_final_mode_in_summary bool no Whether summaries render the selected final-tag materialization mode.

ToolingInvocationProvenance

Provider-neutral tooling revision and invocation metadata.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
version str no Installed tooling version.
revision str no Exact tooling source revision.
invocation_id str no Optional workflow- or caller-issued invocation identifier.

VerificationResultReference

Reference to one machine-readable verification result.

  • category: runtime
  • ownership: runtime-derived
  • file contract: (inner type)
Field Type Required Description
kind str yes Verification result kind.
uri str yes URI of the verification result.
digest str no Optional result document digest.

VerifyGitHubCandidateResult

Result of verifying one exact candidate and durable manifest.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact candidate version.
candidate <class ‘buildish_release_tooling.release.core.models.CandidateIdentity'> yes Exact candidate identity.
candidate_manifest <class ‘buildish_release_tooling.release.core.manifests.ManifestDigestReference'> yes Verified candidate-manifest identity.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubCandidatePublication'> yes Verified GitHub candidate publication state.
action typing.Literal[‘verify-github-candidate’] no Command action discriminator.
outcome typing.Literal[‘verified’] no Exact-state verification outcome.

VerifyGitHubFinalReleaseResult

Result of verifying one GitHub final release against direct-release state.

Field Type Required Description
component <class ‘str’> yes Released Buildish component identifier.
version <class ‘str’> yes Exact released component version.
source_commit <class ‘str’> yes Exact source commit targeted by the final tag.
publication <class ‘buildish_release_tooling.release.platforms.github.manifests.GitHubFinalPublication'> yes Observed exact GitHub final-release publication state.
action typing.Literal[‘verify-github-final-release’] no Command action discriminator.
outcome typing.Literal[‘verified’] no Exact-state verification outcome.

VerifyRcBuildConfig

Host-direct rebuild recipe configuration for one reproducibility profile.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
command list[str] yes Literal argv list that Buildish executed or recommends for the related step.
working_dir str no Repository-root-relative working directory that Buildish should use when running the related build recipe.
env dict[str, str] no Environment-variable mapping supplied to the related build, scenario, or command step.
output_globs list[str] yes Repository-root-relative glob patterns that identify expected outputs of the related build recipe.

VerifyRcBuildOverrideConfig

Local non-canonical rebuild overrides for one reproducibility profile.

  • category: authored
  • ownership: consumer-owned
  • file contract: (inner type)
Field Type Required Description
command list[str] no Literal argv list that Buildish executed or recommends for the related step.
working_dir str no Repository-root-relative working directory that Buildish should use when running the related build recipe.
env dict[str, str] no Environment-variable mapping supplied to the related build, scenario, or command step.
output_globs list[str] no Repository-root-relative glob patterns that identify expected outputs of the related build recipe.

VerifyRcConfig

Structured verify-rc configuration for rebuild recipes and profile selection.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
source VerifyRcSourceConfig no Source-artifact-specific verify-rc policy block nested inside the component configuration.
profiles dict[str, VerifyRcProfileConfig] no Canonical reproducibility profiles keyed by profile identifier in the component configuration.

VerifyRcExactBytesComparisonConfig

Exact-byte comparison policy for source and file-like reproducibility profiles.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[’exact-bytes’] no Comparison mode literal indicating that reproducibility succeeds only when the rebuilt artifact bytes match the staged bytes exactly.

VerifyRcMavenPathRuleConfig

One regex-based per-path comparison override inside a Maven repository profile.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
pattern str yes Regular-expression pattern used to match one family of repository paths.
mode Literal[’exact-bytes’, ‘zip-normalized’, ‘content-only’, ‘remote-only’] yes Comparison mode that should apply to Maven repository paths matching this regex rule instead of the repository default.

VerifyRcMavenRepositoryComparisonConfig

Repository-tree comparison policy for Maven repository reproducibility profiles.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[‘repository-tree’] no Comparison mode literal indicating that this reproducibility profile compares a rebuilt Maven repository tree against the staged repository tree.
repository_dir str yes Repository-root-relative rebuild output directory that should contain the local Maven repository tree.
require_signatures bool no Whether Maven repository reproducibility should require detached signature files to exist and compare successfully.
path_rules list[VerifyRcMavenPathRuleConfig] no Regex-based per-path comparison rules that specialize the default Maven repository comparison behavior.

VerifyRcOciImageComparisonConfig

Digest-based OCI image comparison policy for image reproducibility profiles.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
mode Literal[‘platform-digest’, ‘provenance-only’] yes Digest-comparison strategy used for OCI image reproducibility, either requiring matching platform digests or only provenance-level agreement.
image_ref str yes Fully qualified OCI image reference used for inspection or local rebuild comparison.

VerifyRcOverrideConfig

Top-level local reproducibility override mapping keyed by profile_id.

  • category: authored
  • ownership: consumer-owned
  • file contract: (inner type)
Field Type Required Description
profile_overrides dict[str, VerifyRcProfileOverrideConfig] no Local non-canonical reproducibility overrides keyed by canonical profile identifier.

VerifyRcOverrideFileConfig

Validated local override file for non-canonical reproducibility runs.

Field Type Required Description
verify_rc VerifyRcOverrideConfig yes Nested verify-rc configuration block for the component or local override file.

VerifyRcProfileConfig

One canonical reproducibility profile selected by signed manifest metadata.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
kind Literal[‘source-artifact’, ‘generic-file’, ‘generic-file-with-openpgp’, ‘maven-repository’, ’npm-package’, ‘oci-image’, ‘python-distribution’] yes Artifact-kind discriminator that selects which canonical reproducibility profile shape applies.
build VerifyRcBuildConfig yes Nested build recipe or effective build execution block for one reproducibility contract.
comparison VerifyRcExactBytesComparisonConfig | VerifyRcMavenRepositoryComparisonConfig | VerifyRcOciImageComparisonConfig yes Artifact-kind-specific reproducibility comparison policy for the canonical profile.

VerifyRcProfileOverrideConfig

Local non-canonical override for one canonical reproducibility profile.

  • category: authored
  • ownership: consumer-owned
  • file contract: (inner type)
Field Type Required Description
build VerifyRcBuildOverrideConfig yes Nested build recipe or effective build execution block for one reproducibility contract.

VerifyRcSelectionConfig

One canonical reproducibility profile selection.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
profile_id str yes Reproducibility profile identifier selected for the related artifact or source verification.
mode str no Optional future-facing mode hint recorded next to the selected reproducibility profile. When present, it narrows how the selected profile should be interpreted for this source-artifact policy block.

VerifyRcSourceConfig

Source-artifact verification policy for verify-rc.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
reproducibility VerifyRcSelectionConfig no Reproducibility policy or result block associated with the related source or secondary artifact.

VersioningConfig

Version syntax and immutable final-tag naming policy.

  • category: authored
  • ownership: component-owned
  • file contract: (inner type)
Field Type Required Description
scheme Literal[‘semver’] no Version syntax used by release state derivation.
final_tag_template str no Template used to derive the immutable final tag from a version.

VotePackageV1

Optional voting materials bound cryptographically to one exact candidate manifest.

  • category: emitted
  • ownership: tooling-derived
  • schema file: vote-package-v1.schema.json
  • audience: supported
  • stability: stable
  • file contract: (inner type)
Field Type Required Description
schema_version Literal[‘1’] no Manifest schema version.
kind Literal[‘vote-package’] no Manifest kind discriminator.
subject str yes Human-facing vote subject.
profile_selector str yes Selected vote rendering profile.
candidate_manifest ManifestDigestReference yes Cryptographic reference to the exact candidate manifest.
embedded_candidate_manifest CandidateManifestV1 no Optional embedded copy of the referenced candidate manifest.
verification_instructions str yes Human-facing candidate verification instructions.
opening_template str yes Rendered or renderable vote-opening text.
result_template str yes Rendered or renderable vote-result text.
authenticity list[AuthenticityReference] no Optional signatures or attestations.
extensions list[AsfVoteExtension] no Typed foundation vote extensions.
created_at str yes UTC creation timestamp in RFC 3339 form.