Cloud coding agent opens empty PR when invoked from a fork-backed PR review comment
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
Describe the bug
Product
GitHub Copilot cloud coding agent (app/copilot-swe-agent), triggered from review feedback on a fork-backed pull request. This may need routing to the hosted coding-agent workflow owners.
Summary
When Copilot was started from a review comment on a fork-backed pull request, it created a draft PR from upstream main instead of the reviewed PR’s fork head. The requested file existed only in the reviewed PR, so the agent could not change it. It nevertheless opened an empty draft PR with an empty Initial plan commit.
Reproduction
- Open a PR from a personal fork to an upstream repository.
- Add review feedback about a file introduced by that PR and absent from upstream
main. - Start Copilot coding agent from that review comment.
- Copilot creates its branch from upstream
mainrather than the reviewed PR head.
Actual behavior
- Reviewed PR: https://github.com/microsoft/rushstack/pull/5949
- Empty Copilot PR: https://github.com/microsoft/rushstack/pull/5951
- Copilot branch:
microsoft:copilot/fix-review-comment-5949 - Base SHA:
d563d6a09ebef0be1ff274faf8c1008767166875 - Head SHA:
7c5a2f29b89b8a8e59da5521ececbb918bd3f5e5 - Result: 0 changed files, 0 additions, 0 deletions.
- The head commit is titled
Initial planand is provably empty: both the head and parent tree SHA are65487a74d0cb345023b9aebe08aa233d79e1097d. - The timeline records
copilot_work_startedandcopilot_work_finisheddespite producing no change.
The reviewed file, libraries/rush-daemon/src/test/WorkspaceEngineComponentFactory.test.ts, existed only on PR #5949’s fork head and not on upstream main.
Expected behavior
For review-comment tasks on fork-backed PRs, Copilot should either:
- Base its work on the reviewed PR’s exact head; or
- Stop before creating a PR and report that fork-head access is unsupported.
Copilot should never publish a zero-diff PR when its head and base trees are identical.
Suggested safeguards
- Preserve the reviewed PR head SHA when launching from inline review feedback.
- Verify that the referenced file and line exist in the selected base.
- Compare head and base trees before publishing; suppress an identical-tree PR.
- Report an explicit unsupported-fork error instead of silently falling back to upstream
main.
Affected version
No response
Steps to reproduce the behavior
No response
Expected behavior
No response
Additional context
No response
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず PR #5949 の fork head と upstream main を比較します。特に libraries/rush-daemon/src/test/WorkspaceEngineComponentFactory.test.ts を確認し、空の PR #5951 とその Initial plan コミットを調査します。hosted coding-agent workflow における fork ベースの PR の、レビューコメントから起動に至る経路を追跡します。fork head を保持するか明示的に拒否し、同一の tree を持つ PR が公開されるのを防止できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github
- 領域
- cloud, devtools
- issue の種類
- バグ
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100