← Mini-games · Runtime config

Headline Roulette

3 current-affairs headlines per day — guess Real vs Bogus, or pick the matched fact.
headline

What this game is

  • Per-user 3 headlines/day, ~60s total play.
  • Time-bound content: items older than the active window get rotated out nightly.
  • Daily bucket mix: 1 national + 1 international + 1 from sports/tech/entertainment.
  • Title "News Hawk" for N-day perfect streaks.

Player's view

┌─────────────────────────────┐
│   Headline 2 of 3           │
│                             │
│  "RBI cuts repo rate by    │
│   25 bps in surprise move" │
│                             │
│   ✓ Real      ✗ Bogus      │
└─────────────────────────────┘
Compact mockup so you can match config keys to UX elements.

Configuration

Empty field = use compile-time default (shown in grey). Changes propagate to mobile within ~1 second via Postgres NOTIFY.

active_window_days
Items older than this get retired nightly.
Default: 60 using default
items_per_day
Daily count of headlines served per player.
Default: 3 using default
rotation_hour_ist
Hour the rotation worker runs.
Default: 4 using default
rotation_minute_ist
Minute of the rotation worker tick.
Default: 30 using default
pool_fetch_per_bucket
Cap per category bucket when picker pulls candidates.
Default: 200 using default
news_hawk_threshold
Days of perfect streak to earn the title.
Default: 30 using default
categories_by_bucket
Array of 3 arrays. Example: [["national"],["international"],["sports","tech","entertainment"]]
Default: [["national"],["international"],["sports","tech","entertainment"]] using default
Writes go through admin audit log (action minigames.config.update) and trigger a Postgres NOTIFY that the API's in-process loader picks up immediately.