feat: copilot-response accepts a dispatched PR and review - #32
Merged
Merged
Conversation
Adds pr-number and review-id inputs so the org dispatcher can start a Copilot-response round via workflow_dispatch (bootstrap v6 callers) instead of callers subscribing to pull_request_review. GitHub holds that subscription at action_required on every PR Copilot reviews, which leaves held runs on ordinary PRs. Empty inputs keep review-event mode for v5 callers, so this is backward compatible and merges first. In both modes the gate now treats the PR number and review id as identifiers only and re-reads everything it judges from the API. It also skips a review whose commit is no longer the PR head, and one already answered: push-response stamps review=<id> into the ai-meta marker of every comment it writes, and only the automation app's comments count.
Copilot started reviewing on behalf of
george-elphick-talieisin
September 24, 2026 07:43
View session
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The answered-review marker must be made reliable to prevent duplicate responses.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (1)
What changed in this PR
Updates the reusable Copilot response workflow for dispatcher-triggered reviews while preserving event-based compatibility.
Changes:
- Adds PR/review inputs and API-backed validation.
- Skips stale or already-answered reviews.
- Propagates validated metadata through response and push jobs.
| File | Summary |
|---|---|
.github/workflows/copilot-response.yml |
Adds dispatch handling, validation, deduplication, and metadata propagation. The answered marker is not reliably recorded after partial failures. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…ered push-response replies to each thread before it writes the marked summary comment, and that write is best-effort. A verdicts-only round whose summary failed would leave no marker and no head move, so the review could be answered twice.
Copilot started reviewing on behalf of
george-elphick-talieisin
September 25, 2026 11:40
View session
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.

Summary
pull_request_review, and GitHub holds the run for approval every time Copilot reviews a PR. So every PR Copilot reviews gets a held run with no jobs, including ordinary PRs where the gate would only skip it. The held runs stay on the head until merge, and have been seen alongside PRs reading UNSTABLE with every required check green (estimist PR 20), though it isn't proven they cause it.workflow_dispatch, and the v6 caller template drops thepull_request_reviewtrigger. This PR is the reusable workflow's half. It addspr-numberandreview-idinputs. When both are empty, the workflow uses the review event, so v5 callers keep working and this merges first.commit_idis no longer the head. With the dispatcher running hours late, findings could otherwise land on moved lines.review=<id>into theai-metamarker on every comment it posts, and the gate skips when one exists. Only comments fromtalieisin-org-automation[bot]count, so a pasted marker can't block a round.Rollout
BOOTSTRAP_VERSION6).Test plan
ghin 13 cases:ai-complete, no inline commentsai-completePR after merge (v5 path unchanged)Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.