22a13636e8
services/events.py::list_events treated any event with end_dt IS NULL as perpetually matching, so a point-event created last week would be returned as "happening today" whenever the briefing or list_events tool queried today's window. That manifested as briefings claiming past events were scheduled for the current day. Split the null-end branch: point events now only match when start_dt falls within [date_from, date_to]. Events with an end_dt continue to use standard overlap logic. This bug affected both the legacy briefing synthesis and the agentic list_events tool path, since both call the same events service. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>