Repository navigation
docs: gotcha 27's root cause, which beats the fingerprint it was built on - #321
Merged
Merged
Conversation
…t on Every test in that note infers the Copilot artifact from circumstantial marks: a null output title, an annotation pointing at a directory, a line number that repeats across unrelated PRs. #319 failed the same way on 2026-08-11, the sixth sighting and the third at `.github:213`, and its job log names the failure outright: Error creating PR review request: SessionModelError: Execution failed: CAPIError: 400 The requested model is not supported. The review agent asked GitHub's own model API for a model that API refused, threw inside runAgenticLoop, and exited 1. It never read the diff, so the check is reporting an outage in Copilot's model routing and no change to a branch can turn it green. That yields a test which names the failure instead of pattern-matching around it: pull details_url off the check run, then grep the job log for CAPIError. A crashed agent prints it; a real finding leaves it empty and posts an inline review comment on a source line instead. Two smaller things the same run settled. The workflow is `dynamic/agents/github-advanced-security` and lives nowhere in .github/workflows/, which is why grepping the tree for it finds nothing. And a re-notification can arrive for a run that already failed hours earlier: #319 alerted twice on the same check-run id with the same completed_at and no new commit between, which in the notification looks exactly like a fresh failure. Docs only. No code, no config, nothing shipped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
aadhar-sh | 81baaf9 | Aug 11 2026, 10:52 AM |
#319 failed this check twice the same way, sixteen minutes apart, on the feature head and then on a merge commit that only pulled main in. Different Request IDs, identical CAPIError. Worth stating outright, because an outage that reproduces on whatever you push next is the case where someone starts bisecting a diff for the cause of it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Three commits, two PRs, twenty-one minutes, three Request IDs, one identical CAPIError, and the third of them adds no executable line to the repository. A docs-only diff cannot carry a security finding, so a check that reddens on this one is reporting on itself. That is the argument the prose-only-PR paragraph already makes; this run makes it unarguable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
oddharsh
force-pushed
the
claude/gotcha27-root-cause
branch
from
August 11, 2026 10:50
9dcdecc to
81baaf9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gotcha 27 tells you how to recognise a Copilot Autofix crash from the outside: a null
output.title, a lone annotation pointing at.github:<line>(a directory, so it cannot be a location), a line number that repeats across PRs sharing no content. All of that is circumstantial, and the note says so by hedging in its own first word ("usually").#319 failed the same way on 2026-08-11 — the sixth sighting, and the third at
.github:213— and this time the job log gives up the actual error:Copilot's review agent asked GitHub's own model API for a model that API refused, threw inside
runAgenticLoop, and exited 1. It never read the diff. The check is reporting an outage in Copilot's model routing, so no change to your branch can turn it green.What this changes about the procedure
The note now leads with a pointer to the root-cause paragraph, and the fingerprint stays as history rather than as the primary test. The new test names the failure instead of pattern-matching around it:
A crashed agent prints the error. A real finding leaves the grep empty and posts an inline review comment on a source line instead — which is the distinction #299 proved matters, when both variants landed an hour apart under the same check name.
Two smaller things the same run settled
dynamic/agents/github-advanced-security, titled "Code scanning AI findings on PR #N", and it lives nowhere in.github/workflows/. That is why no file in this repo configures it and why grepping the tree for it finds nothing.93749646946, samecompleted_atboth times, with no new commit in between. Compareidandcompleted_atbefore investigating, because a repeat alert about an old run is indistinguishable from a fresh failure in the notification itself.Scope
Docs only — one gotcha in
CLAUDE.md(AGENTS.mdis its symlink). No code, no config, nothing shipped, and nothing here readsCLAUDE.mdin a test or build step. Counts updated with it: "five times across two days" → six across three, and "red on five PRs while gating none of them" → six.Split out of #319 deliberately: that PR is a feature change, and CI-noise documentation does not belong in its diff.
🤖 Generated with Claude Code