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
Apply the Copilot ruleset change fleet-wide, once Request Copilot at Defined Moments and Cover Fix Pushes With an Attested Local Pass #2278 is on main. It sets review_on_push: false and review_draft_pull_requests: false. The change is in repo-config/develop.json and main.json only, so live rulesets keep reviewing on every push until the config run applies it. That run is an outward-facing write to every fleet repository and needs the maintainer's go-ahead. The maintainer also narrows the account-level automatic-review setting in the UI.
The maintainer merges into develop. The auto-mode classifier denies gh pr merge from an agent seat ("Merge Without Review"), even on a pull request that meets the gate. Hand over the exact command with --match-head-commit.
Copilot quota. Rounds ran at lite all day. Stop Requesting Copilot Into a Reached Rate Limit #2277 now stops wait from requesting into a reached limit, and it reads the reset time from the reviewer's own Actions run log. Until the ruleset change is applied, every push still spends a round.
Zero issues. Every question this round was answered as it arose: #2261's four design questions, the findings-count question on #2278, and the resolution of #2278's two evidence-backed declines.
Request Bot PR Reviews Judiciously, and Stop on a Quota or Rate Limit #2261, quota half, shipped in #2277. A generic "encountered an error" round reads as a possible quota hit. The reviewer's Actions run log (dynamic/agents/copilot-pull-request-reviewer) is read for errorType: 'rate_limit' and the reset time. wait no longer requests into either case, or under the repo-wide signal.
Deciding the quota stop from Q_LIVE. It carries no review bodies, so stopping_refusal never fired. The strict pass caught it, but the tests had not, because GqlCase.answer hands bodies to every query. Feed a body-less liveness payload first.
Mutation probes that call wait without --timeout 0. With sleep mocked they spin until the outer bound. Run each probe under setsid --wait timeout.
The rate-limit cause behind a generic Copilot error refusal is in the reviewer's own Actions run log. That is now in scripts/pr_review.py and scripts/README.md.
Next steps, in priority order
Re-read each issue and pull request rather than trusting these summaries.
793f50fb: status exit 0, 0 unresolved, CLEAN, checks 10/10. The maintainer merges it, since the classifier blocks an agent'sgh pr merge. Then open the develop -> main promotion carryingCloses #2256,#2260,#2261,#2268, and#2272, and drive it to mergeable. Done is a promotion meeting every Merge Gate item but the maintainer's go-ahead.review_on_push: falseandreview_draft_pull_requests: false. The change is inrepo-config/develop.jsonandmain.jsononly, so live rulesets keep reviewing on every push until the config run applies it. That run is an outward-facing write to every fleet repository and needs the maintainer's go-ahead. The maintainer also narrows the account-level automatic-review setting in the UI.PATHquestion oninstall-tools.sh, which has two options and may want adecisionlabelExternal blockers
gh pr mergefrom an agent seat ("Merge Without Review"), even on a pull request that meets the gate. Hand over the exact command with--match-head-commit.waitfrom requesting into a reached limit, and it reads the reset time from the reviewer's own Actions run log. Until the ruleset change is applied, every push still spends a round.bootstrap.ps1check carried from Session Handoff [default]: WORKFLOW.md Corrections and the pyproject.toml Decision Released as 2.0.672 #1804.Internal dependencies
waitwould hold fix pushes while the docs on main still say to request on every push.auto-2112heredoc work. Decide How the Unattended Picker Recognizes an Adopted Lesson #2183 comes before Close the Unattended Loop's Parking-Comment and Interrupted-Park Gaps #2184.State
7e4eb6da, release 2.0.799. develop is at5a814c1a, carrying Correct the False No-Vocabulary Claims About Environment Secrets #2271, Let a Copilot File Table Carry Forward on an Identical File Set #2276, Return Zero From install-tools.sh Tool Selection and Hide the Home Directory in Notes #2275, and Stop Requesting Copilot Into a Reached Rate Limit #2277 since main. No promotion PR is open.feature/review-moments-2261, in its own worktree. It is this session's, and its branch is current with develop.auto-2176(Session Handoff [auto-2176]: Qualify D4.7's Pending-Run Gaps on the Dispatched Run Sharing the Concurrency Group per #2176 #2219),auto-2167(Session Handoff [auto-2167]: Match a Wildcard Row in Copilot's File Table Against the Changed Files per #2167 #2213),auto-2157(Session Handoff [auto-2157]: Drop the Path Argument From the VS Code Tasks Snippet's Mypy Swaps per #2157 #2211),auto-2080(Session Handoff [auto-2080]: Read an eval Argument as a Wait-Loop Payload in the Guard per #2080 #2137),auto-1634(Session Handoff [auto-1634]: Narrow Nested timeout Handling per #2056 #2072, PR Deny a Signal-0 timeout as a Wait Bound in the Guard #2117), andpython-contract(Session Handoff [python-contract]: Escaped and Folded python-directories Values Refused, Released as 2.0.738 #2014). Re-derive withhandoff.py tracks,gh pr list, andgit worktree list.The parked decision queue
Zero issues. Every question this round was answered as it arose: #2261's four design questions, the findings-count question on #2278, and the resolution of #2278's two evidence-backed declines.
What the last round did
coverage=carried:tableand exit 0.install-tools.shno longer exits 1 silently, and its notes hide the home directory.dynamic/agents/copilot-pull-request-reviewer) is read forerrorType: 'rate_limit'and the reset time.waitno longer requests into either case, or under the repo-wide signal.pr_review.py attestpublishes a recorded local pass, with its findings count, bound to the head and the base.statusreadsreview_on_head=local.waitholds fix pushes on non-default-base pull requests and exits49until the push is attested.What not to repeat
test_tooling_encoding) failed in CI on Request Copilot at Defined Moments and Cover Fix Pushes With an Attested Local Pass #2278 and cost a round. Runpython3 -m unittest discover -s testsfrom the worktree root. A module-scoped run from the root also mis-importstest_configure_model.Q_LIVE. It carries no review bodies, sostopping_refusalnever fired. The strict pass caught it, but the tests had not, becauseGqlCase.answerhands bodies to every query. Feed a body-less liveness payload first.waitwithout--timeout 0. Withsleepmocked they spin until the outer bound. Run each probe undersetsid --wait timeout.New learnings
scripts/pr_review.pyandscripts/README.md.