refactor(stats): migrate scan_day + dashboard from events to activities
- Bump SCHEMA_VERSION from 3 to 4 so per-day {day}/stats.json caches are invalidated on the next `sol think` and legacy events-agent labels (`meetings`/`decisions`/`followups`) do not linger in cached bars.
- Switch the dashboard pipeline to read `facets/*/activities/{day}.jsonl` via `load_activity_records`, `estimate_duration_minutes`, and `segment_parse`; bar categories now reflect activity types (`meeting`, `coding`, ...) while the per-day cache key `agent_data` is retained for cache-format compatibility and is now keyed by activity type.
- FOUNDER-REVIEW GATE: Do NOT deploy to /data/solstone or the Mac Mini until founder has pulled this branch, run `sol think --day <recent>`, and visually confirmed the rebuilt Activities chart and heatmap render correctly with activity-type labels.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>