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
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.
- ArtifactReference — Immutable logical artifact identity, digests, size, and locations.
- AsfAtrConfig — Optional Apache Trusted Release integration policy and coordinates.
- AsfCandidatePublication — ASF dist/dev publication evidence for one exact candidate.
- AsfDistPublicationConfig — ASF dist SVN authoritative publication target.
- AsfFinalPublication — ASF dist/release publication evidence for one final release.
- AsfReleaseProfileConfig — ASF project policy and trusted release infrastructure.
- AsfVoteExtension — ASF-specific vote rendering, trust-root, and disclaimer evidence.
- AsfVoteMaterialsConfig — ASF candidate vote-material rendering policy.
- AttachGitHubCandidateManifestResult — Result of attaching one exact durable candidate manifest.
- AttachGitHubReleaseManifestResult — Result of attaching one exact durable final release manifest.
- AuthenticityReference — Optional signature or attestation reference for a manifest or vote package.
- BuiltSourceSnapshotConfig — Policy for a separately built source archive release asset.
- ByteIdenticalPromotionEvidence — Evidence that candidate and final artifact bytes have identical digests.
- CandidateConfig — Candidate numbering, visibility, and retention policy.
- CandidateIdentity — Deterministic identity of one exact release candidate.
- CandidateLifecycleConfig — Release lifecycle that creates candidates and promotes one exact candidate.
- CandidateManifestV1 — Stable manifest binding one exact candidate to source, artifacts, and publications.
- CandidateReleaseState — Exact source, candidate, artifact naming, and publication state.
- CommandContext — Common runtime context passed into command handlers.
- ComponentIdentity — Stable machine and human identity of one released component.
- ComponentIdentityConfig — Stable machine and human identities for one released component.
- CreateGitHubCandidateTagResult — Result of creating or revalidating one immutable candidate tag.
- DirectLifecycleConfig — Release lifecycle that publishes a final release without a candidate.
- DirectReleaseState — Exact source and final-tag state for a direct release.
- DockerHubPublicationConfig — Secondary publication to Docker Hub.
- FinalizeGitHubCandidateResult — Result of applying configured visibility to one verified candidate.
- GenericVoteMaterialsConfig — Project-neutral vote-material rendering policy.
- GitHubActionPublicationConfig — Secondary publication of immutable and moving GitHub Action refs.
- GitHubAssetIdentity — Immutable observed identity of one GitHub Release asset.
- GitHubCandidatePublication — GitHub Release publication evidence for one exact candidate.
- GitHubFinalPublication — GitHub Release publication evidence for one final release.
- GitHubReleaseAssetsPublicationConfig — Secondary component-produced assets attached to a GitHub Release.
- GitHubReleasePublicationConfig — GitHub Release authoritative or convenience publication target.
- GitHubSourceChecksConfig — GitHub check runs or status contexts required for one source revision.
- ManifestDigestReference — URI and cryptographic digest binding one exact manifest document.
- NoSourceSnapshotConfig — Policy for a release that intentionally publishes no source snapshot.
- OpenPgpSigningConfig — OpenPGP detached-signature policy and secret input names.
- PlatformGeneratedSourceSnapshotConfig — Policy that relies on source snapshots generated by the hosting platform.
- PolicyProfilesConfig — Explicit foundation policy profiles selected by a component.
- PromotedCandidateReference — Exact candidate identity and manifest selected for final promotion.
- PromotionState — Exact candidate evidence and final-tag state for promotion.
- PublicationConfig — Authoritative, convenience, and secondary publication targets.
- PublicationReference — Reference to one provider or foundation publication result.
- PublishGitHubFinalReleaseResult — Result of publishing or revalidating one exact GitHub final release.
- PythonPackagePublicationConfig — Secondary publication to the configured Python package index.
- ReadGitHubFinalReleaseResult — Exact observed state of one GitHub final release.
- RegistryIdentityPromotionEvidence — Evidence that an immutable package or registry identity is unchanged.
- ReleaseConfig — Component-authored release lifecycle and capability configuration.
- ReleaseIdentity — Stable identity of one component version.
- ReleaseManifestV1 — Stable final release manifest for either direct publication or exact promotion.
- SameSourceRevisionPromotionEvidence — Evidence that candidate and final snapshots resolve to the same source commit.
- SourceArtifactPlan — Resolved built-source archive names for one release run.
- SourceConfig — Source selection, snapshot, and optional hosting-platform check policy.
- SourceRevision — Exact source repository revision selected for a release.
- StageGitHubCandidateResult — Result of converging on one exact draft GitHub candidate release.
- StageGitHubFinalReleaseResult — Result of converging on one exact draft GitHub final release.
- TagIdentity — Immutable identity of one Git tag and its exact target commit.
- TagPolicyConfig — Immutable-tag materialization and optional moving-tag policy.
- ToolingInvocationProvenance — Provider-neutral tooling revision and invocation metadata.
- VerificationResultReference — Reference to one machine-readable verification result.
- VerifyGitHubCandidateResult — Result of verifying one exact candidate and durable manifest.
- VerifyGitHubFinalReleaseResult — Result of verifying one GitHub final release against direct-release state.
- VerifyRcBuildConfig — Host-direct rebuild recipe configuration for one reproducibility profile.
- VerifyRcBuildOverrideConfig — Local non-canonical rebuild overrides for one reproducibility profile.
- VerifyRcConfig — Structured verify-rc configuration for rebuild recipes and profile selection.
- VerifyRcExactBytesComparisonConfig — Exact-byte comparison policy for source and file-like reproducibility profiles.
- VerifyRcMavenPathRuleConfig — One regex-based per-path comparison override inside a Maven repository profile.
- VerifyRcMavenRepositoryComparisonConfig — Repository-tree comparison policy for Maven repository reproducibility profiles.
- VerifyRcOciImageComparisonConfig — Digest-based OCI image comparison policy for image reproducibility profiles.
- VerifyRcOverrideConfig — Top-level local reproducibility override mapping keyed by profile_id.
- VerifyRcOverrideFileConfig — Validated local override file for non-canonical reproducibility runs.
- VerifyRcProfileConfig — One canonical reproducibility profile selected by signed manifest metadata.
- VerifyRcProfileOverrideConfig — Local non-canonical override for one canonical reproducibility profile.
- VerifyRcSelectionConfig — One canonical reproducibility profile selection.
- VerifyRcSourceConfig — Source-artifact verification policy for verify-rc.
- VersioningConfig — Version syntax and immutable final-tag naming policy.
- VotePackageV1 — Optional voting materials bound cryptographically to one exact candidate manifest.
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.
- category:
emitted - ownership:
tooling-derived - schema file:
attach-github-candidate-manifest-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
attach-github-release-manifest-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
candidate-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[‘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.
- category:
runtime - ownership:
runtime-derived - schema file:
candidate-release-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 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.
- category:
emitted - ownership:
tooling-derived - schema file:
create-github-candidate-tag-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
runtime - ownership:
runtime-derived - schema file:
direct-release-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 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.
- category:
emitted - ownership:
tooling-derived - schema file:
finalize-github-candidate-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
publish-github-final-release-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
read-github-final-release-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
stage-github-candidate-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
stage-github-final-release-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
verify-github-candidate-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
emitted - ownership:
tooling-derived - schema file:
verify-github-final-release-result.schema.json - audience:
supported - stability:
stable - file contract: (inner type)
| 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.
- category:
authored - ownership:
consumer-owned - schema file:
verify-rc-override-file-config.schema.json - audience:
internal - stability:
stable - file contract: (inner type)
| 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. |