fix(review): collect GitHub Copilot reviewer threads - #3353
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedNext included review available in 12 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 82 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Essentials Run ID: 📒 Files selected for processing (8)
Comment |
|
MERGE HOLD — closer-owned source review-debt successor at exact head 6df141a. Do not merge or enable auto-merge until the head is unchanged, the seven-minute post-push review window has elapsed, required checks pass, the complete active non-outdated review-thread count is zero, and substantive review evidence is consumed. Ordered continuation: merge #3353 first; rerun the default-branch handler once on #3352 and verify its exact thread result; only then may #3352 pass its own merge gates and source-delta rollout. |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
🟡 Changes recommended
The handler’s allowlists and related tests/docs should also account for the copilot-pull-request-reviewer[bot] variant (policy/fixtures already recognize both), otherwise some Copilot reviewer threads can still be missed by default.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR updates the bot comment handler surfaces so GitHub Copilot review threads authored by the copilot-pull-request-reviewer login are collected reliably, and so the canonical Workflows caller no longer ignores templates/ (keeping source-template review debt in scope). It also adds/updates documentation and tests to pin the expected identities and scope rules.
Changes:
- Extend bot-author allowlists (workflow input defaults + shared handler defaults) to include
copilot-pull-request-reviewer. - Update the canonical
agents-bot-comment-handler.ymlcaller to stop ignoringtemplates/. - Document and test the updated identities/scope behavior.
File summaries
| File | Description |
|---|---|
tests/workflows/test_bot_comment_handler.py |
Adds assertions covering the updated reusable defaults and canonical ignored-path behavior. |
templates/consumer-repo/.github/scripts/bot-comment-handler.js |
Updates consumer-template handler defaults to recognize the Copilot reviewer login. |
docs/WORKFLOW_GUIDE.md |
Notes Copilot reviewer identity support in the reusable handler description. |
docs/bot-comment-handler.md |
Documents the Copilot pull-request reviewer identity as a default bot author. |
.github/workflows/reusable-bot-comment-handler.yml |
Adds copilot-pull-request-reviewer to bot_authors defaults for both dispatch + call triggers. |
.github/workflows/agents-bot-comment-handler.yml |
Removes templates/ from ignored_paths so template review threads remain in scope. |
.github/scripts/bot-comment-handler.js |
Updates shared handler defaults to recognize copilot-pull-request-reviewer. |
.github/scripts/__tests__/bot-comment-handler.test.js |
Extends unit coverage for the default allowlist recognizing canonical review bots. |
Review details
Suppressed comments (3)
.github/scripts/bot-comment-handler.js:14
- The allowlist only includes
copilot-pull-request-reviewer, but this repo’s reviewer policy recognizes bothcopilot-pull-request-reviewerandcopilot-pull-request-reviewer[bot](see config/consumer_sync_review_policy.json). SincenormalizeLogin()only lowercases, any threads authored by the[bot]variant would be missed byisBotAuthor()/ collection.
const DEFAULT_BOT_AUTHORS = Object.freeze([
'copilot[bot]',
'copilot-pull-request-reviewer',
'github-actions[bot]',
'coderabbitai[bot]',
'chatgpt-codex-connector',
'chatgpt-codex-connector[bot]',
]);
templates/consumer-repo/.github/scripts/bot-comment-handler.js:14
- Same allowlist gap as the Workflows copy: if GitHub emits
copilot-pull-request-reviewer[bot]for some review threads, it won’t match because logins are only lowercased/trimmed. Including the[bot]variant here keeps consumer template behavior aligned with the repo’s reviewer policy.
const DEFAULT_BOT_AUTHORS = Object.freeze([
'copilot[bot]',
'copilot-pull-request-reviewer',
'github-actions[bot]',
'coderabbitai[bot]',
'chatgpt-codex-connector',
'chatgpt-codex-connector[bot]',
]);
.github/workflows/reusable-bot-comment-handler.yml:74
- Same default allowlist issue for the
workflow_callinput: includecopilot-pull-request-reviewer[bot]alongsidecopilot-pull-request-reviewerso callers that don’t overridebot_authorsstill collect all Copilot reviewer threads.
default: >-
Copilot,copilot[bot],copilot-pull-request-reviewer,
github-actions[bot],coderabbitai[bot],
chatgpt-codex-connector,chatgpt-codex-connector[bot]
- Files reviewed: 8/8 changed files
- Comments generated: 5
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
Fallback-review disposition: Cursor returned approve with no P0/P1 blockers on e2fa993. Its valid P2 noted the fleet already recognizes the copilot-pull-request-reviewer[bot] identity; exact head 6df141a now adds that variant to both workflow defaults, both shared script copies, tests, and docs. The reported stacked-branch risk came from the reviewer's stale local main ref; live PR evidence shows base cfd28de and this two-commit branch only. Focused tests, template sync/completeness, actionlint, Ruff, Black, parity, and diff checks pass. @codex review |
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
🟢 Approval recommended
The changes are narrow, consistent across workflow defaults/scripts/templates, and are backed by updated Node/Python regressions that align with the stated incident.
Review details
- Files reviewed: 8/8 changed files
- Comments generated: 0 new
- Review effort level: Lite
Workflow source neededPR #3353 needs either a linked GitHub issue or one valid non-issue Workflow Source before PR metadata automation can manage it safely. Please do one of:
Once a valid source is present, this warning will not be reposted. |
Automated Status SummaryHead SHA: 0c8bf2d
Coverage Overview
Coverage Trend
Top Coverage Hotspots (lowest coverage)
Low Coverage Files (<50.0%)
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeNo scope information available Tasks
Acceptance criteria
|
Provider Comparison ReportProvider Summary
📋 Full Provider Details (click to expand)openai
anthropic
Agreement
Disagreement
Unique Insights
🔍 LangSmith Traces |
Summary
Incident evidence
Handler run 33841911951 executed reusable-bot-comment-handler.yml from main at 484cac1 and reported no-unresolved-bot-comments for PR #3352. A complete exact-head GraphQL query after that scan still showed active threads PRRT_kwDOQprj9M6fLW7x and PRRT_kwDOQprj9M6fLW7_. The run log showed the allowlist omitted copilot-pull-request-reviewer and the Workflows caller ignored templates/.
This bounded successor is assigned to those exact review-debt threads. After it lands on main, rerun the handler once on #3352 and consume the terminal artifact plus a complete reviewThreads query.
Validation
Merge order
Closer-owned source repair. Keep ready for review with auto-merge disabled. Merge only at unchanged exact head after the seven-minute review window, passing required checks, complete zero active non-outdated review threads, and substantive review evidence. This repair must land before rerunning the #3352 handler; #3352 remains held.