You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add exact assertions for percentile, repo-count, and prune-count behavior, document the remaining accepted misses, and ignore local .claude/ workspace state.
Copy file name to clipboardExpand all lines: docs/mutation-testing.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,8 +32,8 @@ These mutants are either equivalent (same behavior) or accepted by design. CI do
32
32
After adding targeted tests (refresh_summary, get_event_stats exact aggregates/single-event/by_repo, prune boundary), many previously missed mutants are now killed. Any remaining misses in these areas are documented here after a run:
33
33
34
34
-**refresh_summary**: Condition `summary.is_some() \|\| !comments.is_empty()` — tests now assert synthesized summary when comments exist and no summary.
-**prune**: Boundary `now - started_at > max_age_secs`— test asserts review exactly at boundary is not pruned; max_count test asserts oldest removed.
35
+
-**get_event_stats**: Percentile index (line 244), model/repo count (253, 279), avg_duration (264) — tests assert exact p50/p95, by_repo count 2, prune one-over. Some mutants (e.g. `-`→`+` in index, `+=`→`-=`, `/`→`*`) may remain missed if test selection or equivalent behavior; add stronger exact assertions if baseline is raised.
36
+
-**prune**: `now_secs - r.started_at > max_age_secs`(422) and `reviews.len() > max_count` (441). Boundary test keeps review exactly at max_age; max_count tests assert 1 removed when 4 reviews and max_count=3. The `> max_count` vs `>= max_count` mutant at 441 is equivalent when len > max_count (same to_remove); when len == max_count, both yield 0 removed.
37
37
38
38
If new mutants appear in these regions, add assertions that would fail on the wrong operator/formula, or add them to this table with a one-line rationale.
0 commit comments