release: sign and verify exact CycloneDX SBOM evidence - #53
Conversation
|
Warning Review limit reached
Next review available in: 47 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
Comment |
|
Closing this exact-head proposal ( The branch modifies the credential-bearing release workflow before PR #52 is integrated, invokes the non-attestable foundation generator that omits the Safe portions may be reintroduced only after #52 lands and the central reusable workflow can consume an independently verified exact protected-main artifact tree without executing caller-controlled source under signing credentials. |
Intent
Complete the buyer-visible release-evidence gap in #46 by connecting the deterministic CycloneDX 1.7 foundation to the protected-main release path without granting publication or ref-writing authority to SBOM generation or attestation code.
Changes
SHA256SUMS; keep PyPI inputs limited to wheel and sdistattest-release-evidencejob after exact immutable tag verificationactions/attestv4 to commit1e69f48acb82d1966a394da916b4c1698aa569d6https://cyclonedx.org/bomCHANGELOG.mdand add executable release-contract testsPermission rationale
The issue’s original least-privilege list predates the current
actions/attestv4 permission contract. The pinned action’s official README now requiresartifact-metadata: writein addition toid-token: writeandattestations: writeto create the artifact storage record. The attestation job therefore grants that current documented permission while retainingcontents: readand denying contents, packages, and pull-request write authority.Test-first evidence
The new contract was written before workflow implementation. Current local focused evidence:
Repository CI remains authoritative for the complete Python 3.10–3.13 suite, production statement and branch coverage, docstrings, package acceptance, SAST, Security Scan, and exact-current-head evidence.
Release boundary
This PR does not create a tag, publish a package, create a GitHub Release, move protected refs, change the OpenCode/NVIDIA product agent, use
COPILOT_GITHUB_TOKEN, or alter the centrally managed review-agent identity. The release workflow still runs only through manual dispatch from the exact current protectedmainhead and fails closed when external PyPI Trusted Publisher or environment configuration is absent.Closes #46.