"""Recompute the published snapshot; no TTS inference or network requests."""
import csv
import json
import statistics
from collections import defaultdict
from pathlib import Path

root = Path(__file__).resolve().parent
groups = defaultdict(list)
with (root / 'runs.csv').open(encoding='utf-8', newline='') as stream:
    for row in csv.DictReader(stream):
        groups[row['model']].append(row)
summary = []
for model, rows in groups.items():
    median = statistics.median(float(row['rtf']) for row in rows)
    summary.append({
        'model': model, 'samples': len(rows), 'median_rtf': median,
        'seconds_per_60s_equivalent': round(median * 60, 3),
        'peak_vram_gb': max(float(row['peak_vram_gb'] or 0) for row in rows),
    })
expected = json.loads((root / 'summary.json').read_text(encoding='utf-8'))
assert summary == expected, 'Snapshot does not match the published summary'
print(json.dumps(summary, indent=2))
