3 bugs fixed in recent Phase A code:
1. POST /api/context-message: Add Zod schema validation, feature flag gate
(ai_context_messages.enabled), and safe body parsing. Previously had no
validation and unsafe 'as' cast that could null-ptr on missing body.
2. GET /api/timers/availability: Filter out dismissed/completed/fired timers.
Previously included inactive timers in occupied intervals, causing the
endpoint to report less free time than actually available.
3. agent-actions/routes.ts: Import PRODUCT_ID from product-config.ts instead
of hardcoding 'chronomind' string. Ensures consistency if product identity
changes.
Also: Add EXTRACTION_SERVICE_URL + PLATFORM_SERVICE_URL to .env.example.
All 219 backend tests pass. No breaking changes.