Skip to content

Commit 8265897

Browse files
turegjorupclaude
andcommitted
ci: raise minimum mutation score to 90 and condense changelog entries
The suite kills 185 of 198 mutants (93% covered MSI); the 13 survivors are equivalent or contrived. The bootstrap threshold of 68 no longer defends anything; 90 keeps headroom for run-to-run variance. The Unreleased changelog entries from the mutation-testing rollout are condensed to the final outcome, matching the tone of earlier releases. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent d3b8c2b commit 8265897

2 files changed

Lines changed: 7 additions & 14 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515

1616
### Changed
1717

18-
- Strengthened constructor tests guided by mutation testing: the `jwt`
19-
collaborator is asserted to become the request factory, and `0` is
20-
asserted to be an accepted boundary value for `cacheDuration` and
21-
`leeway`
22-
- Strengthened cache assertions guided by mutation testing: the discovery
23-
document and JWKS key map are asserted to be written to the cache with
24-
the configured duration under the namespaced key, and a multi-key JWKS
25-
is asserted to reach `JWT::decode` in full
26-
- Strengthened exception assertions guided by mutation testing: thrown
27-
messages are asserted in full (including dynamic parts), wrap-boundary
28-
exceptions assert code `0` and the chained `$previous` cause, and
29-
invalid JSON from the token endpoint is covered
18+
- Strengthened tests guided by mutation testing; mutation score raised to
19+
93% with a CI threshold of 90 (`minCoveredMsi` in `infection.json5`)
3020

3121
## [5.0.0] - 2026-06-02
3222

infection.json5

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
},
66
"threads": "max",
77
// Minimum mutation score for covered code; enforced locally and in CI.
8-
// Baseline measured at 71% — ratchet up as surviving mutants are killed.
9-
"minCoveredMsi": 68,
8+
// The suite scores 93%; the 13 surviving mutants are equivalent or
9+
// contrived (JSON depth literals, RNG default lengths, casts only
10+
// observable on corrupted cache). 90 defends the score with headroom
11+
// for run-to-run variance.
12+
"minCoveredMsi": 90,
1013
"logs": {
1114
"text": "infection.log",
1215
"html": "infection.html",

0 commit comments

Comments
 (0)