Daily Morning Brief — Template + Cadence Spec
Status: MVP design phase · first manual fire Fri 5/8 ~7 AM EDT
Doctrine: manual → repeatable → VA-safe runbook → automated
Purpose
A daily proactive email Sam reads on his phone over coffee. It tells him:
- What I know about today
- What I don't know
- What's open / on the table
- 1-3 clarifying questions he can reply to
His reply re-shapes my picture of his day. By the time he opens his desktop, his view is current, not stale.
This replaces "scrolling through email + checking calendar + hoping nothing was missed" with a single doctrine-aligned start-of-day artifact.
Cadence
- Mon–Fri ~7:00 AM EDT — full brief
- Sun ~9:00 AM EDT — weekly review variant (longer, planning-flavored)
- Sat — no email (Shabbos)
- Federal holidays / Yom Tov — no email
Sources Sam permits me to pull from
| Source | Endpoint / Path | What it gives |
|---|---|---|
| v1 Monthly Obligations Sheet | PWA /?route=obligations&days=14 |
Money on the table next 14 days |
| Eden Inv #20028 thread | Gmail subject:"Final Notice" OR subject:"#20028" |
Inbound replies / silence |
| MIS V11 sheet | PWA /?route=markets (when implemented) |
Market-state summary |
| Action_Master | PWA /?route=loops |
Open loops with owners |
| Quick_Capture | PWA /?route=today |
Items captured by phone since last brief |
docs/CURRENT_STATE.md |
local file | Latest session state + open loops by area |
docs/SCOPE_BACKLOG.md |
local file | Parked items eligible for surfacing |
| Gmail Drafts | MCP list_drafts |
Sam's phone-handoff queue |
| Calendar | Google Calendar MCP | Today's blocks |
Form (locked iteration #0 — subject to change Fri after Sam reads)
Subject
🌅 [Day] [Mon DD] · [N open · M decisions · K $$ today]
Example: 🌅 Fri May 8 · 4 open · 1 decision · $3,853 due
Header block
- Light/dark adaptive HTML (per Session 28 v3+ pattern)
- Date + time
- 1-line bottom-line ("Your day in one sentence")
Section 1 — 🚨 NOW (top 3 items needing Sam's attention before EOD)
Each item: ↑/↓ direction · what it is · who owns · what's the literal next step · acceptance test if completable today.
Section 2 — 📅 WAITING ON OTHERS
Items where Sam owns "track" but not "do." Each line: who · what · how long they've been silent · trigger to follow up. Pulled from CURRENT_STATE + Gmail.
Section 3 — 💰 MONEY ON THE TABLE
Pulled from PWA obligations endpoint, next 14 days. Sortable by days. Flag overdue in red. Total at top.
Section 4 — 📊 MARKETS (if MIS triggers on)
One-line MIS regime + VIX + Mag 7 deltas. NOT the full Power Hour.
Section 5 — ❓ CLARIFYING QUESTIONS (max 3)
Things I genuinely need Sam's input on before today moves. Format:
- Q: [1-line question]
- Why: [1-line context]
- Default if no reply: [what I'll do]
Section 6 — 🎯 IF YOU DON'T REPLY
What I'll proceed with as defaults. Lets Sam say nothing and still have a sane day.
Section 7 — 📌 BACKBURNER SURFACE (rotated)
1-2 items from SCOPE_BACKLOG that are aging. Per existing memory feedback_drafts_as_open_loops.md + the proposed backburner ritual.
Footer
- Source trail (which files / endpoints / threads I read)
- Last commit hash
- Memory snapshot age (oldest fact I'm relying on)
- "Reply to this email — I'll re-shape my picture"
Reply contract
Sam replies to the brief however he wants. I parse:
- Direct answers to my Qs ("Q1: send to Mildred. Q2: skip today.")
- Blanket overrides ("park everything, family day")
- Adds ("also: call Asher before noon")
- Removes ("drop the Eden chase, I'll handle Friday afternoon")
I produce a "tweaked beginning of the day" reply within 30 min of his email — a one-shot updated picture, no questions, just confirmations + revised plan.
After that: silent until 7 AM next day, unless he prompts.
What this is NOT (stop rules)
- Not a notification system. One email per morning, one reply email per response. No cascade.
- Not a chat. If Sam wants conversation, he opens Claude Code.
- Not a build target. The form lives in this doc; the EMAIL is the artifact.
- No automation Phase 1. Manual draft + Sam taps Send. After 2-3 days form locked, I add Apps Script trigger to the PWA project.
- Not multi-recipient. Sam → Sam only. Mildred has her own start-of-week briefing pattern.
Anonymization test (Sam ask 2026-05-07)
The template above SHOULD remain valid if Sam's name + business names + people names are removed. The structure (NOW · WAITING · MONEY · QUESTIONS · IF YOU DON'T REPLY · BACKBURNER) is the consulting-product layer. The named items are the personalized layer. That's the Hook Street offering = "I turn recurring chaos into an operating system."
Acceptance test
This template is "Done" when:
1. Sam reads it on phone over coffee
2. He doesn't have to open another app to know his day
3. He can reply with 3 lines and his picture updates correctly
4. The defaults section means he can say nothing and still have a sane day
5. It survives Mon-Fri for 5 consecutive days without form changes
Until those 5 things happen, it's "Built / Awaiting Validation" not "Tested."
Source
Sam voice memo 2026-05-07 evening + ChatGPT "Z's World" excerpts v9 + existing memories project_home_base_vision.md + user_sam_loop_closing.md + feedback_drafts_as_open_loops.md + feedback_classifier_first_doctrine.md.