[ci-scan-feedback] Add build-break invariant-phrase dedup variation to KBE authoring
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
## Triggering signals
- **#132545, #132560, #132614, #132648, #132656** — the same PAL-tests `SYSTEM_ACCESSTOKEN` "Send-to-Helix" build break filed 5× over three days under drifting titles ("Send-to-Helix" / "Send to Helix" / "Send job to Helix"). Rubric finding: build breaks carry no test name, so dedup variations 1–7 (all keyed on a test/assertion) never match. ([#132545](https://github.com/dotnet/runtime/issues/132545))
- **#132559, #132647** — Mono AOT `JIT.Generics_ro` recursive-generic build break filed 2× under drifting leg descriptors, same root cause as above. ([#132559](https://github.com/dotnet/runtime/issues/132559))
- Scanner quality rubric: `scan_wrong_rate_30d = 10/35 = 29% 🔴`, duplicate-dominated (9 of 10 wrong closures are `duplicate`), plus 7 open build-break dupes still outstanding.
- Prior tick proposed this dedup edit but it was **never landed** (no merged PR; #132669 is a tracking issue only), so the storm grew.
## Proposed edits
- `.github/workflows/shared/create-kbe.instructions.md:65-88` — add dedup **search variation 8**: for build breaks (no test name), search on the invariant error phrase with variable tokens stripped + the leg root; on match record `existing-kbe #`, otherwise `skipped: build-break dup #, needs human review` when the leg root is unconfirmed. Rationale: closes the gap that lets `SYSTEM_ACCESSTOKEN` / `JIT.Generics_ro` re-file under drifting titles.
- `.github/workflows/ci-failure-scan.md:309,357` — add `build-break dup #, needs human review` to the Step 5 recorded-outcomes list and the Step 6 Recognized skip-reason values so the new variation's tally row stays in-vocabulary.
## Expected behavior change
The next scanner run that re-encounters a build break already filed as a KBE will match it via the invariant-phrase search even though the title/leg prose has drifted and there is no test name to key on, recording `existing-kbe #` (or a bounded `build-break dup` skip when the leg root is unconfirmed) instead of opening yet another duplicate — collapsing the `SYSTEM_ACCESSTOKEN`/`JIT.Generics_ro` re-file storms and lowering the duplicate-driven 29% wrong-closure rate.
> [!NOTE]
> This pull request was generated by an AI agent (GitHub Copilot).
> Generated by [CI Outer-Loop Failure Scanner — Feedback](https://github.com/dotnet/runtime/actions/runs/32731248384) · opus48 · 520.5 AIC · ⌖ 26.5 AIC · ⊞ 20.6K · [◷](https://github.com/search?q=repo%3Adotnet%2Fruntime+%22gh-aw-workflow-id%3A+ci-failure-scan-feedback%22&type=pullrequests)
---
> [!NOTE]
> This was originally intended as a pull request, but the git push operation failed.
>
> **Original error:** The process '/usr/bin/git' failed with exit code 1
>
> **Workflow Run:** [View run details and download bundle artifact](https://github.com/dotnet/runtime/actions/runs/32731248384)
>
> The bundle file is available in the `agent` artifact in the workflow run linked above.
To create a pull request with the changes:
```sh
# Download the artifact from the workflow run
gh run download 32731248384 -n agent -D /tmp/agent-32731248384
# Fetch the bundle into a temporary ref, then update the local branch
git fetch /tmp/agent-32731248384/aw-ci-scan-feedback-buildbreak-dedup-2026-08-24.bundle refs/heads/ci-scan-feedback-buildbreak-dedup-2026-08-24:refs/bundles/create-pr-ci-scan-feedback-buildbreak-dedup-2026-08-24-f0e3eef11fcf8708-d24c1a3c
git update-ref refs/heads/ci-scan-feedback-buildbreak-dedup-2026-08-24-f0e3eef11fcf8708 refs/bundles/create-pr-ci-scan-feedback-buildbreak-dedup-2026-08-24-f0e3eef11fcf8708-d24c1a3c
git checkout ci-scan-feedback-buildbreak-dedup-2026-08-24-f0e3eef11fcf8708
# Ensure the working tree matches the updated branch
git reset --hard
# Remove the temporary bundle ref
git update-ref -d refs/bundles/create-pr-ci-scan-feedback-buildbreak-dedup-2026-08-24-f0e3eef11fcf8708-d24c1a3c
# Push the branch to origin
git push origin ci-scan-feedback-buildbreak-dedup-2026-08-24-f0e3eef11fcf8708
# Create the pull request
gh pr create --title '[ci-scan-feedback] Add build-break invariant-phrase dedup variation to KBE authoring' --base main --head ci-scan-feedback-buildbreak-dedup-2026-08-24-f0e3eef11fcf8708 --repo dotnet/runtime
```
Contributor guide
Research direction
Read .github/workflows/shared/create-kbe.instructions.md lines 65-88 and .github/workflows/ci-failure-scan.md lines 309 and 357. Check how existing dedup variations and recorded outcomes are phrased, then add the specified build-break variation and vocabulary entries. Done means recurring invariant-phrase build breaks record an existing KBE or the bounded human-review skip outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, markdown
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100