Two pages, every morning.

The News Brief turns yesterday's newsletters into a digest at 9:15. The Morning Brief gathers tasks, calendar, focus stats, and flagged email into one page at 10:30. Both publish to Notion once per day.

2 pages / day1 LLM call each0 raw URLs shown to the model0 duplicate days

01The sieve

news brief · cron 09:15 ET · news-labeled email from the last 24h
News Brief sieveNews email from the last 24 hours is sorted into always, sometimes, and never tiers, and the kept stories are merged into one Notion page while the rest are dropped.News emailLAST 24H · TRACKING STRIPPEDALWAYSFRONTIER AI · LEADERSHIP · REGULATIONSOMETIMESMACRO & MARKETS · BIG-TECH · GADGETSNEVERPROMOS · LIFESTYLEOne Notion pageGROUPED BY CATEGORYDROPPED

02The fan-in

morning brief · cron 10:30 ET · five sources, one page
TasksNOTION
Focus hoursNOTION
LeetCode statsNOTION
Flagged emailGMAIL
EventsCALENDAR
🌅 Morning Brief — Thu
TL;DR: 3 tasks due today, 1 flagged email needs a reply, light calendar.
Today (3)
Finish the review draft
2 LeetCode problems
Reply to the flagged thread
Calendar
· 10:00 team call · 18:00 gym

03Notion output

strict formats · one quote-line per story
Format rules
ENFORCED BY THE PUBLISHER, NOT THE PROMPT
One quote-block line per story: label, sentence, source link.
Citation URLs are allowlisted against the source markdown. No invented links.
$ is escaped. Notion would render math.
A failing source degrades its section, never the page.
📰 News — Thu
NEWS BRIEF · GROUPED BY CATEGORY
AI & Tech
Frontier models: Lab ships a new reasoning model. — The Information
Chips: Fab capacity tightens again. — Bloomberg
Markets
Macro: Yields drift ahead of CPI print. — Reuters

04Guarantees

publishing discipline
One page per day

The publisher checks for an existing page first. The same brief never posts twice.

Graceful degradation

If a source is down, its section is skipped. The rest still publishes.

[N]
No raw URLs

The model only sees numbered link ids, which blocks prompt injection and fake links.

Allowlisted citations

Every link is verified against the fetched sources.

Two pages, published daily.

Plain Python and one model call each.

internals →