a7d72f2f84
Per Codex — give follows an immediate payoff without making the email feel algorithmic. The editorial brief stays the star: subject + brief count unchanged. * followed_digest_items(conn, user_id, exclude_ids, limit=3): recent items from the user's followed sources/tags, same accepted/non-dup/content-visible gate, excludes anything in the brief, capped to one per source so a single follow can't dominate. Empty → section omitted (no empty state in email). * build_digest gains an optional `followed` list → a small "From what you follow" section AFTER the brief, only when there are items. Item rendering factored into shared _item_html / _item_text_lines helpers. * send_due_digests computes the followed items per user (excluding the brief). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>