3 is the real one. 1.5x is a round number, not tied to anything — clean spread
here is ~2-5%, so 50% only ever catches a gross stall. And a median-relative
threshold breaks under correlation: two stalls in three move the median with
them and both pass. A filter that fails hardest when the bad case is worst isn't
worth keeping.
2 is fair. I can't wave "one-sided" to motivate a trim and then not rank on min,
since one-sided is exactly when min is unbiased. And it isn't one-sided — the
baseline batch is 727/727/696, and the 696 finished faster. Fast tail exists,
trimming only the slow side biases down.
On 1 I'll push back: the re-run isn't the accuracy channel reopened. Nobody's
shopping — the referee drops a flagged run and redraws automatically, and accepts
any non-outlier redraw regardless of speed, so it isn't selecting for favorable
draws. Its only real effect is upper-truncation, which is just your point 2.
But the conclusion holds: the trim is the wrong tool, and I was doing statistics
on a number I should have fixed. That 953s wasn't training, it was model+dataset
load off a cold volume — I/O unrelated to anyone's technique. So I'm dropping the
rule and pre-warming the pinned artifacts so every run is timed warm. No stall to
drop, nothing to redraw, no threshold to defend. What's left is the 2-5% compute
jitter — straight mean, sub-spread gaps treated as ties.
The number never moved: the two clean t2 runs are 523 and 527, so 8:45 holds with
or without the rule. Pulling it, adding the warm-up, writing it up in JUDGING.md
and crediting the thread.