— Empty, loading, error, and degraded states. The non-happy-path views. —
Today view— first-run, post-onboarding, before first briefing
You're set up.
Your first briefing arrives tomorrow at 8:00 am. In the meantime Posthorn is quietly learning your inbox patterns + sender classifications.
✓
macOS permissions granted
FDA, Notes, Messages
✓
3 Google accounts connected
Last fetch 30s ago
✓
Discovery interview saved
12 facts written to memory
✓
Telegram bot connected
@SamsPosthornBot — ready
Today view— briefing being composed (one-off)
Composing your briefing…
✓Fetched 47 calendar events across 3 accounts
✓Pulled 12 unread emails
✓Read recent iMessages + Apple Notes
✓Pulled Slack + Google Chat (last 24 h)
✓Scanned local git activity (4 active repos)
⏳Synthesizing — Claude Opus 4.7 is composing the briefing
○Publishing pending-action buttons
○Delivering to Telegram + native notification
Usually 8–15 seconds. Cached system prompt keeps cost ~$0.40 per fire.
Settings— OAuth refresh failed for one account
⚠ Google reauth needed for sam@conduit.ai
Your work account's refresh token expired (common for Google "Testing" mode apps after 7 days). Briefings continue to work with your other accounts, but Conduit Gmail + Calendar + Chat are stale.
Posthorn doesn't auto-redirect to OAuth flows — you initiate them, browser pops, you grant.
Today view— LLM provider returned 529 overloaded
Claude Opus 4.7 is overloaded
Anthropic returned HTTP 529 on 8 retries. We fell back to Claude Sonnet 4.6 for this briefing — quality is ~90 % of Opus on most prompts.
Tomorrow morning will try Opus first. If you'd rather always use Sonnet to avoid this fallback dance, change it in Settings → AI Provider.
Today view— briefing fired with partial data
Today's briefing is partial
3 of 7 data sources failed. Briefing still composed from what we have — but you might notice gaps. Specifically:
✓Calendar47 events fetched
✓Gmail (3 accounts)12 unread
⚠SlackToken expired — last fetch 4 days ago
✗Google ChatAPI quota exceeded — retry in 6h
✓iMessage23 recent messages
⚠Apple NotesAppleScript timed out — retry next briefing