Skip to content

[ABI] Enforce exact staged product evidence - #1263

Draft
brandonpayton wants to merge 1 commit into
mainfrom
abi-staging-required-check-activation-v2
Draft

[ABI] Enforce exact staged product evidence#1263
brandonpayton wants to merge 1 commit into
mainfrom
abi-staging-required-check-activation-v2

Conversation

@brandonpayton

Copy link
Copy Markdown
Member

Why

ABI-changing pull requests should merge only after the protected staging
pipeline proves that their exact head has current bottle and product evidence.
The projection is already available in observe mode; this change activates it
as the merge-gate commit status after all current-head checks are repeated.

This PR is intentionally parked until the ABI 43 candidate and product evidence
records have been published and independently verified. Merging it earlier
would correctly block ABI 43 rather than weakening the gate.

What changed

  • Switch the required-check activation contract from observe to enforce.
  • Give only the protected final validation job commit-status write authority.
  • Publish merge-gate only after current request, evidence, policy, and pull
    request head revalidation all succeed.
  • Add workflow mutations and Rust projection coverage for the activation.
  • Regenerate the protected request-policy identity.

Validation

  • scripts/dev-shell.sh ruby scripts/check-abi-staging-pr-check-workflow.rb
  • scripts/dev-shell.sh bash .github/scripts/test-merge-candidate-workflows.sh
  • cargo test -p xtask abi_staging::check_projection (17 passed)
  • protected request-policy freshness check
  • scripts/dev-shell.sh actionlint .github/workflows/abi-staging-merge-gate.yml
  • git diff HEAD^ --check

@brandonpayton
brandonpayton marked this pull request as draft August 13, 2026 09:49
@brandonpayton
brandonpayton force-pushed the abi-staging-required-check-activation-v2 branch from d3fef35 to 66cdab4 Compare August 14, 2026 01:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant