2d44457b96
Summaries displayed s.created_at (set to now() at summarize time), so every imported gist read 2026-06-16. Derive the actual session date from the earliest exchange timestamp (MIN(created_at) per session — the preserved original date, same source the era rollups use) via a correlated subquery in the summary readers. New Summary.session_started_at field; chat shows it (falling back to created_at). No schema change / backfill needed — always correct from source. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>