You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Copilot Refuses a Pull Request Carrying Only Default-Excluded Files, and No Rule Covers It #2180
A pull request whose only changed file is in Copilot's default review exclusions, a uv.lock for example, gets a Copilot review that reads "Copilot wasn't able to review any files in this pull request". pr_review.py status reports it as refusal=YES and exits wait with REVIEW_IS_A_REFUSAL. The only remedy it names is splitting the pull request, which applies to a file-count refusal and not to this one. Re-requesting repeats the refusal on the same head, so no Copilot round can ever cover such a pull request.
Neither pr-review-conduct's Merge Gate nor GOVERNANCE.md "PR Review Etiquette" says what closes the gate here. A drive stops and has to ask the maintainer ad hoc. In ptr727/HomeAutomation-Config#629, a forward sync of a Dependabot security bump to CloudInit/uv.lock, the maintainer approved merging on CI plus the local-strict-review pass.
Reproduce
Open a pull request that changes only a uv.lock (or any other default-excluded file), let Copilot review it, and run pr_review.py status <N> --repo <owner>/<repo>.
What would close it
pr_review.py recognizes the excluded-files refusal separately from the file-count one, and names its own remedy.
The Merge Gate states what stands in for the Copilot round on such a pull request, or says that it always escalates to the maintainer.
Decision triage split the undecided item out of this issue into #3740, which carries the decision label. Everything else here stays as ordinary work an agent can do without the maintainer.
Maintainer answer to the split decision #3740 (decision triage, 2026-11-01): Option 1: read Copilot's excluded-files refusal as its own refusal kind that does not block local_cover, so the attested local strict pass covers such a PR into a non-default branch. A PR into the default branch still goes to the maintainer.
Released (2026-11-01): worktree and branch removed, so this claim holds no files. Its fix merged to develop in PR #3775. The issue closes when that is promoted.
.agents/skills/pr-review-conduct/SKILL.md and its generated trees (.github/skills/pr-review-conduct/, .claude-plugin/fleet-skills/skills/pr-review-conduct/, .claude-plugin/fleet-skills/.source-digests/pr-review-conduct)
drive-pr generated trees (included section), GOVERNANCE.md "PR Review Etiquette", .github/copilot-instructions.md
Released (2026-11-01): worktree and branch removed, so this claim holds no files. Its fix merged to develop in PR #3782.
Backlog burndown claim (round 1, promotion fix 2). Branch: feature/burn-3778-fix2. This fixes the #3778 round-2 finding on polled_past: under --request, wait does not read past an excluded-files refusal while a review request is pending. That gap came in with the #2180 fix in #3775.
Activity
ptr727 commentedon Nov 1, 2026
Decision triage split the undecided item out of this issue into #3740, which carries the
decisionlabel. Everything else here stays as ordinary work an agent can do without the maintainer.ptr727 commentedon Nov 1, 2026
Maintainer answer to the split decision #3740 (decision triage, 2026-11-01): Option 1: read Copilot's excluded-files refusal as its own refusal kind that does not block local_cover, so the attested local strict pass covers such a PR into a non-default branch. A PR into the default branch still goes to the maintainer.
ptr727 commentedon Nov 1, 2026
Released (2026-11-01): worktree and branch removed, so this claim holds no files. Its fix merged to develop in PR #3775. The issue closes when that is promoted.
Backlog burndown claim (round 1, group G1). Branch:
feature/burn-3758. Issues: #3758, #3571, #2180, #3732, #3713, #3726.Predicted file set:
scripts/pr_review.py,scripts/pr_review_rounds.py,scripts/pr_review_copilot.py,scripts/reviewers/copilot.jsontests/test_pr_review.py,tests/test_pr_review_copilot.py.agents/skills/pr-review-conduct/SKILL.mdand its generated trees (.github/skills/pr-review-conduct/,.claude-plugin/fleet-skills/skills/pr-review-conduct/,.claude-plugin/fleet-skills/.source-digests/pr-review-conduct)drive-prgenerated trees (included section),GOVERNANCE.md"PR Review Etiquette",.github/copilot-instructions.mdRead Copilot's Excluded-Files Refusal as Its Own Kind and Align Merge…
ptr727 commentedon Nov 1, 2026
Released (2026-11-01): worktree and branch removed, so this claim holds no files. Its fix merged to develop in PR #3782.
Backlog burndown claim (round 1, promotion fix 2). Branch:
feature/burn-3778-fix2. This fixes the #3778 round-2 finding onpolled_past: under--request,waitdoes not read past an excluded-files refusal while a review request is pending. That gap came in with the #2180 fix in #3775.Predicted file set:
scripts/pr_review.py,scripts/pr_review_rounds.pytests/test_pr_review.pyPoll a Pending Request Past an Excluded-Files Refusal Under --request (…