Repository navigation
fix(queue): reconcile verified package source PRs - #80
Merged
Merged
Conversation
Signed-off-by: IanHollow <72767437+IanHollow@users.noreply.github.com>
Signed-off-by: IanHollow <72767437+IanHollow@users.noreply.github.com>
Signed-off-by: IanHollow <72767437+IanHollow@users.noreply.github.com>
Signed-off-by: IanHollow <72767437+IanHollow@users.noreply.github.com>
Signed-off-by: IanHollow <72767437+IanHollow@users.noreply.github.com>
Signed-off-by: IanHollow <72767437+IanHollow@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Expose verified package source-PR validation results to GitHub’s protected merge gate. Explicitly dispatched bot jobs exist in the Actions API but are absent from the PR rollup, preventing unattended source updates from entering the normal queue.
The shared reconciler gains an opt-in workflow-to-required-job map. It proves exact bot/repository/branch identity, actual parent ancestry, selected package/catalog ownership, and current protected workflow blobs before reporting real job outcomes. Genuine failures link their actual failed jobs; missing, running, skipped, stale, or untrusted evidence never becomes success. Existing synthetic queue reporting is unchanged.
Evidence
The live Claude source PR has successful native validation and an actual DCO failure omitted from its PR rollup. The new adapter rejects its stale workflow contract and identifies the exact failed DCO job without mutating the repository.
All 133 repository regressions and offline workflow/security validators pass, including 73 queue/source cases. Fixtures cover immutable identity and scope proofs, approval runs with zero jobs, real failure URLs, producer reruns during collection/publication, API errors, idempotence, and request budgets. Six idle source PRs require 103 reads and no writes; admitted-head scans require 12 reads; exact-head events inspect only the relevant source. Native Nix and representative caller checks are required before merge.
Merge danger
This changes privileged admission/reporting only for callers that explicitly enable package source checks. The representative caller must provide all protected job names and requested/in-progress notifications; it then regenerates bot branches from reviewed protected main. Normal expected-head admission and full merge-group validation still apply. No additional token permissions or caller-code execution are introduced. Rollback restores the previous shared commit and disables the source opt-in.
Closes #79.