signal-bot/signal_bot/stats
Krzysztof kuhy Rudnicki 50bd390b00 release: 0.1.6 «Zephyrinus» — 21:37 reports today, not yesterday
The scheduler fired exactly on time tonight and posted nothing, because
publish_report covered the previous full day and the bot's first recorded
day was today: "no messages in group.WTI5dVptbG... on 2026-08-29". Correct by
code, a day late to everybody reading the group.

So the report covers the day it runs on. The count closes at the report
time and render_day says so, because a total that quietly omits three hours
is worse than one that admits to it. Everything that made a late day
recoverable stays: the per-group marker still prevents a double post, and
days_to_report still yields every day an outage swallowed.

closing_periods keeps taking a day rather than reading a clock, so a week
now closes on the Sunday evening it ends -- off a day that is itself still
running -- and a catch-up on a week-old Sunday still gets it right.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017w1HZ3cZ7neL3rFdQ6VMBA
2026-08-30 22:09:13 +02:00
..
__init__.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
backfill.py fix: !ja told everybody their favourite hour was noon 2026-08-30 20:15:20 +02:00
commands.py release: 0.1.4 «Eleuteriusz» — the list of commands lives in the chat now 2026-08-30 21:08:02 +02:00
curiosities.py fix: !ja told everybody their favourite hour was noon 2026-08-30 20:15:20 +02:00
events.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
facts.py feat: the nightly post notices things 2026-08-30 19:43:55 +02:00
highlights.py feat: nine commands for asking the statistics questions 2026-08-30 19:49:41 +02:00
nightly.py release: 0.1.6 «Zephyrinus» — 21:37 reports today, not yesterday 2026-08-30 22:09:13 +02:00
periods.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
queries_day.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
queries_period.py feat: periods, records and the crown 2026-08-30 19:38:54 +02:00
recorder.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00
records.py feat: the nightly post notices things 2026-08-30 19:43:55 +02:00
render_day.py release: 0.1.6 «Zephyrinus» — 21:37 reports today, not yesterday 2026-08-30 22:09:13 +02:00
render_extra.py fix: !ja told everybody their favourite hour was noon 2026-08-30 20:15:20 +02:00
render_period.py feat: nine commands for asking the statistics questions 2026-08-30 19:49:41 +02:00
streaks.py feat: periods, records and the crown 2026-08-30 19:38:54 +02:00
text.py feat: the message event log, and the nightly report built on it 2026-08-30 19:14:43 +02:00