# Email System Build — Protocol 2-3-4-1

## Phase 2: Compose View
- `[ ]` Backend: `POST /api/communications/send` — single email via SMTP
- `[ ]` Frontend: Compose form (To, Subject, Body, Sender Alias dropdown)

## Phase 3: Internal Comms
- `[ ]` Backend: `POST /api/communications/internal` — post internal message
- `[ ]` Backend: `GET /api/communications/internal` — fetch message history
- `[ ]` Frontend: Real-time internal chat panel via WebSocket

## Phase 4: Sender Aliases
- `[ ]` Backend: `GET /api/communications/aliases` — return mesh node aliases
- `[ ]` Frontend: Alias selector dropdown in compose + identity display

## Phase 1: Inbox
- `[ ]` Backend: `GET /api/communications/inbox` — fetch emails via IMAP
- `[ ]` Backend: `GET /api/communications/inbox/{msg_id}` — read single email
- `[ ]` Frontend: Inbox list view + email detail pane

## AI Assistant
- `[ ]` Backend: `POST /api/communications/ai-assist` — draft/summarize/reply
- `[ ]` Frontend: Toggleable AI assistant panel (slide-in)
- `[ ]` Wire to Donna inference pipeline

## Deployment
- `[ ]` Remove old bulk dispatch code from core/main.py
- `[ ]` Deploy backend to Modal
- `[ ]` Deploy frontend to Cloudflare Pages
