Repository navigation
fix(review): retain fork CI and GitHub merge evidence - #538
Merged
Merged
Conversation
This was referenced Nov 1, 2026
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.
Closes #495
What was wrong
Fork pull-request workflow runs can have an empty
pull_requestsarray despite matching the requested head SHA and event. The snapshot discarded those runs, includingaction_requiredresults, and omitted GitHub's own mergeability assessment when no local objects were available.The change
Accept an explicitly empty association list only with the exact head and
pull_requestevent, while rejecting malformed or contradictory associations. Record whether evidence uses an explicit association or exact-head matching. Preserve run status/conclusion and explain filtered candidates.Query and report
githubMergeseparately from the optional isolated local probe, including its base ref/SHA and whether that matches the requested base. Unknown results remain partial; conflict-free changes do not imply review or policy approval. Bilingual CLI documentation describes these distinctions. No resident schemas, new dependencies, or GitHub mutations are added to the CLI.Validation
Baseline with the new regressions:
node test/run.mjs review-snapshotfailed 3 of 7 checks (fork CI, approval state, missing GitHub mergeability).After the fix:
Coverage includes empty/malformed/contradictory associations, wrong SHA/event rejection, approval/queued/in-progress states, conflicting/unknown/policy-blocked merge states, different requested bases, and the existing local merge isolation checks.
Own
pull_requestCI at headfa7dd60: https://github.com/T-Auto/dsh-ops/actions/runs/41329509620 — all 9 executed jobs passed, including Windows x64, Linux x64, macOS arm64/Intel andCI required; the opt-in benchmark smoke was skipped. GitHub reports the PR mergeable.Read-only live validation against fork PRs #531, #515 and #503 correctly recovered their successful exact-head runs with empty association arrays and reported GitHub's conflict/policy-blocked states. Their reported PR-base SHAs differ from the requested latest main, so the overall snapshot conservatively remains partial instead of overstating current-base evidence.
Environment
Windows x64, Node 26.12.1, source worktree based on main
065cd7fba266a24ffded20c78a404860c033ba72.