Notification.timestamp is now stored as a native BSON Date instead of a string, so load_latest_data must parse the ISO string coming from Redis back to datetime before building the $gt filter, or the comparison silently breaks (BSON String vs Date always evaluates False). Also fixes put_last_data_timestamp, which would otherwise raise TypeError trying to json.dumps a pandas Timestamp when persisting the new watermark to Redis. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>