Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 3.76 KB

File metadata and controls

35 lines (28 loc) · 3.76 KB

Workflows

Repeatable runbooks Copilot can execute. A fresh Copilot session auto-loads ../AGENTS.md, which maps trigger phrases to these files.

Trigger phrase Runbook What it does
"score today's games" / "run the daily predictions" DAILY.md Scores only today's games' questions (1–99) with the statistical models → analysis/<date>.md. Dry-run.
"run the bot cycle" DAILY.md Full cycle: refresh markets → score → review → optional --submit → calibrate.
"enrich today's games" / "add odds and lineups" ENRICH.md Adds sharp odds (data/odds/) + referee/weather/lineup context (games/NNN/context.json) so the bot anchors result/totals on the market and tilts the rest on real news. Dry-run.
"prep the next games" / "enrich the knockouts" KNOCKOUT_ENRICH.md One command (scripts/enrich_fixture.py) resolves a knockout matchup to its bracket slot, materialises the games/ folder, and pulls sharp odds + props + weather + a per-question readiness report. Folder-agnostic (fixes the placeholder-slot gap). Dry-run.
"price all the games" / "save baselines" / "what changed before this game" BASELINE.md Pre-price every upcoming game across all 3 lanes → save timestamped baselines (scripts/snapshot_predictions.py), re-price day-of, and diff (scripts/pred_drift.py) with each change tagged ODDS/LINEUP/MODEL-DRIFT. scripts/readiness.py shows the board. Dry-run.
"research referees" / "add the referee" REFEREES.md Profiles match officials (all 52 in referees/) and assigns them to fixtures (referees/assignments.json) so cards/fouls/penalty markets reflect who is officiating. Dry-run.
"run an experiment" / "improve the model" EXPERIMENTS.md Develop a model/pricing change in an isolated git worktree and merge it only if scripts/gate.py shows it beats the frozen backtest baseline (RBP-vs-crowd).

Model & data tooling (non-fixture)

Command What it does
python scripts/backtest.py [--by-category] [--json] [--leak-check] Re-prices every settled game with the current model; reports model vs crowd Brier + RBP-vs-crowd per category. --leak-check flags games priced with post-game stats.
python scripts/gate.py [--fast] [--update-baseline] The promotion gate: backtest + tests + validators vs results/backtest_baseline.jsonGATE: PASS/FAIL.
python scripts/data_audit.py [--today D] [--max-age-days N] [--json] Data health: actionable null rate fields, stale as_of, half-split violations, fixtures missing ref/odds.
python scripts/calibration_report.py Reliability / resolution / temperature on settled forecasts.
python scripts/snapshot_predictions.py --all-upcoming [--label baseline|dayof|final] Save a timestamped 3-lane baseline snapshot per upcoming game → predictions/baselines/<NNN>-<slug>/.
python scripts/pred_drift.py --slug <slug> [--all --since D] Diff baseline vs latest snapshot; tags each change ODDS/LINEUP/MODEL-DRIFT → analysis/drift-<slug>.md.
python scripts/readiness.py Pre-game board: kickoff countdown, markets-open?, baseline?, odds age, lineups → predictions/baselines/INDEX.md.

Research notes (cited) live in ../research/: LITERATURE.md, GITHUB.md, INDUSTRY.md, DIAGNOSIS.md.

Also available as a custom agent: .github/agents/daily-predictions.md (selectable via /agent in the CLI, and used by the GitHub mobile/cloud Copilot agent).

Safety: every workflow is dry-run by default — nothing is submitted to the leaderboard without an explicit --submit and your go-ahead. The API key is never committed.