The trending feature: a velocity signal over cohort entries that surfaces bets gaining edge-trader interest fast, plus an /trending bot command and an acceleration auto-alert. Shipped on main in commits 2c05c5a..4906eea (2026-06-03).
Joiner-seed fix (foundation)
run_pmv2_positions previously could fabricate entry bursts whenever the cohort got reshuffled — a newly-added wallet’s existing holdings looked like a wave of fresh ENTERED events. Fixed with an is_new_entry predicate: only emit ENTERED events for wallets that were already present in the prior snapshot. A wallet appearing for the first time is seeded silently, not counted as entering.
For Agents
This is what makes the trending velocity trustworthy — without the joiner-seed guard, every cohort membership change would spike the trending query. The predicate gates event emission, not detection.
Velocity query — trending_bets
Counts distinct high-score cohort wallets that ENTERED a given bet within a 6h window, compared against the prior window. The delta is the velocity / acceleration signal: a bet many edge traders are piling into right now ranks high.
Surfaces
/trendingbot command — Telegram, on demand.pmv2-trendingCLI — same query from the command line.
Acceleration auto-alert
Fires automatically when a bet’s entry velocity accelerates. Dedup is handled by a 12h cooldown keyed in pm_trending_alerts.
Telegram-size guard prevents an infinite re-alert loop
The auto-alert is Telegram-size-guarded. Without it, an over-limit alert message that fails to send would not record its dedup row, so the next cycle would re-detect the same acceleration and re-attempt the send forever. The size guard ensures the alert is clamped/recorded so the cooldown actually takes hold.