By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Mutation: order covering tests cheapest-first in the mutation child When a mutation child runs the tests that cover a mutation, it runs them synchronously under fail-fast, so the first covering test that fails kills the mutant. Ordering the covering tests cheapest-first (by the per-test baseline the coverage phase already measures) reaches a killing test sooner and reduces the mutation phase's wall-clock, since killed mutants are the majority of a run. - reorderTestForestByTiming: pure, tree-aware, stable reorder that sorts siblings by ascending baseline (missing = first) and orders each subtree by its minimum contained leaf cost, so a shared-setup group reorders as a unit and setup is never split. It mirrors randomiseTestForest by leaving DoNotRandomiseExecutionOrder subtrees untouched, so it is legal wherever execution-order randomisation is. - The coverage phase now persists the merged per-test baselines as baseline.json next to the manifest; the run and diff paths union them into the augmented dir the children read. - The child reads that baseline and reorders the filtered forest after filtering (so the coverage-order ids the filter needs are untouched), gated on settingRandomiseExecutionOrder.