You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[ci-scan-feedback] ci-scan: add Hard Rule 10 for explicit early exit on no scannable build #7650
(runs Get a working build #1–How do you load data from an in-memory data set? #91 since 2026-06-08, all stale build window (>14d): scanner consumed 2.2–2.4M effective tokens per run on AzDO timeline fetches, task log downloads, and Helix queries that yield zero useful output when no scannable build exists — 10× the ~250K ET a properly-exiting run uses)
.github/workflows/ci-scan.agent.md lines 80–92 (Hard Rules + Step 1 trailing sentence): adds Hard Rule 10 after Rule 9, naming the exact forbidden operations (AzDO timeline fetch, task log download, Helix query), mandating the coverage entry append, and giving the literal tally row | 0 | 0 | 0 | 1 | so the agent never needs to compute it; updates Step 1's trailing sentence from an inline restatement to a single reference apply Hard Rule 10 immediately.
Expected behavior change
On any run where Step 1 yields a selection-time skip (stale build window (>14d), no follow-up build yet, defer to next run, or no failed build in 7d), the scanner will append the skip reason to the coverage file, print | 0 | 0 | 0 | 1 | as the tally row, call noop, and stop — without fetching any AzDO timeline, downloading task logs, or querying Helix work items. Tally will correctly reflect 1 skipped-with-reason on skip-only runs. Token consumption will drop from 2.2–2.4M ET to ~250K ET on these runs.
The patch file is available in the agent artifact in the workflow run linked above.
To create a pull request with the changes:
# Download the artifact from the workflow run
gh run download 28492716642 -n agent -D /tmp/agent-28492716642
# Create a new branch
git checkout -b ci-scan-feedback/hard-rule-10-2026-07-01-6f7c651cbf795929
# Apply the patch (--3way handles cross-repo patches where files may already exist)
git am --3way /tmp/agent-28492716642/aw-ci-scan-feedback-hard-rule-10-2026-07-01.patch
# Push the branch to origin
git push origin ci-scan-feedback/hard-rule-10-2026-07-01-6f7c651cbf795929
# Create the pull request
gh pr create --title '[ci-scan-feedback] ci-scan: add Hard Rule 10 for explicit early exit on no scannable build' --base main --head ci-scan-feedback/hard-rule-10-2026-07-01-6f7c651cbf795929 --repo dotnet/machinelearning
Show patch preview (57 of 57 lines)
From 6b11b7f1acb5f7bad1bf2c3708a8521f5be5eb10 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Wed, 1 Jul 2026 04:15:27 +0000
Subject: [PATCH] ci-scan: add Hard Rule 10 for explicit early exit on no
scannable build
91 consecutive ci-scan runs have skipped via the Step 1 prose ('stale build
window (>14d)') while consuming 2.2-2.4M+ effective tokens on AzDO timeline
fetches, log downloads, and Helix queries that serve no purpose once no
scannable build exists. The 'and stop' sentence in Step 1 was insufficient to
prevent continuation; agents kept fetching the AzDO timeline and walking
Steps 2-7.
Add Hard Rule 10 that elevates the no-scannable-build exit to the same
level as the issue-cap and label rules. When Step 1 determines no scannable
build exists, the scanner must:
- append the coverage entry to MachineLearning-CI.txt- print | 0 | 0 | 0 | 1 | as the Step 7 tally (honest: 1 skipped)- call noop and stop immediately
Update Step 1's trailing sentence to reference Hard Rule 10 directly
so the constraint is stated once, authoritatively.
Triggering signal: 13 prior ci-scan-feedback runs proposed this exact edit;
git push kept failing. Issues #7627, #7630, #7636, #7637, #7639, #7640,
#7641, #7642, #7643, #7644, #7645, #7646, #7648 are misfiled fallbacks.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
.github/workflows/ci-scan.agent.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/ci-scan.agent.md b/.github/workflows/ci-scan.agent.md
index 0937c5f..c2dac53 100644
--- a/.github/workflows/ci-scan.agent.md+++ b/.github/workflows/ci-scan.agent.md@@ -78,6 +78,7 @@ These invariants are not delegated to the shared file. Honor them even if a shar
7. **All state under `/tmp/gh-aw/agent/`;** each bash call is a fresh subshell.
8. **AzDO REST is anonymous;** stay on `https://dev.azure.com/dnceng-public/public/_apis/build/...`. Follow every rule i
... (truncated)
Triggering signals
| 0 | 0 | 0 | 0 |instead of| 0 | 0 | 0 | 1 |on skip-only runs; first observed in runs GPU #86-87, persisted through run How do you load data from an in-memory data set? #91)stale build window (>14d): scanner consumed 2.2–2.4M effective tokens per run on AzDO timeline fetches, task log downloads, and Helix queries that yield zero useful output when no scannable build exists — 10× the ~250K ET a properly-exiting run uses)ci-scan-feedbackticks proposed the identical edit viacreate_pull_request; git push failed each time, producing 13 misfiled fallback issues: [ci-scan-feedback] ci-scan: add Hard Rule 10 for early exit on no scannable build #7627, [ci-scan-feedback] ci-scan: add Hard Rule 10 for early exit on no scannable build #7630, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7636, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7637, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7639, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7640, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7641, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7642, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7643, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7644, [ci-scan-feedback] ci-scan: add Hard Rule 10 to force early exit on no scannable build #7645, [ci-scan-feedback] ci-scan: add Hard Rule 10 for explicit early exit on no scannable build #7646, [ci-scan-feedback] ci-scan: add Hard Rule 10 for explicit early exit on no scannable build #7648)Proposed edits
.github/workflows/ci-scan.agent.mdlines 80–92 (Hard Rules + Step 1 trailing sentence): adds Hard Rule 10 after Rule 9, naming the exact forbidden operations (AzDO timeline fetch, task log download, Helix query), mandating the coverage entry append, and giving the literal tally row| 0 | 0 | 0 | 1 |so the agent never needs to compute it; updates Step 1's trailing sentence from an inline restatement to a single referenceapply Hard Rule 10 immediately.Expected behavior change
On any run where Step 1 yields a selection-time skip (
stale build window (>14d),no follow-up build yet, defer to next run, orno failed build in 7d), the scanner will append the skip reason to the coverage file, print| 0 | 0 | 0 | 1 |as the tally row, callnoop, and stop — without fetching any AzDO timeline, downloading task logs, or querying Helix work items. Tally will correctly reflect 1 skipped-with-reason on skip-only runs. Token consumption will drop from 2.2–2.4M ET to ~250K ET on these runs.Note
This was originally intended as a pull request, but the git push operation failed.
Workflow Run: View run details and download patch artifact
The patch file is available in the
agentartifact in the workflow run linked above.To create a pull request with the changes:
Show patch preview (57 of 57 lines)
From 6b11b7f1acb5f7bad1bf2c3708a8521f5be5eb10 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Jul 2026 04:15:27 +0000 Subject: [PATCH] ci-scan: add Hard Rule 10 for explicit early exit on no scannable build 91 consecutive ci-scan runs have skipped via the Step 1 prose ('stale build window (>14d)') while consuming 2.2-2.4M+ effective tokens on AzDO timeline fetches, log downloads, and Helix queries that serve no purpose once no scannable build exists. The 'and stop' sentence in Step 1 was insufficient to prevent continuation; agents kept fetching the AzDO timeline and walking Steps 2-7. Add Hard Rule 10 that elevates the no-scannable-build exit to the same level as the issue-cap and label rules. When Step 1 determines no scannable build exists, the scanner must: - append the coverage entry to MachineLearning-CI.txt - print | 0 | 0 | 0 | 1 | as the Step 7 tally (honest: 1 skipped) - call noop and stop immediately Update Step 1's trailing sentence to reference Hard Rule 10 directly so the constraint is stated once, authoritatively. Triggering signal: 13 prior ci-scan-feedback runs proposed this exact edit; git push kept failing. Issues #7627, #7630, #7636, #7637, #7639, #7640, #7641, #7642, #7643, #7644, #7645, #7646, #7648 are misfiled fallbacks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci-scan.agent.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-scan.agent.md b/.github/workflows/ci-scan.agent.md index 0937c5f..c2dac53 100644 --- a/.github/workflows/ci-scan.agent.md +++ b/.github/workflows/ci-scan.agent.md @@ -78,6 +78,7 @@ These invariants are not delegated to the shared file. Honor them even if a shar 7. **All state under `/tmp/gh-aw/agent/`;** each bash call is a fresh subshell. 8. **AzDO REST is anonymous;** stay on `https://dev.azure.com/dnceng-public/public/_apis/build/...`. Follow every rule i ... (truncated)