Skip to content

Mutation triage test quality rule - #65

Merged
feO2x merged 2 commits into
mainfrom
mutation-triage-test-quality-rule
Aug 1, 2026
Merged

Mutation triage test quality rule#65
feO2x merged 2 commits into
mainfrom
mutation-triage-test-quality-rule

Conversation

@feO2x

@feO2x feO2x commented Aug 1, 2026

Copy link
Copy Markdown
Owner

No description provided.

feO2x and others added 2 commits August 1, 2026 21:57
The triage rules told agents to add a test for an unconstrained
survivor but said nothing about what that test may assert. The
tempting move — pinning a mutant down by asserting on incidental
output — raises the score once and then constrains an implementation
detail forever, which is worse than leaving the mutant alive.

State the test-side companion to the existing rule against
restructuring production code: a test must read as a statement about
the contract, must never name a mutant, and a survivor killable only
by incidental assertions is an equivalent mutant to suppress rather
than a test to write.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0184eh1G3XxvjRB11cNKyMRT
The blind-spot entry named five methods that Safe Mode leaves without
mutation coverage, but stopped at the diagnosis. The names read as a
fixed list when they are one run's observation, and nothing told a
reader what to do when editing such a method.

Label the list as observed and give a durable way to recover the
current one: the Safe Mode announcements are console-only and the
discarded mutants are absent from the JSON report, so the surviving
trace is the CompileError sites. Require test adequacy for those
methods to be argued by hand in the pull request, since neither
mutation score nor line coverage carries information there.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0184eh1G3XxvjRB11cNKyMRT
@feO2x feO2x self-assigned this Aug 1, 2026
@feO2x feO2x added the chore Internal cleanup work label Aug 1, 2026
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Light.PortableResults 97% 94% 2880
Light.PortableResults.AspNetCore.MinimalApis 89% 75% 25
Light.PortableResults.AspNetCore.Mvc 89% 75% 25
Light.PortableResults.AspNetCore.OpenApi 94% 83% 505
Light.PortableResults.AspNetCore.Shared 100% 100% 28
Light.PortableResults.Validation 97% 89% 2954
Light.PortableResults.Validation.OpenApi 98% 91% 146
Light.PortableResults.Validation.OpenApi.SourceGeneration 88% 83% 786
Summary 96% (13320 / 13895) 90% (5619 / 6239) 7349

Minimum allowed line rate is 60%

@feO2x
feO2x merged commit 024786d into main Aug 1, 2026
2 checks passed
@feO2x
feO2x deleted the mutation-triage-test-quality-rule branch August 1, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Internal cleanup work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant