The WS broadcast payload was missing day_start_time, day_end_time, and duration_minutes, so applySnapshot nulled them out on session_update. Now _broadcast_session fetches the template and includes all fields. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>