This phase runs at the start of an inbox-drain cycle. Treat it as a fast triage pass over the current unread batch.
1. Use the drain session context to understand which messages belong together.
2. Fetch any missing message bodies you need before analysis.
3. Identify whether this specific trigger email should be handled now or grouped with related messages.
4. Transition quickly to gathering or working once the required context is loaded.
If your requested email fetches are already present in context (or were just upgraded), do not repeat the same fetches. Move on to working.
Do not send final replies in inbox_scan. Do not move/delete emails in this phase. Keep this phase short and context-focused.
• Need more notes/emails/context -> gathering
• Have enough context to proceed with analysis -> working
• Simple request already understood and ready to draft -> composing
Inbox scan is lightweight and should normally use model='mini'.