Problem
scripts/pr_review.py status detects a Copilot request that was never picked up and instructs the agent to "clear the request and re-request, per the runbook." The GitHub Copilot Review Runbook in .github/copilot-instructions.md does not document how to perform either mutation.
The script itself can add a request through wait, but it deliberately skips that mutation while the reviewer remains in the pending request set. It has no command that clears a stalled request.
Observed evidence
Promotion PR #867 reported REQUEST NOT PICKED UP with no copilot_work_started event. Reading the named runbook found no clear-and-re-request procedure. Recovery required discovering and running these provider-specific commands outside the documented path:
gh pr edit <pr> --repo <owner/repo> --remove-reviewer copilot-pull-request-reviewer
gh pr edit <pr> --repo <owner/repo> --add-reviewer copilot-pull-request-reviewer
Expected behavior
Either scripts/pr_review.py should own a safe recovery command that resolves all identifiers live, or the runbook should document the exact supported commands. The status output must point to a procedure that exists so an unattended review loop does not stop on an incomplete instruction.
Problem
scripts/pr_review.py statusdetects a Copilot request that was never picked up and instructs the agent to "clear the request and re-request, per the runbook." The GitHub Copilot Review Runbook in.github/copilot-instructions.mddoes not document how to perform either mutation.The script itself can add a request through
wait, but it deliberately skips that mutation while the reviewer remains in the pending request set. It has no command that clears a stalled request.Observed evidence
Promotion PR #867 reported
REQUEST NOT PICKED UPwith nocopilot_work_startedevent. Reading the named runbook found no clear-and-re-request procedure. Recovery required discovering and running these provider-specific commands outside the documented path:Expected behavior
Either
scripts/pr_review.pyshould own a safe recovery command that resolves all identifiers live, or the runbook should document the exact supported commands. The status output must point to a procedure that exists so an unattended review loop does not stop on an incomplete instruction.