Rollups hold six scalars only; every breakdown (pages/referrers/geo/devices/UTM/entries/engagement) reads raw rows exclusively, which TTL out at 30 days — panels silently shrink while totals show the full range; All Time is structurally impossible. The dormant PageStats/ReferrerStats/DeviceStats/GeoStats/CampaignStats/EventStats models are ready-made schemas. Fix: per-dimension ROLLUP#DAY# items + rolled-prefix + raw-tail reads for every breakdown (the Fathom model); serve /comparison from rollups (#137); backfill any missing settled day; unify hardcoded 90d/30d TTLs through config.
From the production-readiness audit (docs/research/production-readiness.md, eacf996). Verified with live probes where stated.