From ee136ac7e8a5a43ba909204e2695def5152df37e Mon Sep 17 00:00:00 2001 From: wassname Date: Sat, 30 May 2026 02:24:44 +0000 Subject: [PATCH] fix(results): read ground-truth mix_ratio from log, not argv default 17/57 real runs pass no --mix-ratio and rely on the preset default (0.125), but the argv grab defaulted to 0.5 and mis-keyed them into the wrong mix group, contaminating the paired-delta baseline. Parse the printed mix_ratio= INFO line (what the run actually used) instead. Co-Authored-By: Claude Opus 4.8 --- scripts/results.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/results.py b/scripts/results.py index 5213582..83a57b7 100644 --- a/scripts/results.py +++ b/scripts/results.py @@ -79,6 +79,13 @@ def parse_log(path: Path) -> dict | None: if not hs: return None cfg = _cfg(argv, preset_line) + # GROUND TRUTH mix: train.py prints `mix_ratio=` in the pool INFO line + # (what the run actually used). Many runs rely on the preset default and + # pass no --mix-ratio flag, so the argv-based grab in _cfg defaults to the + # wrong value (0.5) and mis-keys them. Override with the printed value. + m_mix = re.search(r"mix_ratio=([\d.]+)", txt) + if m_mix: + cfg["mix"] = m_mix.group(1) if "tiny-random" in cfg["model"] or cfg["preset"] == "smoke": return None # CPU smoke runs, not real results if "probe" in cfg["tag"]: