- Previously: text+media message went ONLY to media array → text waited for vision - Now: text part goes to text batch (immediate LLM analysis), media parallel - DB update is idempotent — second write to same message_id overwrites - User sees text moderation results instantly, media follows when ready