Skip to content

[ci-scan-feedback] Add pipeline-category gate to fixer prompt - #129611

Merged
vitek-karas merged 4 commits into
mainfrom
copilot/ci-scan-feedback-add-pipeline-category-gate
Jun 29, 2026
Merged

[ci-scan-feedback] Add pipeline-category gate to fixer prompt#129611
vitek-karas merged 4 commits into
mainfrom
copilot/ci-scan-feedback-add-pipeline-category-gate

Conversation

Copilot AI commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

The CI failure fixer ignored the advisory fix-policy table and opened a help-wanted PR proposing a product-code workaround for a PGO codegen bug (#129360). The fix-policy table listed JIT/GC/PGO codegen as out-of-bounds, but nothing enforced it.

Changes

  • .github/workflows/ci-failure-fix.md — Inserted a mandatory Step 5.1.1 "Pipeline-category gate" between the fix-policy table (Step 5.1) and the fix-attempt step (Step 5.2). The gate:
    • Parses the KBE's pipeline metadata: build definition id (from the Build: link / AzDO API) plus the pipeline/definition name and failing-leg name.
    • Treats the KBE as JIT/GC/PGO stress — out of bounds for any fix or workaround PR — when the definition id is in 109160, 230, or 235, or the name/leg matches (case-insensitive) jitstress|gcstress|pgo|r2r|superpmi|jit-cfg|jit-experimental|interpreter.
    • Short-circuits matching KBEs directly to the loop-in comment path (Step 5.5), explicitly forbidding both product fixes and sidestep workarounds (e.g. buffer-size normalization), and records a routing reason.
    • Otherwise falls through to Step 5.2 unchanged.

This converts the existing fix-policy table from advisory to enforceable, routing codegen-stress KBEs to a loop-in comment instead of an out-of-bounds workaround PR.

Notes

  • Prompt-only change. ci-failure-fix.lock.yml imports the markdown at runtime via {{#runtime-import .github/workflows/ci-failure-fix.md}}, so no lock-file recompilation is required.

Copilot AI requested review from Copilot and removed request for Copilot June 19, 2026 08:46
Co-authored-by: kotlarmilos <11523312+kotlarmilos@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot June 19, 2026 08:51
Copilot AI changed the title [WIP] Add pipeline-category gate to fixer prompt [ci-scan-feedback] Add pipeline-category gate to fixer prompt Jun 19, 2026
Copilot AI requested a review from kotlarmilos June 19, 2026 08:52
Adds the maintainer-rejected StreamReader/StreamWriter PGO workaround
(#129360) as the concrete example motivating the short-circuit, so the
rationale for routing JIT/GC/PGO stress KBEs to the loop-in path is
documented inline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 19, 2026 09:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates the CI Outer-Loop Failure Fixer prompt to enforce the existing “JIT/GC/PGO stress (codegen)” out-of-bounds policy by adding a mandatory pipeline-category gate step before any fix attempt. The goal is to prevent the workflow from opening workaround PRs for codegen-stress failures and instead route those KBEs directly to the loop-in comment path.

Changes:

  • Adds Step 5.1.1 “Pipeline-category gate” between the fix-policy table (Step 5.1) and fix attempt (Step 5.2).
  • Defines gating criteria based on AzDO build definition ID ranges and pipeline/leg name keyword matches.
  • Specifies a required short-circuit routing message and directs gated KBEs to Step 5.5 (loop-in comment), reinforcing “no PR” behavior for those pipelines.
Show a summary per file
File Description
.github/workflows/ci-failure-fix.md Adds a mandatory pipeline-category gate step to route JIT/GC/PGO/codegen-stress KBEs directly to loop-in comments instead of attempting fixes/workarounds.

Copilot's findings

  • Files reviewed: 1/1 changed files
  • Comments generated: 2

Comment thread .github/workflows/ci-failure-fix.md Outdated
Comment thread .github/workflows/ci-failure-fix.md Outdated
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Condense the pipeline-category gate to match the terse style of Steps
5.2-5.5: drop the intro meta-commentary and the workaround clause already
covered by the Step 5.1 fix-policy table and Hard rules. Remove the
unsourced/over-broad definition-id range and the r2r/interpreter keywords
(run modes, not codegen stress) so legitimately fixable failures are not
short-circuited. Gate now keys on the name/leg stress keywords only.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos
kotlarmilos requested a review from vitek-karas June 19, 2026 09:59
@vitek-karas
vitek-karas marked this pull request as ready for review June 29, 2026 07:03
@vitek-karas
vitek-karas requested a review from jeffhandley as a code owner June 29, 2026 07:03
Copilot AI review requested due to automatic review settings June 29, 2026 07:03
@vitek-karas
vitek-karas requested a review from a team as a code owner June 29, 2026 07:03
@vitek-karas
vitek-karas merged commit 3d1083e into main Jun 29, 2026
28 checks passed
@vitek-karas
vitek-karas deleted the copilot/ci-scan-feedback-add-pipeline-category-gate branch June 29, 2026 07:03
@vitek-karas
vitek-karas restored the copilot/ci-scan-feedback-add-pipeline-category-gate branch June 29, 2026 07:03
@vitek-karas
vitek-karas deleted the copilot/ci-scan-feedback-add-pipeline-category-gate branch June 29, 2026 07:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

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

Comment thread .github/workflows/ci-failure-fix.md
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 11.0-preview7 milestone Jun 30, 2026
eiriktsarpalis pushed a commit that referenced this pull request Jul 15, 2026
The CI failure fixer ignored the advisory fix-policy table and opened a
help-wanted PR proposing a product-code workaround for a PGO codegen bug
(#129360). The fix-policy table listed JIT/GC/PGO codegen
as out-of-bounds, but nothing enforced it.

## Changes

- **`.github/workflows/ci-failure-fix.md`** — Inserted a mandatory
**Step 5.1.1 "Pipeline-category gate"** between the fix-policy table
(Step 5.1) and the fix-attempt step (Step 5.2). The gate:
- Parses the KBE's pipeline metadata: build definition id (from the
`Build:` link / AzDO API) plus the pipeline/definition name and
failing-leg name.
- Treats the KBE as JIT/GC/PGO stress — out of bounds for any fix or
workaround PR — when the definition id is in `109`–`160`, `230`, or
`235`, **or** the name/leg matches (case-insensitive)
`jitstress|gcstress|pgo|r2r|superpmi|jit-cfg|jit-experimental|interpreter`.
- Short-circuits matching KBEs directly to the loop-in comment path
(Step 5.5), explicitly forbidding both product fixes and sidestep
workarounds (e.g. buffer-size normalization), and records a routing
reason.
  - Otherwise falls through to Step 5.2 unchanged.

This converts the existing fix-policy table from advisory to
enforceable, routing codegen-stress KBEs to a loop-in comment instead of
an out-of-bounds workaround PR.

## Notes

- Prompt-only change. `ci-failure-fix.lock.yml` imports the markdown at
runtime via `{{#runtime-import .github/workflows/ci-failure-fix.md}}`,
so no lock-file recompilation is required.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kotlarmilos <11523312+kotlarmilos@users.noreply.github.com>
Co-authored-by: Milos Kotlar <kotlarmilos@gmail.com>
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

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants