Add Duplicate Surfacing agentic workflow (pilot from winget-cli) - #687
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
This comment has been minimized.
This comment has been minimized.
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
🟡 Not ready to approve
The workflow’s activation/permission model appears misaligned with “run on new issues” expectations for public issue reporters, and the generated workflow grants broader write permissions than necessary (PR write) for an issues-only workflow.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Pull request overview
This PR adds the Duplicate Surfacing GitHub Agentic Workflow to winget-create, mirroring the pilot already used in winget-cli, so new issues can be scanned for likely duplicates and (optionally) labeled/commented for maintainer review.
Changes:
- Adds the Duplicate Surfacing agentic workflow source (
duplicate-surfacing.md) and its compiled lock workflow (duplicate-surfacing.lock.yml). - Adds the agentic workflow actions lockfile (
.github/aw/actions-lock.json) and marks lock workflows as generated in.gitattributes. - Updates the spelling action configuration (exclude compiled artifacts; allow a few workflow-specific terms).
File summaries
| File | Description |
|---|---|
| .github/workflows/duplicate-surfacing.md | New agentic workflow source that guides duplicate detection and restricts outputs to label/comment. |
| .github/workflows/duplicate-surfacing.lock.yml | Generated compiled workflow implementing the agentic workflow runtime and safe-outputs handling. |
| .github/aw/actions-lock.json | Pins the gh-aw setup action SHA used during compilation. |
| .github/actions/spelling/excludes.txt | Excludes gh-aw compiled artifacts and lock workflows from spellchecking noise. |
| .github/actions/spelling/allow.txt | Adds allowed workflow-specific tokens that appear in the workflow text. |
| .gitattributes | Marks lock workflows as generated and configures merge behavior for them. |
Review details
- Files reviewed: 5/6 changed files
- Comments generated: 2
- Review effort level: Low
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
Ports the gh-aw Duplicate Surfacing workflow from microsoft/winget-cli (PRs #6400, #6408, #6410) to winget-create. On newly opened issues, an agent searches existing issues and, when it finds a likely duplicate, applies the Possible-Duplicate label and posts an advisory comment for maintainer review. It never closes issues or applies duplicate-close triggers (detect-only). Includes the two winget-cli refinements: no-op runs are not reported as tracking issues (noop.report-as-issue: false), and search guidance mandates high-recall in:title queries to surface old, sparse-body duplicates. Adds autodetect, noop, PreIndexedPackage, and toolsets to the spelling allow list for the workflow prompt text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3701d64a-96ba-42f1-be59-b4e7d2a2820a
The compiled duplicate-surfacing.lock.yml and .github/aw/ artifacts are machine-generated (marked linguist-generated) and embed tool names, CA bundle identifiers, and other tokens that are not real English words. Exclude them from Check Spelling rather than polluting the dictionary. Also allow the #NNN placeholder used in the workflow prompt text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3701d64a-96ba-42f1-be59-b4e7d2a2820a
67a4fd7 to
7e6b7e4
Compare
📖 Description
Ports the Duplicate Surfacing agentic workflow (
gh aw) from microsoft/winget-cli (PRs #6400, #6408, #6410) towinget-create.When a new issue is opened, an agent searches existing issues and, if it finds a likely duplicate, applies a
Possible-Duplicatelabel and posts an advisory comment linking the candidate for maintainer review. It is detect-only — it never closes issues or applies duplicate-close triggers.This is the first Tier-1 pilot of rolling the workflow out across the winget repo family. Both winget-cli refinements are included:
noop.report-as-issue: false).in:titlequeries so old, sparse-body duplicates surface reliably.Changes:
.github/workflows/duplicate-surfacing.md— agentic workflow source (portable via${{ github.repository }})..github/workflows/duplicate-surfacing.lock.yml+.github/aw/actions-lock.json+.gitattributes— compiled artifacts (gh aw compile)..github/actions/spelling/allow.txt— addsautodetect,noop,PreIndexedPackage,toolsets.Possible-Duplicatelabel (amber#FBCA04) has been created on the repo.Created with GitHub Copilot assistance.
🔗 References
Resolves #686
Origin implementation: microsoft/winget-cli #6400, #6408, #6410.
🔍 Validation
gh aw compile duplicate-surfacingcompletes with 0 errors / 0 warnings.gh aw trialreplay against winget-create issues to follow.✅ Checklist
📋 Issue Type
Microsoft Reviewers: Open in CodeFlow