AI Judge Prediction Pool is a production dashboard for running a multi-model football forecasting council. It collects raw web responses from AI model seats, normalizes and classifies those outputs, validates structured betting receipts, tracks odds provider readiness, and publishes an auditable run report.
- Production: https://pool-app-one.vercel.app
- GitHub: https://github.com/reguorider/rally-pool
- Current run:
run-6 - Active seats: 12
- Run-6 status: 12/12 raw outputs recovered, 12/12 valid receipts, 0 rerun queue
- Current betting gap: real odds are available, but run-6 has 0 accepted bets and needs receipt regeneration/review
- Deployment target: Vercel production alias
The product is built for repeatable AI forecasting operations rather than a one-off prompt experiment. Each model seat gets an isolated prompt packet, the system stores the raw answer, then a pipeline turns that response into traceable operational artifacts.
Core workflow:
- Collect real web responses from AI model seats.
- Ingest raw model outputs into
data/pool/model_outputs/raw/<round>/. - Classify seat status and detect placeholders, context pollution, auth blocks, quota blocks, and recovered receipts.
- Validate structured betting receipts against odds snapshots and match data.
- Settle accepted bets when valid market coverage exists.
- Generate daily reports, system health summaries, and production dashboards.
- Deploy the verified state to Vercel and publish the repository to GitHub.
Run-6 has been repaired from the old 13-seat contract to the current 12-seat contract. Claude and Zhipu are removed from active seats because they do not return usable results in this workflow.
Current active seats:
- Gemini
- ChatGPT
- Yuanbao
- Wenxin
- DeepSeek
- MiMo
- Kimi
- Qwen
- xAI
- MiniMax
- Doubao
- Meta AI
Run-6 verification:
- Model output dropbox: 12/12,
ready_for_ingest - Model runs: 12 valid receipts, 0 rerun, 0 quota/auth/timeout blockers
- Odds provider smoke:
PASS_REAL_PROVIDER_HAS_VALID_ODDS, 989 valid odds rows - Betting receipts: 3 zero-stake receipts, 0 accepted bets; not valid for settlement yet
- Daily report: 12 valid outputs, 0 models need rerun
- Pipeline:
final_status=pass - Browser smoke: 5 views clickable, no console/page errors
- Dashboard overview with run status, model count, match count, and pipeline health.
- Model leaderboard and individual seat records.
- Match detail view for forecasts, odds, and settlement context.
- Run archive view for previous rounds and recovery notes.
- System health view for provider status, dropbox readiness, pipeline status, operations readiness, and deployment checks.
GET /- production dashboardGET /api/pool/models- current active model seatsGET /api/pool/output-dropbox/run-6- run-6 raw output readinessGET /api/pool/model-runs/run-6- run-6 model classification summaryGET /api/pool/bet-receipts/run-6- validated receiptsGET /api/pool/settlements/run-6- settlement statusGET /api/pool/daily-reports/2026-06-03/run-6- daily reportGET /api/pool/pipeline-runs/2026-06-03/run-6- pipeline statusGET /api/pool/provider-status- odds provider readinessGET /api/pool/runtime-summary- current run state plus restored historical archivesGET /api/leaderboard- public leaderboard data
- Desktop client
/worldcup-pool404 was caused by a missing localworldcup_pool.htmlfile. The local runtime now bridges that entry to the production dashboard. - The new five-page dashboard previously hid the legacy archive content without rendering it in the new Run archive view. UCL final bets, historical match results, and Run-5 model strategy archives are now surfaced in the new UI.
- The dashboard now reads
run-6daily report data and/api/pool/runtime-summaryinstead of presenting stale run-5-only status.
cd pool-app
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
python app.pyOpen http://localhost:8080.
python3 ops/check_pool_data_health.py
python3 ops/check_model_output_dropbox.py --round run-6
python3 ops/ai_judge_daily_pool.py ingest \
--round run-6 \
--input-dir data/pool/model_outputs/raw/run-6vercel --prodThe current production alias is:
https://pool-app-one.vercel.app
- Do not commit API keys or provider tokens.
THE_ODDS_API_KEYis read from environment variables only.- Provider status files use fully redacted secret markers.
- Raw provider snapshots are saved only after provider-side redaction.
The README banner was generated with Codex image generation and saved as:
assets/ai-judge-product-hero.png
Prompt summary: a horizontal product hero for AI Judge Prediction Pool showing 12 AI seats, Run-6 verification, Vercel/GitHub deployment, real odds provider status, raw model outputs, and the collect-to-deploy pipeline.
