Adds the Telepathy email communication layer as an OTP subtree:
- Telepathy.JMAP: GenServer that discovers Fastmail JMAP session,
periodically polls inbox for new emails, and provides send_email/3.
Uses :httpc (no external HTTP dep). Deduplicates via seen_ids MapSet
seeded from existing MessageStore entries.
- Telepathy.MessageStore: JSONL-backed message persistence, compatible
with the existing Python messages.jsonl format. Supports store, unread,
mark_read, list, count operations.
- Telepathy.Supervisor: rest_for_one supervisor (MessageStore then JMAP).
- Conditionally enabled via config (:telepathy, :enabled). Disabled in
test env. Can be disabled at runtime via TELEPATHY_ENABLED=false.
Validated against live Fastmail: session discovery, inbox fetch (20
emails), message storage all working.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configures Bandit with 615s drain timeout and 620s OTP shutdown window
so in-flight Claude CLI calls (up to 600s) complete before systemd kills
the process on restart.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>