microsoft / microsoft/winget-pkgs

[New Feature]: Agentic PR triage for winget-pkgs (tracking)

Open
#411,014 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
No language data
Stars
11.1k
Forks
9.7k
Avg merge
1h 32m
Merged PRs (30d)
616

Description

### Description of the new feature/enhancement

Parent **tracking** issue for _agentic PR-triage_ workers on winget-pkgs: recommend-only agents that read the validation pipeline output and post a **specific, diagnosed** comment to help PR authors fix their submission (and give moderators the evidence to make a human call), instead of the generic canned reply.

The first two workers establish the pattern:

- #410705 / PR #410706 — `Validation-Missing-Dependency` author-assist.
- #411124 / PR #411804 — wingetbot auto-update moderator-assist.

Both are built with **gh-aw** (GitHub Agentic Workflows), recommend-only, and idempotent per head SHA.

**Guardrails common to every worker in this family:**
- Recommend-only — never merge, approve, label-away, or waive; humans keep final judgment.
- Abort on any security label (Defender / virus-scan / SmartScreen / hash-flagged / binary-validation).
- Never post `@wingetbot` triggers.
- Never expose raw installer URLs in comments — provide hostname/breadcrumb context and prefer version-specific URLs.
- Each candidate gets an against-real-PRs pilot before it is built.

### Candidate workers (sub-issues)

- [x] #410705 — Validation-Missing-Dependency assist — shipped in PR #410706.
- [ ] #328386 — Manifest Validation Responses.
- [ ] #411059 — Unexpected-File (name the stray file(s) to remove).
- [x] #411124 — wingetbot auto-update PR triage — shipped in PR #411804.
- [ ] #346124 — Possible Duplicate Detection.
- [ ] #322306 — Comment on PRs with Icon metadata.
- [ ] #330103 — Handle mismatched casing better.

### Deployed-workflow follow-up

The wingetbot workflow currently treats `Validation-Forbidden-URL-Error` as though it may be the HTTP 403/406 validation-service reachability case tracked by #408472. These are distinct:

- `URL-Validation-Error` with a normal-client-success/service-403 result is the proposed #408472 waiver scenario.
- `Validation-Forbidden-URL-Error` is an intentionally blocked endpoint and should be escalated, not treated as routine waiver eligibility.

Correcting the workflow source and recompiling the lock file requires a follow-up CI/CD change.

### Proposed technical implementation details (optional)

Workers are authored as gh-aw `.md` files under `.github/workflows/` and compiled to paired `.lock.yml` with `gh aw compile`. Repo Actions permissions are already hardened (`allowed_actions: selected`). Each worker self-declares least-privilege token scopes; `default_workflow_permissions` stays `read`.

_Created and maintained with GitHub Copilot assistance._

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the unchecked candidate sub-issues and the existing worker files under .github/workflows/. Read the deployed wingetbot workflow and the gh-aw compilation process, including `gh aw compile` and its paired lock files. Because this is a tracking issue with work already shipped elsewhere, completion depends on selecting and implementing a specific sub-issue rather than this issue alone defining a done state.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, devops, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.