Repository navigation
v3.3.6 — Score-Integrität: Geister-Mutanten, No-op-Filter, sichtbare Filter-Entscheidungen
Fix-Sprint 3/6 des 360°-Analyse-Fahrplans (ADR-055). Vier Befunde behoben, die den Mutation-Score leise verfälschten — durch False Survivors, unsichtbare Mutanten-Verluste und schema-fremde Report-Stati.
Fixes
- G-17 (False Survivors): Neuer
NoOpMutationFilterals Filter #0 — Mutationen, deren Replacement strukturell dem Original entspricht (z. B. eine Type-driven-Return-Mutation auf den bereits vorhandenen Wert), überlebten jeden Test und drückten den Score. Der trivia-insensitive Baum-Vergleich fängt die gesamte Klasse zentral. - G-19 (unsichtbare Verluste): Equivalence-gefilterte Mutationen erscheinen jetzt als
IgnoredmitEquivalent mutant (filter: <Id>)im Report (wie Upstream) statt spurlos verworfen zu werden. Sie werden registriert, aber nie ins Assembly injiziert. - #286/G-15 (Geister-Mutanten): Das Orchestrierungs-Sicherheitsnetz (ADR-032) verwarf slot-inkompatible mutierte Subtrees nur mit Debug-Log — die enthaltenen, bereits registrierten Mutanten endeten als „NoCoverage"-Geister oder False Survivors. Verworfene Subtrees werden jetzt gemeldet und die betroffenen Mutanten als
CompileErrormarkiert; ein generischer Geister-Detektor sichert das in den Integrationstests über alle historischen Crash-Patterns ab. - J-01 (Report-Vertrag): Mutanten, die die Testsession nicht bewerten konnte, liefen mit dem schema-fremden Status
Pendingin den Final-Report. Sie werden jetzt score-neutral alsIgnoredmit Begründung finalisiert und erreichen das Realtime-Reporting genau einmal.
Verifikation
Build 0/0 · Vollsuite grün (10 Testprojekte, E2E 18/18) · Semgrep 0 Findings (11 Src-Dateien) · Geister-Detektor grün über alle 10 historischen Patterns.
Full Changelog: v3.3.5...v3.3.6
What's Changed
- chore(sprint-180): close — housekeeping done, v3.3.5 shipped by @pgm1980 in #308
- fix(sprint-181): Score-Integrität — Geister-Mutanten, No-op-Filter, sichtbare Filter-Entscheidungen (ADR-055) by @pgm1980 in #309
Full Changelog: v3.3.5...v3.3.6