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.

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

  • /trending bot command — Telegram, on demand.
  • pmv2-trending CLI — 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.