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 <noreply@anthropic.com>
This commit is contained in:
wassname
2026-05-30 02:24:44 +00:00
parent f917670994
commit ee136ac7e8
+7
View File
@@ -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=<x>` 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"]: