Skip to content

v3.3.6 — Score-Integrität: Geister-Mutanten, No-op-Filter, sichtbare Filter-Entscheidungen

Choose a tag to compare

@pgm1980 pgm1980 released this 12 Jun 12:09
· 19 commits to main since this release
c9c3e11

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 NoOpMutationFilter als 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 Ignored mit Equivalent 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 CompileError markiert; 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 Pending in den Final-Report. Sie werden jetzt score-neutral als Ignored mit 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