Gaming & Esports Research Pipeline — Council Ruling
Date: 2026-04-01
Process: Full 5-phase council (Advisory → Anonymization → Peer Review → Chairman Synthesis → Boss Ruling)
Advisors: Opus, Sonnet, Gemini 3.1 Pro, Grok 4.20 Reasoning, gpt-oss-120b
Winner: Sonnet (most split council — 4-way tie at 1 genuine vote each; Opus tiebreaker endorsement of Sonnet)
Status: PENDING BOSS RULING on open questions
COUNCIL SUMMARY
Where Advisors Agreed
- Roster changes are #1 intelligence variable — 15-30% line movement, markets lag 12-24 hours
- Patch meta shifts create exploitable chaos windows — game-specific duration (CS2 shortest, Dota 2 longest)
- Map veto Monte Carlo is highest-edge model — 3-8% edge from map-specific modeling vs moneyline
- Online vs LAN performance gap is real and mispriced — OLAF adjustment factor critical
- 6 games need distinct models — round-based (CS2/Valorant/CoD) vs objective-based (LoL/Dota 2) fundamental split
- SCL construction must weight GG.bet higher than traditional sports — GG.bet reprices esports roster news 2-4 hours ahead of bet365
- Kalshi casual bettor bias — favorites systematically overpriced on Kalshi platform
- 8+ edge scanners required — Match Winner, Map Winner, Tournament Outright, Handicap, Totals, First Blood/Tower, Game Awards, Steam Rankings
- SteamDB depot monitoring for pre-patch detection before official notes
- Liquipedia as fastest structured roster data — poll every 5 min for tier-1 teams
Where Advisors Disagreed
- Architecture complexity: gpt-oss proposed enterprise stack (Kafka, TimescaleDB, MongoDB, K8s). Others used simpler approaches. Council verdict: Simple pipeline, not enterprise stack.
- Stand-in impact modeling: Sonnet provided specific RCIS multiplier table (permanent=full, emergency stand-in=1.2x, coach change=0.2x). Others treated all roster changes equally. Council verdict: Use Sonnet's tiered RCIS approach.
- SCL book weighting: Varied from Pinnacle-only to complex multi-book. Council verdict: Pinnacle 50% + GG.bet 35% + bet365 15%, with GG.bet elevated for esports-specific flow.
- Game prioritization: Some proposed all 6 at once, others phased. Council verdict: CS2 + LoL first (most liquid markets, best data), then Valorant + Dota 2, then FIFA + CoD.
Strongest Arguments (from peer review)
Sonnet wins (Opus endorsement in tiebreaker) with the most analytically precise design:
- Distinguished round-based vs objective-based games as fundamental modeling divide
- Concrete RCIS multiplier table with coefficients for every stand-in subtype
- Patch nerf magnitude rubric (>=15% stat change = 1.0, mechanic removal = 1.5)
- Scanner 4 (Handicap) identifies book internal inconsistency exploit — moneyline vs handicap arbitrage
- GG.bet weighting reasoning based on actual esports book flow knowledge
- Build-order prioritization ending with 3 concrete competitive advantages
- Clear chaos window model showing it as edge SOURCE, not just risk
Opus strong runner-up:
- Social signal detection hierarchy with specific polling intervals
- Chaos timeline for roster integration (day 1-7, 7-30, 30+) with model behavior changes per phase
- Distinct analyst archetypes (Statistical/Structural/Market-based) for the 3 blind AI analysts
- Complete DB schema with roster_stability_days column
- Infrastructure notes on HLTV scraping rate limits
Biggest Blind Spot
No backtesting or calibration framework — All advisors build elaborate probability models but none address how to validate them. No historical backtests, calibration curves, Brier scores, or mechanism to distinguish "model edge" from "Kalshi casual bias." Without this, cannot know if pipeline is generating alpha or sophisticated noise.
What Everyone Missed (from peer reviews)
- Dead rubber matches and strat-hiding — Teams in locked tournament positions deliberately lose or hide strategies. Need Match Importance Multiplier to flatten odds or halt trading for unmotivated favorites.
- Data latency trap / digital courtsiding — Public sources (HLTV, VLR.gg) have 30-120 second delays. Sharp books use GRID/Bayes Esports zero-latency feeds. Desk scraping public sites will face adverse selection.
- Signal poisoning / disinformation — False roster rumors from malicious actors can trigger costly recomputes. Need credibility-scoring engine with source history tracking.
- Demo/replay parsing as proprietary data moat — Parseable demo files from CS2/Valorant/Dota 2 contain metrics unavailable on public stat sites (execute success rate, trade efficiency, positioning entropy).
- Coaching staff turnover — Impact is delayed (shows 2-4 weeks later), inverted curve, compounds with patch sensitivity. Less media coverage = slower market repricing.
- Visa/travel disruptions — Distinct from performance-based transfers, telegraphed on social media, force quality-mismatched stand-ins.
BUILD PLAN
Phase 1: Core Data Tables
esports_teams: team_id, name, game, region, tier, roster_stability_days, active, updated_at
esports_players: player_id, name, game, team_id, role, nationality, contract_status, active
esports_matches: match_id, tournament_id, game, team_a, team_b, format (BO1/BO3/BO5), lan_online, server_region, date, status
esports_match_results: result_id, match_id, winner, map_score, total_rounds, duration_min
esports_maps: map_result_id, match_id, map_number, map_name, team_a_score, team_b_score, winner, first_blood_team, first_tower_team, side_scores (JSON)
esports_rosters: roster_id, team_id, player_id, role, joined_date, left_date, type (permanent/stand-in/loan), rcis_impact
esports_roster_changes: change_id, team_id, player_in, player_out, change_type (permanent/stand-in/coach), announced_date, detected_date, source, rcis_score
esports_tournaments: tournament_id, name, game, tier (S/A/B/C), format, prize_pool, start_date, end_date, lan_online, location
esports_brackets: bracket_id, tournament_id, round, match_id, seed_a, seed_b
esports_map_vetoes: veto_id, match_id, team_id, action (ban/pick/decider), map_name, order
esports_patches: patch_id, game, version, release_date, depot_detected_date, severity (minor/major/rework), meta_fluidity_index, chaos_window_days
esports_patch_impacts: impact_id, patch_id, team_id, pss_score, affected_agents_heroes (JSON), pre_patch_wr, post_patch_wr
esports_player_stats: stat_id, match_id, player_id, game, kills, deaths, assists, game_specific_stats (JSON — ADR/rating for CS2, ACS for Valorant, CS@15 for LoL, etc.)
esports_odds: odds_id, match_id, market_type, book, team_or_player, odds, timestamp
esports_weather_equiv: match_id, ping_ms, server_location, travel_days_since_arrival
Phase 2: Game-Specific Models
| Game |
Key Model Inputs |
Unique Factors |
| CS2 |
Map pool depth, map veto MC, pistol round WR, economy management, HLTV rating 2.0, ADR |
Round-based economy, utility usage, site execute success, AWP dependency |
| Valorant |
Agent meta, map pool, ability usage efficiency, first blood rate, clutch rate |
Agent composition synergy, agent nerf sensitivity, map control mechanics |
| LoL |
Draft meta, early game composite (CS@15, gold@15, first tower), baron/dragon control, team fight win rate |
Lane matchups, jungle pathing, objective priority, scaling vs early comp |
| Dota 2 |
Hero meta, lane matchups, Roshan timing, buyback economy, hero versatility index |
Most complex draft, longest patch chaos windows, buyback as strategic resource |
| FIFA |
Player skill rating, formation meta, in-game momentum |
Least modelable of the 6, lowest priority |
| CoD |
Map mode performance (HP/SnD/Control), respawn vs elimination modes, team roles |
Mode-specific modeling required, rotation knowledge |
Phase 3: Custom Metrics
| Metric |
Formula |
Notes |
| RCIS (Roster Change Impact) |
Role weight × synergy penalty × change_type multiplier |
Permanent=1.0, stand-in=1.2x, coach=0.2x, emergency=1.5x |
| PSS (Patch Sensitivity) |
usage_rate × nerf_magnitude × team_dependency |
Per-team, per-patch; chaos window = edge source |
| OLAF (Online-LAN Adjustment) |
LAN_WR / Online_WR + travel_fatigue_decay |
Separate for each team; LAN bonus typically 3-7% |
| Map Veto MC |
10K simulations of ban/pick sequence |
Per-matchup; 3-8% edge in map winner markets |
| Meta Fluidity Index |
Rate of hero/agent pick diversity change post-patch |
High = chaos window open = edge opportunity |
| Roster Stability Score |
Days since last roster change × (5 - changes_in_90d) |
Higher = more reliable historical data |
| Match Importance Multiplier |
f(group_stage_position, elimination_risk, seeding_impact) |
Dead rubber detection; reduce sizing or skip |
Phase 4: 8 Edge Scanners
| Scanner |
Min Edge |
Unique Logic |
| Match Winner |
4% |
Elo × map pool × RCIS × PSS × OLAF; Kalshi bias fade |
| Map Winner |
3% |
Map-specific Elo × veto MC prediction; highest edge concentration |
| Tournament Outright |
5% |
Bracket MC (20K sims) × form × fatigue × seeding |
| Handicap |
3% |
Map spread from match winner prob; book internal inconsistency exploit |
| Total Maps/Rounds |
4% |
Format-adjusted from match simulation; over/under calibration |
| First Blood/Tower |
5% |
Game-specific early aggression metrics; pistol WR (CS2), first tower (LoL) |
| Game Awards |
6% |
Sentiment analysis + historical voting patterns; no sharp book reference |
| Steam Rankings |
6% |
Trend analysis + upcoming release calendar; Kalshi-only market |
Phase 5: SCL Construction
- Pinnacle: 50% weight (sharpest overall, but slow on esports-specific news)
- GG.bet: 35% weight (dedicated esports traders, 2-4 hour lead on roster news)
- bet365: 15% weight (recreational book, useful for measuring casual bias)
- Non-competitive markets (Game Awards, Steam): No SCL — model-only pricing vs Kalshi
Phase 6: Dashboard
- Match board: upcoming matches with roster status, patch context, edge counts
- Team drill-down: roster timeline, map pool strength, RCIS history, patch sensitivity
- Map veto predictor: Pre-match veto simulation with probability distributions
- Patch tracker: Active patches, chaos window status, most-affected teams
- Roster monitor: Change detection feed, RCIS scores, stand-in alerts
- Tournament bracket: Live bracket with advancement probabilities
- Edge alerts: By magnitude, filterable by game and market type
- P&L tracker: By game, market type, edge bucket, Brier scores
Phase 7: Kill Switch
- Tournament postponement: Void all pre-match positions for affected matches
- Server issues/DDoS: Pause scanners, flag affected matches for manual review
- Match-fixing alert: ESIC/integrity flag → freeze all markets for that match
- Player health/visa: Re-run with stand-in profile when confirmed
- Patch drop mid-tournament: Re-calculate PSS, extend chaos window, reduce position sizing
- Dead rubber detection: Auto-flag matches where team has locked position, reduce to minimum sizing
OPEN QUESTIONS FOR BOSS RULING
- Game scope: CS2 + LoL first, or all 6 at launch?
- Data feed tier: Public scraping (free, 30-120s delay) or commercial feeds like GRID/Bayes ($$$, zero latency)?
- Demo parsing pipeline: Build automated CS2/Valorant/Dota 2 demo parser for proprietary metrics?
- Credibility scoring: Build source reliability tracker for social signals (tweets, Reddit, Liquipedia edits)?
- Dead rubber model: Build Match Importance Multiplier or just manually flag?
- FIFA and CoD: Worth modeling or skip (least liquid markets, hardest to model)?
- Coaching staff tracking: Add as separate RCIS category?
COUNCIL METADATA
| Detail |
Value |
| Council date |
2026-04-01 |
| Advisory responses |
5 (all completed) |
| Peer reviews |
5 (all completed) |
| Strongest advisor |
Sonnet (1/5 genuine vote — Opus tiebreaker in most split council) |
| Runner-up |
Opus (1/5 genuine vote from Sonnet) |
| Biggest blind spot |
No backtesting/calibration framework |
| Full council data |
/home/ubuntu/edgeclaw/data/councils/2026-04-01/gaming-esports-research/ |
Source: ~/edgeclaw/results/panel-results/gaming-esports-research-ruling.md