Skip to content

Restore exact repository inputs in protected ABI checks - #1257

Closed
brandonpayton wants to merge 2 commits into
mainfrom
emdash/abi-pr-check-musl-hotfix
Closed

Restore exact repository inputs in protected ABI checks#1257
brandonpayton wants to merge 2 commits into
mainfrom
emdash/abi-pr-check-musl-hotfix

Conversation

@brandonpayton

@brandonpayton brandonpayton commented Aug 12, 2026

Copy link
Copy Markdown
Member

Why

Protected ABI checks inspect a pull request without executing its code.
The developer SDK product now includes musl license data, but those jobs
check out the candidate without submodules. They therefore fail before
deriving requirements because libc/musl/COPYRIGHT is absent.

This blocks ABI validation and the protected ready-to-ship gate for PR
#1253 and any later change that selects the developer SDK product, even
when the candidate itself is valid.

What changed

  • Read the exact musl gitlink commit from the inert candidate tree.
  • Fetch that commit without credentials from the fixed repository URL in
    the protected checkout.
  • Apply the same materialization before the collector, request feed, and
    ready-to-ship merge-gate derivations.
  • Add mutation-tested workflow contracts for omission, ordering, and
    candidate-controlled transport.
  • Refresh the unchanged version-10 request-policy implementation digest.

Validation

  • Full ABI request-feed shell suite, including 23 focused Rust tests.
  • Protected PR-check, request-feed, and merge-gate mutation contracts.
  • Merge-candidate workflow contracts and YAML parsing.
  • Production-shaped no-submodule clone using PR Restore lightweight lazy shell and browser npm installs #1253 exact head:
    musl commit 0784374d561435f7c787a555aeab8ede699ed298,
    6,204-byte COPYRIGHT, and a clean parent checkout afterward.
  • Generated request-policy check and git diff --check.

No runtime, ABI layout, package artifact, or browser behavior changes.

Protected ABI jobs inspect candidate product manifests without executing\ncandidate code. The SDK product now hashes musl license data, but both\ninert candidate checkouts omitted submodule contents and failed before\nrequirements could be derived.\n\nMaterialize only the candidate\x27s exact musl gitlink through the fixed,\nprotected repository transport with credentials removed. Guard both\ncollector paths with mutation-tested workflow contracts and refresh the\nversion-10 implementation projection.
The ready-to-ship evidence gate independently derives requirements from\nan inert candidate checkout. Materialize the same exact musl gitlink from\nthe protected transport there, so the normal merge path does not retain\nthe missing-license-data failure fixed in the collector and request feed.\n\nAdd omission, ordering, and candidate-transport mutations, then refresh\nthe version-10 implementation projection.
@brandonpayton

Copy link
Copy Markdown
Member Author

Superseded by #1254. That PR now covers all three protected consumers (PR projection, request derivation, and merge-gate revalidation) through one credential-stripped, adversarially tested helper and request-policy version 11. Closing this duplicate so the two policy projections cannot race.

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