Slicer mutation checks (kill matrix)¶
Generated by uv run python scripts/mutation_check.py. Each mutant breaks one rule of the slicer or the constraints; the real constraint, slicer, property and cache suites then run and must fail. Baseline = no mutant.
Baseline: exit 0 (120 passed in 8.45s).
Mutant |
Rule broken |
Result |
Failing tests |
First failing tests |
|---|---|---|---|---|
shift_boundary |
C2: slot window is [start, end) |
KILLED |
31 |
test_slicer.py :: test_a_different_seed_draws_different_malware |
shuffle_timestamps |
C1/C2 against true time |
KILLED |
15 |
test_slicer.py :: test_c3_counts_before_and_after_are_logged_per_evaluation_slot |
leak_one_sample |
C1: training strictly older |
KILLED |
38 |
test_slicer.py :: test_a_different_seed_draws_different_malware |
span_gap |
windows never span a gap or skipped slot |
KILLED |
10 |
test_slicer.py :: test_a_window_never_spans_a_gap |
gate_off |
failing slots are skipped (size gate) |
KILLED |
8 |
test_slicer.py :: test_gate_uses_malware_kept_at_the_target_ratio |
stride_ignored |
rolling windows follow the stride |
KILLED |
2 |
test_slicer.py :: test_rolling_windows_follow_nT_nE_and_stride |
eval_overlaps_train |
C1: evaluation slots follow training |
KILLED |
40 |
test_slicer.py :: test_a_different_seed_draws_different_malware |
c1_non_strict |
C1 is strict |
KILLED |
2 |
test_constraints.py :: test_c1_is_strict_equal_timestamps_violate |
c2_inclusive_end |
C2 window is half-open |
KILLED |
3 |
test_constraints.py :: test_c2_raises_exactly_when_a_row_is_outside_or_a_class_is_missing |
c3_drop_benign |
C3 subsamples malware only |
KILLED |
32 |
test_constraints.py :: test_subsample_always_satisfies_check_c3 |
c3_unseeded |
C3 draw is seeded and slot-scoped |
KILLED |
7 |
test_constraints.py :: test_a_slot_without_benign_samples_cannot_be_subsampled |
no_subsampling |
C3 reaches the target ratio |
KILLED |
44 |
test_constraints.py :: test_a_slot_without_benign_samples_cannot_be_subsampled |
oldest_malware |
C3 draw is uniform over the slot |
KILLED |
11 |
test_constraints.py :: test_a_slot_without_benign_samples_cannot_be_subsampled |
public_ids_are_row_ids |
public view is opaque |
KILLED |
4 |
test_slicer.py :: test_public_view_carries_only_features_and_opaque_row_ids |
public_order_stratified |
public order ignores y |
KILLED |
1 |
test_slicer_review_fixes.py :: test_p2_2_the_public_order_is_independent_of_label_placement |
Result: all mutants killed.