Telegram daily summary reflects Daily Production and Review Board state #26

Closed
opened 2026-05-28 18:15:07 +01:00 by bingoss · 1 comment
Owner

What to build

Type: AFK.

Add the daily Telegram summary through Hermes using actual Daily Production and Review Board state. The message should summarize generated packages, QA state, blockers, review links, and any approval-gated next actions.

Acceptance criteria

  • Daily summary sends after Daily Content Production writes package/review state.
  • Message content is derived from Postgres Reviewable Artifacts, QA state, queue state, and artifact links.
  • Missing Telegram configuration records safe diagnostics without changing package approval state.
  • Tests are written first for sent, skipped-unconfigured, failed-safe, and no-raw-artifact-body paths.

Blocked by

## What to build Type: AFK. Add the daily Telegram summary through Hermes using actual Daily Production and Review Board state. The message should summarize generated packages, QA state, blockers, review links, and any approval-gated next actions. ## Acceptance criteria - [ ] Daily summary sends after Daily Content Production writes package/review state. - [ ] Message content is derived from Postgres Reviewable Artifacts, QA state, queue state, and artifact links. - [ ] Missing Telegram configuration records safe diagnostics without changing package approval state. - [ ] Tests are written first for sent, skipped-unconfigured, failed-safe, and no-raw-artifact-body paths. ## Blocked by - #19 - #20
Author
Owner

Issue #26 completion audit

Implemented and verified:

  • Added run_daily_telegram_summary_once in scripts/local_agent_worker.py with daily Telegram config resolution, Postgres state loading, safe message formatting, Hermes sender payload creation, and daily_summary_notification stage/event recording.
  • Daily summary state is read from a terminal daily_content_production Run Request and its review-source weekly plan/direct daily artifacts, matching the existing Daily Production write path where review artifacts are associated with the active Weekly Plan queue item.
  • Message content is derived from Postgres Reviewable Artifacts, QA status, review status, requested action, implementation status, queue lane/blockers, and artifact link metadata.
  • The daily formatter intentionally does not read or include raw artifact summaries/bodies, queue bodies, task payloads, or run diagnostics.
  • Missing Telegram configuration records a skipped optional daily_summary_notification stage, safe diagnostics, and daily_telegram_summary_skipped event without changing Reviewable Artifact review/action/QA/implementation state.
  • Failed Hermes sender records safe diagnostics and daily_telegram_summary_failed using the exception type only; raw exception text is not persisted or returned.

Acceptance criteria audit:

  • Daily summary sends after Daily Content Production writes package/review state: met by the sent-path test and the not-ready guard test, which refuses to send before review state exists.
  • Message content is derived from Postgres Reviewable Artifacts, QA state, queue state, and artifact links: met by the sent-path assertions for package title, QA, review status, requested action, queue lane, and review/QA links.
  • Missing Telegram configuration records safe diagnostics without changing package approval state: met by the skipped-unconfigured test asserting Reviewable Artifact approval state remains unchanged.
  • Tests are written for sent, skipped-unconfigured, failed-safe, and no-raw-artifact-body paths: met in tests/test_weekly_telegram_summary.py under DailyTelegramSummaryTests.

Tests run on codex-server:

  • python3 -m unittest tests.test_weekly_telegram_summary
  • python3 -m unittest tests.test_weekly_telegram_summary tests.test_growth_orchestrator_worker tests.test_postgres_dashboard tests.test_postgres_schema && git diff --check
  • Result: 118 tests OK; whitespace check clean.
Issue #26 completion audit Implemented and verified: - Added `run_daily_telegram_summary_once` in `scripts/local_agent_worker.py` with daily Telegram config resolution, Postgres state loading, safe message formatting, Hermes sender payload creation, and `daily_summary_notification` stage/event recording. - Daily summary state is read from a terminal `daily_content_production` Run Request and its review-source weekly plan/direct daily artifacts, matching the existing Daily Production write path where review artifacts are associated with the active Weekly Plan queue item. - Message content is derived from Postgres Reviewable Artifacts, QA status, review status, requested action, implementation status, queue lane/blockers, and artifact link metadata. - The daily formatter intentionally does not read or include raw artifact summaries/bodies, queue bodies, task payloads, or run diagnostics. - Missing Telegram configuration records a skipped optional `daily_summary_notification` stage, safe diagnostics, and `daily_telegram_summary_skipped` event without changing Reviewable Artifact review/action/QA/implementation state. - Failed Hermes sender records safe diagnostics and `daily_telegram_summary_failed` using the exception type only; raw exception text is not persisted or returned. Acceptance criteria audit: - Daily summary sends after Daily Content Production writes package/review state: met by the sent-path test and the not-ready guard test, which refuses to send before review state exists. - Message content is derived from Postgres Reviewable Artifacts, QA state, queue state, and artifact links: met by the sent-path assertions for package title, QA, review status, requested action, queue lane, and review/QA links. - Missing Telegram configuration records safe diagnostics without changing package approval state: met by the skipped-unconfigured test asserting Reviewable Artifact approval state remains unchanged. - Tests are written for sent, skipped-unconfigured, failed-safe, and no-raw-artifact-body paths: met in `tests/test_weekly_telegram_summary.py` under `DailyTelegramSummaryTests`. Tests run on codex-server: - `python3 -m unittest tests.test_weekly_telegram_summary` - `python3 -m unittest tests.test_weekly_telegram_summary tests.test_growth_orchestrator_worker tests.test_postgres_dashboard tests.test_postgres_schema && git diff --check` - Result: 118 tests OK; whitespace check clean.
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
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
bingoss/owned-growth-engine#26
No description provided.