quality-gates-dotnet
.NET adapter that binds the quality gates of
quality-gates-evidence-contractto concretedotnetanddotnet strykercommands.
When to use
- When the active repository is a .NET solution (
*.sln,*.slnx,*.csproj,Directory.Packages.props) - During the COMMIT phase, to produce falsifiable evidence for gates G1 to G9
- Loaded by the
software-engineerafter .NET stack detection viaresolving-stack-commands - If multiple stacks coexist, run in parallel with the other adapters
Entry contract
- Detected .NET repository (
*.slnor*.csprojmarker present at the repo root) $EVvariable pointing to.copilot-tracking/skraft-plans/{projectSlug}/evidence/{date}/state.json::userPreferences.depthTierfor the G6 mutation threshold
Exit contract
- Evidence files in
$EV/: stdout redirected to disk, exit code, sha256, RED/GREEN snapshots gates[G1..G9]entries of thequality-gates-evidence-contractpopulated- Complete
qg-{story}.jsonverifiable by thequality-gates-lens
Invariants
- Verbatim commands —
command_executedcontains the exact shell command, never paraphrased - Shell-captured stdout — never transcribed manually;
sha256computed viashasum - G7 inversion —
grepexit1(no match) is the success case for G7 - G6 threshold by
depthTier:basic≥ 80,standard≥ 90,comprehensive≥ 100 - Missing tool =
fail, nevernot_applicablewhen the tool is not installed - G5 marked
not_applicableonly if no*.ArchitectureTestsproject exists, withrationale
Why this shape
Falsifiability is non-negotiable: an agent cannot prove a test passed by saying so. Each gate deposits disk artifacts referenceable by sha256 and Git path that the lens can verify without re-execution.
« The two rules of TDD: write new code only if an automated test has failed; eliminate duplication. » — Beck, K., Test-Driven Development by Example, 2003.
On-disk evidence makes attestation reproducibly verifiable — even weeks after delivery.
Allowed customisation
- G6 thresholds (via
state.json::userPreferences.depthTier) (L2) - G5 optional depending on
*.ArchitectureTestsproject presence (L1) - G4 shared with G3 if Roslyn analyzers are wired into the build (L1)
See also
- quality-gates-evidence-contract — Tech-agnostic schema
- resolving-stack-commands — Stack detection and adapter selection
- software-engineer — Evidence producer agent