Summary
CLAUDE.md section CUT3 (C# Toolchain Command Selection), step 4, specifies
vstest.console.exe <test-assembly-paths> /EnableCodeCoverage as the C# test toolchain command. The
coverage route actually in use in this repository is dotnet-coverage collect wrapping
vstest.console.exe, with /EnableCodeCoverage deliberately omitted from the inner invocation. A
policy document that names a command the repository deliberately does not run produces false PARTIAL
verdicts against any acceptance criterion that cites it.
Environment
- OS/version: Windows 11 Pro 10.0.26200 (the mismatch is platform-independent; it is a document/route divergence, not a runtime defect)
- Python version: not applicable; the affected surface is C# toolchain policy text and PowerShell coverage scripting
- Command/flags used:
CLAUDE.md CUT3 step 4 as written, vstest.console.exe <test-assembly-paths> /EnableCodeCoverage, versus the implemented route in scripts/vscode/Invoke-MSTestWithCoverage.ps1
- Data source or fixture:
scripts/vscode/TaskMaster.cli.runsettings, coverage.config
Steps to Reproduce
- Read
CLAUDE.md section CUT3, step 4, and note the command it names.
- Read
scripts/vscode/Invoke-MSTestWithCoverage.ps1 and observe that the implemented route is an outer dotnet-coverage collect wrapping an inner vstest.console.exe that is never given /EnableCodeCoverage.
- Read
scripts/vscode/TaskMaster.cli.runsettings and observe it carries the MSTest parallelization only and no coverage data collector.
- Observe that a reviewer checking an acceptance criterion which cites CUT3 step 4 finds the delivery did not run the command the policy names.
Expected Behavior
The toolchain command named in CLAUDE.md CUT3 step 4 matches the coverage route the repository
actually runs, so a reviewer citing it evaluates the delivery against a command that is genuinely
invoked.
Actual Behavior
CUT3 step 4 names a vstest.console.exe ... /EnableCodeCoverage invocation that the repository
deliberately never issues. The omission of /EnableCodeCoverage is load-bearing rather than
accidental: enabling the built-in Code Coverage collector alongside the outer dotnet-coverage
instrumentation conflicts.
Logs / Screenshots
The CLI runsettings (TaskMaster.cli.runsettings) lives alongside this script in scripts/vscode and
is resolved deterministically from the script directory. It carries the MSTest parallelization only
and no coverage data collector, so the inner vstest invocation never activates the Code Coverage
collector; instrumentation comes solely from the outer dotnet-coverage --settings coverage.config
path.
Impact / Severity
The mismatch is what made issue #809's AC6 read as PARTIAL on wording alone: the reviewer found the
delivery had not run the command CLAUDE.md names, recomputed AC6's measurable clauses from raw
Cobertura, and found they pass. Every future item citing CUT3 step 4 inherits the same false PARTIAL.
Source
From: docs/features/potential/2026-09-09-claude-md-cut3-names-uninvoked-coverage-command.md
Summary
CLAUDE.mdsection CUT3 (C# Toolchain Command Selection), step 4, specifiesvstest.console.exe <test-assembly-paths> /EnableCodeCoverageas the C# test toolchain command. Thecoverage route actually in use in this repository is
dotnet-coverage collectwrappingvstest.console.exe, with/EnableCodeCoveragedeliberately omitted from the inner invocation. Apolicy document that names a command the repository deliberately does not run produces false PARTIAL
verdicts against any acceptance criterion that cites it.
Environment
CLAUDE.mdCUT3 step 4 as written,vstest.console.exe <test-assembly-paths> /EnableCodeCoverage, versus the implemented route inscripts/vscode/Invoke-MSTestWithCoverage.ps1scripts/vscode/TaskMaster.cli.runsettings,coverage.configSteps to Reproduce
CLAUDE.mdsection CUT3, step 4, and note the command it names.scripts/vscode/Invoke-MSTestWithCoverage.ps1and observe that the implemented route is an outerdotnet-coverage collectwrapping an innervstest.console.exethat is never given/EnableCodeCoverage.scripts/vscode/TaskMaster.cli.runsettingsand observe it carries the MSTest parallelization only and no coverage data collector.Expected Behavior
The toolchain command named in
CLAUDE.mdCUT3 step 4 matches the coverage route the repositoryactually runs, so a reviewer citing it evaluates the delivery against a command that is genuinely
invoked.
Actual Behavior
CUT3 step 4 names a
vstest.console.exe ... /EnableCodeCoverageinvocation that the repositorydeliberately never issues. The omission of
/EnableCodeCoverageis load-bearing rather thanaccidental: enabling the built-in Code Coverage collector alongside the outer
dotnet-coverageinstrumentation conflicts.
Logs / Screenshots
scripts/vscode/Invoke-MSTestWithCoverage.ps1lines 19-26, in the.DESCRIPTIONblock ofResolve-RunSettingsPath:Impact / Severity
The mismatch is what made issue #809's AC6 read as PARTIAL on wording alone: the reviewer found the
delivery had not run the command
CLAUDE.mdnames, recomputed AC6's measurable clauses from rawCobertura, and found they pass. Every future item citing CUT3 step 4 inherits the same false PARTIAL.
Source
From: docs/features/potential/2026-09-09-claude-md-cut3-names-uninvoked-coverage-command.md