Skip to content

Add compareBranch to TitleAndDescriptionProvider for enhanced PR context#312326

Merged
alexr00 merged 5 commits into
microsoft:mainfrom
shaypet:Add-compare-branch-name-to-Copilot-PR-title-and-description-generation
Apr 29, 2026
Merged

Add compareBranch to TitleAndDescriptionProvider for enhanced PR context#312326
alexr00 merged 5 commits into
microsoft:mainfrom
shaypet:Add-compare-branch-name-to-Copilot-PR-title-and-description-generation

Conversation

@shaypet
Copy link
Copy Markdown
Contributor

@shaypet shaypet commented Apr 24, 2026

Adds compareBranch to the context passed to TitleAndDescriptionProvider.provideTitleAndDescription, and include it in the prompt sent to the model when generating a PR title and description.

Previously the model had no knowledge of which branch is merged, causing it to hallucinate branch names in the generated description. With this change, the user message sent to the model now includes: If merged brand contain X then Y.

Changes

  • githubPullRequest.d.ts: Added compareBranch? to the TitleAndDescriptionProvider context interface.
  • githubPullRequestTitleAndDescriptionGenerator.ts: Passes compareBranch through to the prompt renderer.
  • pullRequestDescriptionPrompt.tsx: Renders the branch name as a sentence at the start of the user message when either value is present.

Part of microsoft/vscode-pull-request-github#8662

copied pr from microsoft/vscode-copilot-chat#5083

Originally, the base branch was also exposed, but this feature was declined by the maintainers of the pull request extension repository.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the GitHub PR title/description generation prompt context in the Copilot extension by adding the source/compare branch name, so the model can reference the correct branch instead of hallucinating one.

Changes:

  • Extends TitleAndDescriptionProvider.provideTitleAndDescription context with compareBranch?: string (and aligns the type to also include template?: string).
  • Threads compareBranch through GitHubPullRequestTitleAndDescriptionGenerator into the prompt renderer.
  • Updates the PR description prompt to include the compare branch at the start of the user message when present.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
extensions/copilot/src/extension/prompts/node/github/pullRequestDescriptionPrompt.tsx Adds compare branch text to the generated user message sent to the model.
extensions/copilot/src/extension/prompt/node/githubPullRequestTitleAndDescriptionGenerator.ts Passes compareBranch through to prompt rendering.
extensions/copilot/src/extension/githubPullRequest.d.ts Updates the public provider context type to include compareBranch (and template).

shaypet and others added 3 commits April 28, 2026 18:38
@shaypet shaypet requested a review from alexr00 April 28, 2026 15:45
@alexr00 alexr00 assigned alexr00 and unassigned aeschli Apr 29, 2026
@alexr00 alexr00 added this to the 1.119.0 milestone Apr 29, 2026
@alexr00 alexr00 merged commit 0e01add into microsoft:main Apr 29, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants