Skip to content

Personal digest: a private, DM'd feed roundup - #21

Merged
R055LE merged 10 commits into
mainfrom
worktree-personal-digest
Aug 19, 2026
Merged

Personal digest: a private, DM'd feed roundup#21
R055LE merged 10 commits into
mainfrom
worktree-personal-digest

Conversation

@R055LE

@R055LE R055LE commented Aug 19, 2026

Copy link
Copy Markdown
Owner

What

Adds a second, privately-curated digest — a feed roundup DM'd to the owner only (or an optional
configured channel), separate feed list and schedule from the existing public digest. Reuses
Digest's existing RSS/feedparser mechanism and shares its LLM budget rather than being a new brain.

Tracks ROADMAP.md item 1 (roadmap and design spec added in this same branch — the roadmap doc is
new, cross-linked from a new companion repo, community-discord,
which holds non-code server/community planning notes).

Built via

Full brainstorming → design spec → implementation plan → subagent-driven-development pipeline:
6 tasks (storage, config, job function, curation tools, scheduling, docs), each implemented and
reviewed independently (one fix round on Task 3 — missing test coverage for a delivery-failure
path), then a final whole-branch review that caught two real bugs no task-level review could see:

  • The loop-start gate checked the seed env var instead of self-gating, so feeds curated live via
    chat (the whole point of the curation tools) would never actually get scheduled.
  • personal_feeds and the public feeds list share the same dedup table — a URL in both lists
    would only ever be delivered by whichever job runs first each day, silently.

Both fixed (loop now self-gates like Giga Brain's interval check does; the dedup collision is
documented as a known caveat rather than re-architected, given the effort/value tradeoff), plus two
smaller doc gaps (a missing boot-time channel-reachability entry, four tools missing from the
security-posture registry table). Re-reviewed clean.

Details

  • New personal_feeds table (mirrors feeds), no migration needed.
  • New settings: PERSONAL_DIGEST_FEEDS, PERSONAL_DIGEST_CHANNEL_ID (unset = DM the owner, same
    fallback shape as GIGABRAIN_CHANNEL_ID), PERSONAL_DIGEST_HOUR.
  • run_personal_digest_job — same fetch/dedupe/summarize as the public digest, DM-or-channel
    delivery mirroring Giga Brain's periodic check-in.
  • Four new owner-only curation tools mirroring the public digest's four (list_personal_feeds,
    suggest_personal_feeds, add_personal_feed, remove_personal_feed) — no admin.py changes
    needed, tools auto-register.
  • Scheduled _personal_digest_loop, self-gating, with ops-channel failure alerting.

275 tests passing, ruff clean.

🤖 Generated with subagent-driven-development

@R055LE
R055LE merged commit 9687bb9 into main Aug 19, 2026
2 checks passed
@R055LE
R055LE deleted the worktree-personal-digest branch August 19, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant