Three feeds, one markdown file, no writing. The AI briefing does the prose; news and governance supply the evidence under it.
/items/news/summary/ returns written prose rather than rows, which is what makes this a digest instead of a list. The headlines below it are the receipts — a briefing nobody can check is a briefing nobody trusts.
Produced by running the code above against the live API, not written by hand.
Actual output, 15 Sep 2026. Two honest details: the same account-abstraction story appears twice from different outlets, because deduping across ~50 sources is your job and not the API's; and the governance section lists Alchemix, 1inch and Lido proposals under an Ethereum digest, because those are Ethereum DAOs.
The same shape, pointed somewhere else. Every figure below came back from the live API.
Monthly instead of weekly
period=2 widens to a month — 1,024 Ethereum articles rather than a week's handful. The AI summary is recomputed server-side and does not take a period, so only the evidence section widens.
One digest per DAO
Scope governance with sources rather than tags and the section stops reporting the whole Ethereum ecosystem under one project's name.
Dedupe the headlines
The same story arrives from several of the ~50 outlets. Group on a normalised title before printing, or the digest reads like it is stuttering — as the output above does.
Ecosystem tags are broader than they look
tags=ethereum on governance returns 4,727 proposals because Alchemix, 1inch and Lido are all Ethereum DAOs. That is correct behaviour, not a bug, but it means a per-project digest reads wider than a reader expects. Filter by sources when you want one DAO.
period does not apply to governance
Proposals carry starts_at and ends_at rather than published_at, so a period filter passes through without narrowing anything. Window governance on its own dates.
Sentiment is per article, not per project
Each news item carries sentiment (-2 to +2) and sentiment_score. There is no project-level mood field — averaging is your call, and a mean over 50 articles can read positive in a week whose single biggest story scored -2.
Analyse crypto podcasts programmatically
~25 min · Python, stdlib only
Alert on DAO proposals closing soon
~15 min · Python, stdlib only