Skip to content

Proposal: issue triage and duplicate detection automation - #11673

Open
Niels Laute (niels9001) wants to merge 4 commits into
microsoft:mainfrom
niels9001:issue-automation-spec
Open

Proposal: issue triage and duplicate detection automation#11673
Niels Laute (niels9001) wants to merge 4 commits into
microsoft:mainfrom
niels9001:issue-automation-spec

Conversation

@niels9001

@niels9001 Niels Laute (niels9001) commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • propose a phased WinUI issue-triage and duplicate-detection architecture adapted from PowerToys
  • define deterministic evidence, bounded model judgment, fail-closed validation, canonical comments, and a maintainer digest
  • document a public 50-issue fork pilot with links to exact-duplicate, incomplete-form, and feature-proposal examples
  • record that the legacy GitHub Models dedupe action returned HTTP 410 during a retirement brownout while still reporting success

Pilot

Public fork: https://github.com/niels9001/microsoft-ui-xaml

Deterministic run: https://github.com/niels9001/microsoft-ui-xaml/actions/runs/33071945420

Legacy GenAI comparison: https://github.com/niels9001/microsoft-ui-xaml/actions/runs/33071662766

This PR contains documentation only. The experimental workflows remain on the fork-only issue-automation-pilot branch.

Pilot screenshots

Exact-title duplicate clusterfork issue #4

GitHub Actions comment listing three high-confidence duplicate candidates

Incomplete bug formfork issue #5

GitHub Actions comment identifying an incomplete expected behavior field

Feature proposalfork issue #35

GitHub Actions comment recognizing a feature proposal

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 66b27de4-de61-4cb1-811d-2f32e190ea84
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 66b27de4-de61-4cb1-811d-2f32e190ea84
@niels9001
Niels Laute (niels9001) requested a review from a team as a code owner August 27, 2026 12:29
@microsoft-github-policy-service microsoft-github-policy-service Bot added the needs-triage Issue needs to be triaged by the area owners label Aug 27, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 66b27de4-de61-4cb1-811d-2f32e190ea84
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 66b27de4-de61-4cb1-811d-2f32e190ea84
Jaylyn Barbee (Jaylyn-Barbee) added a commit to Jaylyn-Barbee/microsoft-ui-xaml that referenced this pull request Aug 27, 2026
Implements the duplicate-detection portion of the issue-triage automation
proposal (microsoft#11673) so every opened, edited, or reopened issue is checked
against existing reports.

- .github/scripts/issue-triage/find_duplicates.py: deterministic retrieval
  and scoring. Bounded GitHub search retrieval (max 30 candidates), weighted
  title/body/identifier similarity, max 5 suggestions. No writes; fails
  closed on retrieval errors so nothing is published.
- .github/workflows/duplicate-issue-detection.yml: read-only detect job plus
  a separate issues:write publish job that re-checks issue state, maintains
  one canonical comment, and applies the possible-duplicate label. When no
  candidate clears the threshold, nothing is commented or labeled.
- Unit tests plus a PR workflow that runs them.
- Removes similar-issues-bot.yml, which is superseded; running both would
  post two bot comments per issue.

Version and metadata form sections are excluded from scoring so unrelated
reports on the same Windows build do not match. Issue text is treated as
untrusted: markup is stripped before scoring and mentions and Markdown
control characters are escaped before republishing. Third-party actions are
pinned to full commit SHAs.

Validated against the known duplicate cluster microsoft#11646-microsoft#11649: all three
duplicates returned at high confidence from 30 candidates, and four
unrelated open issues returned no candidates.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-triage Issue needs to be triaged by the area owners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant