diff --git a/docs/cso-release-qualification.md b/docs/cso-release-qualification.md index ee6d60a00..c37d7570f 100644 --- a/docs/cso-release-qualification.md +++ b/docs/cso-release-qualification.md @@ -145,8 +145,11 @@ archive bytes, not a verified response URL. Image publication starts with the committed [`build-inputs.json`](../lib/cso/images/build-inputs.json). Its reviewed revision pins distinct native manifests for every stack and the SBOM generator. Each -profile records the inspected source tag and immutable index for provenance, -then `baseImages` keyed by `linux/amd64` and `linux/arm64`; Python additionally +profile records the inspected source tag and immutable index for provenance. +The source tag must name an exact release (`..`, or +`.` for PostgreSQL); a floating major or minor tag, `latest` or +another alias fails matrix generation with `FLOATING__SOURCE`. Each profile then records +`baseImages` keyed by `linux/amd64` and `linux/arm64`; Python additionally records native uv manifests. CI fails if a source tag no longer resolves to the reviewed index, a platform manifest is absent from that index, its image configuration names another architecture, or an executable reports a different