results: just results = eval2 deploy table (time/headline/deploy/arm/pair/seed/train/argv); hard eval2 cutoff; archive eval1 (Q1-Q13 + 352 old logs)

This commit is contained in:
wassname
2026-06-09 01:50:42 +00:00
parent 824b7eb623
commit 5007c9757a
5 changed files with 451 additions and 348 deletions
+8
View File
@@ -20,6 +20,11 @@ from tabulate import tabulate
LOG_DIR = Path("logs")
TS_RE = re.compile(r"(\d{8}T\d{6})")
# Hard cutoff: only show eval2-era runs (recency-clean test set, dir6+ onward). Runs before
# this are the OLD eval (contaminated holdout); their curated findings live in
# docs/results_eval1_archive.md. Robust to old logs being present -- filters by the log's
# own timestamp, so we don't rely on moving files out of logs/.
EVAL2_CUTOFF = "20260607T000000"
# Column positions are read from the header row by NAME, not hardcoded -- the
# per-step table layout has changed over time (sprd/N dropped, cin/cout/hk_dep
# added) so fixed indices silently mis-read newer logs and crash on smoke logs.
@@ -65,6 +70,9 @@ def _cfg(argv: str, preset_line: str) -> dict:
def parse_log(path: Path) -> dict | None:
ts_m = TS_RE.search(path.name)
if ts_m and ts_m.group(1) < EVAL2_CUTOFF:
return None # pre-eval2 (OLD eval) -> docs/results_eval1_archive.md
txt = path.read_text(errors="replace")
argv = next((l for l in txt.splitlines() if "argv:" in l), None)
preset_line = next((l for l in txt.splitlines() if "preset=" in l and "arm=" in l), "")