Morning report snooze re-surfacer¶
URL: https://mkdocs.justinsforge.com/memory/general/reference_morning_report_snooze_check/
Phase 3 of the Telegram bot upgrade. Companion script to
forge_morning_report_callbacks.py (which writes the snooze marker) and
forge_morning_report.py (which posts the original report).
What it does¶
- Reads
forge/data/morning_report_snooze.json. - If
now_utc >= until, sends a short reminder viasendMessagewithreply_to_message_idpointing at the original morning-report message so the reminder threads visually under the pinned report. - Rotates the marker to
forge/data/morning_report_snooze.last.json(audit trail) so the same snooze never fires twice. - If the marker is missing or
now < until, exits 0 with a log line.
Files¶
- Script:
forge/scripts/forge_morning_report_snooze_check.py - Service:
forge/infra/systemd/forge-morning-report-snooze-check.service - Timer:
forge/infra/systemd/forge-morning-report-snooze-check.timer(15-min cadence) - Marker (active):
forge/data/morning_report_snooze.json - Marker (audit):
forge/data/morning_report_snooze.last.json
Install¶
Not auto-installed. After review:
sudo cp /home/justinwieb/forge/infra/systemd/forge-morning-report-snooze-check.{service,timer} /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now forge-morning-report-snooze-check.timer
Why a separate reminder, not a fresh report¶
Sending a brand-new morning report when the snooze pops would compete with the next day's report and double the pin slot churn. A short threaded reply keeps state simple: the original report stays pinned, Justin scrolls up to see it, taps Mark done or Full plan when ready.
[Claude Code]