Morning Brief — Daily Founder Digest
What it is
A single markdown digest John reads every morning. It replaces the need to visit WatchTower, check each property's scorecard, scan his inboxes, or remember which skills to invoke. Delivered via email to john@churchwiseai.com at 7:00am America/Toronto and persisted at /founder/[token]/morning-brief.
Design principles
- 30k-ft first. One-line portfolio claim + traffic light indicator. John can triage in 30 seconds.
- Drill-down to real evidence. Every high-altitude claim has a one-click path to the underlying scorecard, SQL result, Playwright trace, git log, or Stripe event. No black boxes.
- No claim without proof. If the agent couldn't verify something, it's marked
⚠ unverified, not rolled into an aggregate. - Bad news at the top. Anything that regressed goes above the fold with its drill link.
- Bubble up only what needs John. Everything the agent could act on has already been acted on; the brief reports actions taken, not queue of agent TODOs.
Structure
# Morning Brief — <Day Date>
<one-line portfolio summary with traffic-light dots>
<one-line overnight change summary>
## What's Live
• Per-property status (5 rows — CWA, ITW, PewSearch, SermonWise, Pro Website)
[scorecard] [last-run] [evidence]
## Money
• Stripe: N real paying customers, MRR $X, N failed webhooks
• Outreach: N sent, N opens, N replies
## What Broke Overnight
(or empty-diff evidence link)
## Actions For You (N items, ~X min)
1. <founder-action 1> [link to resolve]
2. <founder-action 2>
3. <founder-action 3>
## Actions Taken For You (N items)
• N receipts filed
• N newsletters archived
• N GSC alerts investigated (N PRs drafted)
• <link to full audit>
## This Week's Agenda
Mon 9am — knowledge freshness audit (doc-control)
Wed 9am — customer health (DBA)
Fri 9am — weekly retrospective (chief-of-staff)
---
Verify anything. Every link opens the raw artifact.
Inputs the compose step reads
| Source | Signal | Where |
|---|---|---|
knowledge/readiness/reports/<property>-*.json | Latest per-property scorecard | Filesystem or Supabase readiness_scorecards |
ops_errors | Unresolved P0/P1 since yesterday | Supabase |
founder_action_items | Open items, priority ≤ P1 | Supabase |
moderation_violations | High-severity in last 7d | Supabase |
premium_churches with is_real_customer filter | Real paying customers | Supabase |
| Stripe API (optional) | MRR + webhook failure count | Remote |
| Outreach counts | Yesterday's sent/open/reply | Supabase outreach_contacts |
ACTIVE_WORK.md | Active agent worktrees | Filesystem |
knowledge/readiness/reports/ diff (today vs yesterday) | Regression diff | Filesystem compare |
| Email triage agent output | Filed / acted / escalated counts | See email-triage.md |
Composition schedule
The Vercel cron at 7:00am America/Toronto runs /api/cron/morning-brief-compose. That route:
- Aggregates all of the above signals
- Composes the markdown using the template
- Inserts a row into
morning_briefs(date, markdown_body, json_meta, composed_at, email_sent_at) - Sends email via Resend to
john@churchwiseai.com - Returns JSON summary for health-check monitoring
The richer email triage (Claude Code + Gmail MCP) runs separately on John's workstation via /schedule and amends the brief row with the triage section.
Fallback & degradation
If an input is missing (e.g. Supabase slow, Stripe API down), the corresponding section is rendered as ⚠ unverified: <reason> instead of being omitted. This honors the 30k-ft-with-drilldown rule — silence is never green.
What the brief never includes
- Marketing boilerplate
- Cumulative lifetime metrics (those live in the Overview tab)
- Any claim without a working drill-down link
- Agent internal debugging output
Phase roadmap
Phase 1 (now): Vercel cron assembles portfolio + money + action-items sections. Email triage is a separate /schedule task that updates the brief.
Phase 2: First real paying customer lands. Brief adds a "Customer Health" section (real customer login activity, support ticket age, usage anomalies).
Phase 3: Brief gets terser as portfolio stabilizes — the daily becomes mostly green. Weekly retrospective on Friday becomes the richer artifact.