2b044075

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Mutation: make the covering-test reorder gate pure and tested

Address code-review follow-ups:

- Extract reorderForMutationChild, a pure helper that reorders a mutation
  child's filtered forest cheapest-first only when execution-order
  randomisation is enabled and a baseline is present.  The child now reads the
  baseline unconditionally and hands the flag + costs to this helper, so the
  gate (previously an inline IO conditional) is unit-testable.  Behaviour is
  unchanged: reading the baseline when randomisation is off is a harmless extra
  read, and the helper yields the same forest.
- Add gate tests: reorder when randomisation is on with a baseline, and leave
  the forest untouched when randomisation is off or no baseline is available.
- Note in readAndUnionBaselineDirs that the slowest-wins baseline merge (chosen
  for safe timeouts) only affects ordering quality, never verdicts.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 11s 2s 2s 13s 11s
Eval 13s 22s 22s 35s 0s
Build 1h00m57s 1m43s 2m20s 1h03m17s 1h01m32s
Suite 11s 2m07s 1h03m06s 1h03m17s 1h01m44s

Timeline

0s20s30s1h1m1h1m1h1m1h2m1h2m1h3m1h3m