Summary
CLAUDE.md cites .github/workflows/ci.yml as the authority for three toolchain commands. PR #556
(#553, the CI parallel job split) moved those commands into reusable workflows, so the citations name
a file that no longer contains them.
Detail
Post-split, .github/workflows/ci.yml contains no msbuild or csharpier invocation at all. It is
a dispatcher of five uses: calls.
Stale references in CLAUDE.md:
- line ~194 — attributes the analyzer step's
/t:Build /m to ci.yml; it now lives in
.github/workflows/_build-analyzers.yml.
- line ~202 — attributes the CSharpier pinned-version invocation to
ci.yml; it now lives in
.github/workflows/_format-check.yml.
- line ~210-211 — states the nullable command is "character-for-character the command in
.github/workflows/ci.yml (step 'Build with nullable warnings treated as errors')". ci.yml
contains no step of that name; it is a job name in .github/workflows/_build-nullable.yml.
The claims themselves remain true of the tree; only the file being cited is wrong.
Why it matters
CLAUDE.md is always loaded into every agent session and is the top of the policy precedence order.
An agent that follows the citation to verify a command will not find it, and the third reference
names a step that does not exist anywhere under that name.
The corresponding text in .claude/rules/csharp.md was corrected during the main merge at
fb8eff9b; the same fix was not applied to CLAUDE.md.
Suggested resolution
Repoint the three references to _build-analyzers.yml, _format-check.yml, and _build-nullable.yml
respectively. Documentation-only; no logic change.
Found during the build-ci-coverage-gate-fidelity epic fan-in review.
Summary
CLAUDE.mdcites.github/workflows/ci.ymlas the authority for three toolchain commands. PR #556(#553, the CI parallel job split) moved those commands into reusable workflows, so the citations name
a file that no longer contains them.
Detail
Post-split,
.github/workflows/ci.ymlcontains nomsbuildorcsharpierinvocation at all. It isa dispatcher of five
uses:calls.Stale references in
CLAUDE.md:/t:Build /mtoci.yml; it now lives in.github/workflows/_build-analyzers.yml.ci.yml; it now lives in.github/workflows/_format-check.yml..github/workflows/ci.yml(step 'Build with nullable warnings treated as errors')".ci.ymlcontains no step of that name; it is a job name in
.github/workflows/_build-nullable.yml.The claims themselves remain true of the tree; only the file being cited is wrong.
Why it matters
CLAUDE.mdis always loaded into every agent session and is the top of the policy precedence order.An agent that follows the citation to verify a command will not find it, and the third reference
names a step that does not exist anywhere under that name.
The corresponding text in
.claude/rules/csharp.mdwas corrected during themainmerge atfb8eff9b; the same fix was not applied toCLAUDE.md.Suggested resolution
Repoint the three references to
_build-analyzers.yml,_format-check.yml, and_build-nullable.ymlrespectively. Documentation-only; no logic change.
Found during the
build-ci-coverage-gate-fidelityepic fan-in review.