chore: declare matplotlib and apply three behavior-preserving nits

- pyproject.toml: add a figures extra with matplotlib (used by the two figure
  scripts) so the environment is reproducible from pyproject alone.
- partition.py: correct the partition_eval_split docstring (simulated per-client
  eval sets from the global split, not client-owned held-out data).
- protean_cnn.py: extract_embeddings now moves batches to the model device.
- posthoc_statistical_audit.py: refuse to write an empty table.
This commit is contained in:
willtanoe committed 2026-10-17 04:08:38 +07:00
1 parent 783127296a
commit 91b0e371f7
4 files changed
+16 -5

No files matched your search

+2
View File
@@ -55,6 +55,8 @@ def write_csv(name: str, rows: list[dict]) -> None:
# never touch any pre-existing analysis artifact.
if not name.startswith("posthoc__"):
raise SystemExit(f"refusing to write non-posthoc artifact: {name}")
if not rows:
raise SystemExit(f"refusing to write empty table: {name}")
path = ANALYSIS / name
with path.open("w", newline="") as fh:
w = csv.DictWriter(fh, fieldnames=list(rows[0].keys()))