From ebb013c825c54a3b47b883757547a36967944969 Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Tue, 21 Jul 2026 14:39:49 -0500 Subject: figures: expose per-source result provenance --- experiments/plot_main_figures.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/experiments/plot_main_figures.py b/experiments/plot_main_figures.py index ad969dc..c459e36 100644 --- a/experiments/plot_main_figures.py +++ b/experiments/plot_main_figures.py @@ -229,6 +229,7 @@ def cell_summary(rows, include_alignment=False): summary = { "n": len(rows), "seeds": sorted(r["args"]["seed"] for r in rows), + "git_commits": sorted({r["provenance"]["git_commit"] for r in rows}), "accuracy_percent_mean": acc_mean, "accuracy_percent_sd": acc_sd, "wall_s_mean": wall_mean, @@ -584,7 +585,8 @@ def main(): setup_style() rows1, missing1 = plot_tradeoff(args.results, args.outdir, strict) rows2, missing2 = plot_scaling(args.results, args.outdir, strict) - source_paths = sorted({r["_path"] for r in rows1 + rows2}) + source_rows = {r["_path"]: r for r in rows1 + rows2} + source_paths = sorted(source_rows) manifest = { "strict": strict, "required_seeds": sorted(EXPECTED_SEEDS), @@ -593,7 +595,17 @@ def main(): "ep_comparison": "exact d1/d2 width500; canonical EP dynamics", }, "missing_cells": missing1 + missing2, - "sources": [{"path": p, "sha256": file_hash(p)} for p in source_paths], + "sources": [ + { + "path": path, + "sha256": file_hash(path), + "git_commit": source_rows[path]["provenance"]["git_commit"], + "method": method(source_rows[path]), + "depth": source_rows[path]["args"]["depth"], + "seed": source_rows[path]["args"]["seed"], + } + for path in source_paths + ], "statistics": audited_statistics(args.results), "outputs": ["figure1_pareto.pdf", "figure1_pareto.png", "figure2_scaling.pdf", "figure2_scaling.png", -- cgit v1.2.3