activities: anticipation-aware durations and icon taxonomy
The activities day API was built for realized records with `segments`;
anticipated records (`source: "anticipated"`) carry `start`/`end` HH:MM:SS
strings and the schedule talent's expanded slug taxonomy. The route now
branches on `source`, derives `duration_minutes` from `start`/`end` when
both are present, and looks up activity metadata via a global
`DEFAULT_ACTIVITIES` fallback so schedule slugs resolve without per-facet
attachment. Renderer hides the duration cell when missing and falls back
on a generic 🗓️ icon. Adds 9 new default entries (call, deadline,
appointment, event, travel, reminder, errand, celebration,
doctor_appointment) for the schedule talent's vocabulary.
Follow-up not in this lode: `apps/home/routes.py:521` has the same
`estimate_duration_minutes(segments)` bug on the home-page yesterday rollup;
fix it in a separate diff.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>