feat(news-digest): daily digest cron — extract → headless Claude curation → email #71

Merged
gertjan merged 1 commit from feat/news-digest-cron into main 2026-06-23 13:49:08 +00:00
Owner

Replaces the session /loop (5-day cap, costly hourly heartbeats) with a host
cronjob at 06:00 Europe/Berlin.

  • daily_digest.sh: idempotent entrypoint — extract candidates, curate via
    headless claude -p (subscription auth, no API key; Read/Write tools only,
    acceptEdits), then email via send.py. Pins TZ/HOME/PATH for cron; self-contained
    size-capped log rotation (logrotate pkg unavailable / no root).
  • curation_prompt.md: editorial instructions + strict output schema; the wrapper
    injects the day's candidate/digest paths and date label.
  • First commit of the standalone news_digest package (was untracked on disk).
  • Ignore generated out/*.json artifacts and pycache.

Crontab (lives outside the repo):
CRON_TZ=Europe/Berlin
0 6 * * * /home/andy/dev/bodega/scripts/news_digest/daily_digest.sh

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Replaces the session /loop (5-day cap, costly hourly heartbeats) with a host cronjob at 06:00 Europe/Berlin. - daily_digest.sh: idempotent entrypoint — extract candidates, curate via headless `claude -p` (subscription auth, no API key; Read/Write tools only, acceptEdits), then email via send.py. Pins TZ/HOME/PATH for cron; self-contained size-capped log rotation (logrotate pkg unavailable / no root). - curation_prompt.md: editorial instructions + strict output schema; the wrapper injects the day's candidate/digest paths and date label. - First commit of the standalone news_digest package (was untracked on disk). - Ignore generated out/*.json artifacts and __pycache__. Crontab (lives outside the repo): CRON_TZ=Europe/Berlin 0 6 * * * /home/andy/dev/bodega/scripts/news_digest/daily_digest.sh Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat(news-digest): daily digest cron — extract → headless Claude curation → email
All checks were successful
Deploy / check (pull_request) Successful in 4m16s
Deploy / deploy (pull_request) Has been skipped
ebc81a6dde
Replaces the session /loop (5-day cap, costly hourly heartbeats) with a host
cronjob at 06:00 Europe/Berlin.

- daily_digest.sh: idempotent entrypoint — extract candidates, curate via
  headless `claude -p` (subscription auth, no API key; Read/Write tools only,
  acceptEdits), then email via send.py. Pins TZ/HOME/PATH for cron; self-contained
  size-capped log rotation (logrotate pkg unavailable / no root).
- curation_prompt.md: editorial instructions + strict output schema; the wrapper
  injects the day's candidate/digest paths and date label.
- First commit of the standalone news_digest package (was untracked on disk).
- Ignore generated out/*.json artifacts and __pycache__.

Crontab (lives outside the repo):
  CRON_TZ=Europe/Berlin
  0 6 * * * /home/andy/dev/bodega/scripts/news_digest/daily_digest.sh

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gertjan deleted branch feat/news-digest-cron 2026-06-23 13:49:09 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
gertjan/bodega!71
No description provided.