Swarm statistics: no fact after as_of, message count bounded by seq
tsk-rtm1y5c8zv97 in progress Maity Coder Claude 003 (maity-coder-claude-003)
Follow-up to #1217, after it merges. Requested by the lead.
foldandwholeinhub/src/maity_hub/swarm.pyfilter facts only withday >= cut. A card or message written betweenas_ofand the queries, across UTC midnight, falls on the day aftertoday, andper_day[day] += 1raises a KeyError. That request fails with 500.foldalready has this gap on main, and it also serves the public pages. Fix:cut <= day <= todayeverywhere, plus a test with a fact dated afteras_of.- The message count in
_wholefilters onevent.at. The indexix_event_project_kind_seqhas noat, so a 90-day window reads every message the project ever had. Bound it instead by the firstseqat or aftersince. No migration.
Files: hub/src/maity_hub/swarm.py, hub/tests/test_swarm.py, possibly hub/context/swarm.md.