Skip to content

Telegram inline actions (email triage + morning report)

Shipped 2026-06-09, brain track of the bot-features menu.

  • Email triage: coordinator tool email_triage_digest(account, window, limit) in forge/scripts/forge_email_triage.py. Chunked digests, per-email Archive/Star/Unsub/Task buttons; the tap IS the per-item approval (satisfies [[feedback_email_actions_confirm]]). Callback data etriage:<arch|star|unsub|task>:<p|b>:<gmail_id>; prefix registered by a lazy shim in forge_telegram_callbacks.py (no poller imports needed).
  • Morning report keyboard (forge_morning_report.py): rows [Ack] [Snooze 1h] [Mark done] / [Open tasks url->tasks.justinsforge.com] [Full plan]. morning:ack = eyes reaction, no bubble ([[feedback_telegram_bot_ux_reactions]]). Handlers in forge_morning_report_callbacks.py.
  • Snooze re-surfacer timer forge-morning-report-snooze-check.timer is now INSTALLED and enabled (was built Apr 30 but never installed).
  • Canonical coordinator token/chat loader: forge_coordinator_proactive.load_coordinator_env(); do not re-parse the env file.

[Claude Code]