// ACCESS REQUIRED
This section contains private ops data.
Incorrect password.
PG REDIS MLFLOW PAPER ONLY --:--:-- UTC ⬡ Polymarket 🔒
polymarket-lab — bash — 220×48
██████╗  ██████╗ ██╗     ██╗   ██╗███╗   ███╗ █████╗ ██████╗ ██╗  ██╗███████╗████████╗    ██╗      █████╗ ██████╗
██╔══██╗██╔═══██╗██║     ╚██╗ ██╔╝████╗ ████║██╔══██╗██╔══██╗██║ ██╔╝██╔════╝╚══██╔══╝    ██║     ██╔══██╗██╔══██╗
██████╔╝██║   ██║██║      ╚████╔╝ ██╔████╔██║███████║██████╔╝█████╔╝ █████╗     ██║       ██║     ███████║██████╔╝
██╔═══╝ ██║   ██║██║       ╚██╔╝  ██║╚██╔╝██║██╔══██║██╔══██╗██╔═██╗ ██╔══╝     ██║       ██║     ██╔══██║██╔══██╗
██║     ╚██████╔╝███████╗   ██║   ██║ ╚═╝ ██║██║  ██║██║  ██║██║  ██╗███████╗   ██║       ███████╗██║  ██║██████╔╝
╚═╝      ╚═════╝ ╚══════╝   ╚═╝   ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝   ╚═╝       ╚══════╝╚═╝  ╚═╝╚═════╝
artbreguez@lab:~/polymarket-lab$ status --all
F1 champion MultitaskQR r4 PnL=+$21.91 ROI=64.3% bets=144 [ACTIVE]
TMAX champion lgbm_emos gate=GO qp_pnl=+$138 [ACTIVE]
GFS backfill 2602/2602 markets +1350 new forecasts 30 cities [DONE ✓]
ECMWF backfill queued → triggers full retrain pipeline [PENDING]
Miami 2026 Sprint weekend FP1: 2026-05-01 16:00 UTC [T-MINUS]
F1 Walk-Forward PnL
+$21.91
27 GPs · 144 bets
F1 ROI
64.3%
multitask_qr r4
TMAX Gate PnL
+$201
Atlanta + BA + Madrid
TMAX qp_pnl
+$138
live sim · lgbm_emos
Autoresearch Iters
450
3 seeds · r4 held
Training Cities
30
GFS: 2602 markets
// miami 2026 grand prix — countdown
SPRINT WEEKEND
FP1 start → 2026-05-01 16:00 UTC
--
days
:
--
hrs
:
--
min
:
--
sec
● champion r4 ready 5 crons scheduled paper trading only
// process status
GFS Backfill — 30 cities
2602/2602 · 1350 new · 0 errors
DONE
ECMWF Backfill (ifs025 + aifs025)
queued → full retrain pipeline
QUEUED
F1 Autoresearch v3 (3×150 iters)
450 candidates · r4 champion held
DONE
TMAX Champion Publish + HF Upload
lgbm_emos → huggingface/artbreguez
DONE
Miami 2026 Paper Trade Crons
FP1→SQ · SQ→Sprint · Q→Race · settlements
SCHEDULED
Post-GP Retrain Cron (Sundays)
auto sync + retrain + HF publish
ACTIVE
🔒

This section is private.
Click the lock icon in the top bar to authenticate.

multitask_qr r4
run_id: c21e58b0-29c4-544a-97a7-f7ac9b763ee3 · promoted: 2026-04-28 12:26 UTC
+$21.91
Walk-Forward PnL
64.3%
ROI
144
Total Bets
hidden64
depth1
dropout0.05
lr5e-3
h2h_wt1.6
winner_wt0.4
pole_wt1.2
cpole_wt1.4
batch64
// per-family performance
Market FamilyPnLROIBetsNote
head_to_head (H2H)+$14.1347%60primary alpha source
race_winner+$5.62166%56winner_wt=0.4 wins
driver_pole+$2.16257%28high precision
// challengers — miami 2026
autoresearch v3
RankPnLROIBetshiddendepthlrh2hwinnerseed
#1+$18.0542%1756420.0051.60.47
#2+$17.6348%1308010.0051.40.499
#3+$16.2348%14916030.0021.80.87
// key insights
H2H is the alpha source. h2h_weight=1.6 in every top config. Polymarket H2H prices are systematically less efficient than outright markets. 73% of total PnL comes from H2H bets.
Shallow beats deep. depth=1 outperforms depth=3-4. Only 27 GPs of data — large models overfit. Champion is the simplest architecture that survived 450 iterations.
winner_weight=0.4 wins. Deliberately downweighting winner head forces the shared encoder to learn representations useful for H2H. Counterintuitive but confirmed across 7 rounds.
Dataset ceiling reached. Polymarket had no F1 markets before 2024 R10. 94 snapshots / 27 GPs is the maximum possible. More autoresearch won't find dramatically better models without more data.
// huggingface backup
SYNCED
Artifacts auto-uploaded after every champion promotion.
repo: artbreguez/f1-polymarket-champion (private) files: model_bundle.pt · calibrators.json · trainer_config.json · metrics.json trigger: post_gp_retrain.sh → publish_champion_to_hf.py --project f1
⬡ huggingface.co/artbreguez/f1-polymarket-champion ↗
🔒

This section is private.
Click the lock icon in the top bar to authenticate.

// autoresearch progression — 7 rounds
RoundItersMethodBest PnLvs r4Result
r120random+$15.97-27%baseline found
r230random expanded+$15.94-27%plateau
r340hill-climb intro+$18.78-14%NEW RECORD
r440hill-climb seeded+$21.91★ CHAMPION
r540grids too wide+$17.07-22%regression
r650ultra-fine+$19.73-10%convergence confirmed
r74503× parallel seeds+$18.05-18%r4 held · ceiling reached
// hill-climbing algorithm (r3+)
# 70% neighbourhood search + 30% random jump for i in range(iterations): if rng.random() < 0.70: candidate = hill_climb_config(rng, best_seed) # ±1 grid step else: candidate = mutate_config(rng, baseline) # random jump pnl = evaluate(candidate) if pnl > best_pnl: best_pnl = pnl best_seed = candidate # update seed dynamically
After r4: grids tightened to ±2 steps around champion config. Confirmed convergence — next improvement requires new feature engineering, not more search.
// session schedule
SPRINT WEEKEND
01/May 16:00 UTC
FP1 — Free Practice 1
Cron fires 16:30 UTC → build snapshot → score → paper trade
SQ pole markets + Q pole markets
01/May 20:30 UTC
SQ — Sprint Qualifying
Cron fires 21:00 UTC → Sprint winner paper trade
miami_sq_sprint
02/May 16:00 UTC
Sprint Race
Settle miami_fp1_sq + miami_sq_sprint
settle
02/May 20:00 UTC
Q — Qualifying
Cron fires 22:30 UTC → settle Q pole
miami_fp1_q
03/May 20:00 UTC
Race
Q→Race paper trade + settle miami_q_r 2h after
miami_q_r
// paper trade slugs
SlugTriggerTarget SessionSettle after
miami_fp1_sqFP1 → 16:30SQ poleSprint
miami_sq_sprintSQ → 21:00Sprint winnerSprint result
miami_fp1_qFP1 → 16:30Q poleQualifying
miami_q_rQ → 22:30Race winnerRace result
// bankroll config
# paper trading parameters bet_size = $5.0 # min $5 to avoid CLOB rejection (<$1 orders fail) min_edge = 0.05 # 5% edge minimum order_type = 'GTC' # Good Till Cancelled meeting_key = 1284 # Miami 2026 (positive key = 2026+) season = 2026
// cumulative pnl by gp (r4 champion)
27 GPs
Unitized PnL (1 unit = 1 share). Multiply × bet_size for dollars.
2024 R122025 R12025 R6 →
// per-family cumulative pnl
FamilyTotal PnLROIBetsHit Rate
head_to_head+$14.1347%60
race_winner+$5.62166%56
driver_pole+$2.16257%28
TOTAL+$21.9164.3%144
lgbm_emos [alias: champion]
promoted: 2026-04-29 14:51 UTC · gate: GO · 3 cities passed
+$138
qp_pnl (live sim)
+$201
gate aggregate
0.1137
Brier Score
// model leaderboard
historical backtest
ModelPnLqp_pnlBrierTradesStatus
lgbm_emos (tuned_ensemble)+$381+$1380.11371245CHAMPION
gaussian_emos+$461+$40.11191242NO EDGE
det2prob_nn+$25-$1730.11761254SKIP
// recent-core gate — city results
GO
CityTradesPnLok_ratioGate
Atlanta76+$162.45100%PASS ✓
Buenos Aires76+$28.84100%PASS ✓
Madrid66+$10.25100%PASS ✓
// key metric: qp_pnl > brier
!
gaussian_emos has better Brier (0.1119) but qp_pnl ≈ $4. A well-calibrated model that matches Polymarket prices offers no tradeable edge. Always select champion by quote_proxy_pnl, not raw Brier score.
London/NYC failed the gate (negative PnL, z-scores -5.57 and -8.08). Not noise. Switched to Atlanta/Buenos Aires/Madrid for recent-core validation.
🔒

This section is private.
Click the lock icon in the top bar to authenticate.

// full retrain pipeline — current run
IN PROGRESS
GFS Backfill — all 30 cities
2602/2602 · 1350 new rows · 0 errors
DONE
ECMWF Backfill (ifs025 + aifs025)
adds neighbor_spread feature to all rows
NEXT
Re-materialize training set
expected: ~8,000+ rows (was 6,447)
PENDING
Re-materialize backtest panel
30 cities · ok-only filter
PENDING
Retrain all models
gaussian_emos · 4× lgbm_emos · tuned_ensemble
PENDING
Benchmark (stride=30)
leaderboard.json → qp_pnl ranking
PENDING
Recent-core gate (stride=1)
Atlanta · Buenos Aires · Madrid
PENDING
Publish + HF upload
if GO → publish-champion → huggingface
PENDING
// training set history
Before (GFS only, 20 cities)6,447 rows
After GFS backfill (30 cities)~7,800 rows (est.)
After ECMWF backfill (neighbor_spread)~7,800 rows + feature
neighbor_spread = |ecmwf_ifs025 − ecmwf_aifs025_single| → uncertainty signal. Was 0 for all rows before this run.
🔒

This section contains private infrastructure details.
Click the lock icon in the top bar to authenticate.

!! READ FIRST — model backups on HuggingFace
Champion models are backed up automatically after every promotion. Download before rebuilding:
# F1 champion pip install huggingface_hub python3 -c "from huggingface_hub import snapshot_download; snapshot_download('artbreguez/f1-polymarket-champion', token='HF_TOKEN', local_dir='/tmp/f1')" # TMAX champion python3 -c "from huggingface_hub import snapshot_download; snapshot_download('artbreguez/tmax-polymarket-champion', token='HF_TOKEN', local_dir='/tmp/tmax')"
1
System dependencies
sudo apt-get install -y postgresql redis-server git curl build-essential curl -LsSf https://astral.sh/uv/install.sh | sh
2
Start services + create DB
sudo systemctl start postgresql redis sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'PASS';" sudo -u postgres psql -c "CREATE DATABASE f1_polymarket_lab OWNER postgres;"
3
Clone repos
git clone <f1-repo-url> ~/f1-polymarket-lab git clone <tmax-repo-url> ~/polymarket-tmax-lab git clone https://github.com/ArtBreguez/f1-weather-lab-wiki.git ~/f1-weather-lab-wiki
4
Configure F1 lab (.env)
cp ~/f1-polymarket-lab/.env.example ~/f1-polymarket-lab/.env
Edit: POSTGRES_PASSWORD, DATA_ROOT, MLFLOW_TRACKING_URI=http://127.0.0.1:5001
5
Install deps + migrate DB
cd ~/f1-polymarket-lab && uv sync --all-packages --group dev --group modeling && make db-upgrade cd ~/polymarket-tmax-lab && uv sync --all-extras
6
Start MLflow
cd ~/f1-polymarket-lab && mkdir -p data/mlflow/artifacts && uv run mlflow server --backend-store-uri "sqlite:///$(pwd)/data/mlflow/mlflow.db" --default-artifact-root "$(pwd)/data/mlflow/artifacts" --host 127.0.0.1 --port 5001 &
7
Rebuild datasets (takes hours — use --forecast-missing-only to resume)
cd ~/polymarket-tmax-lab && scripts/pmtmax-workspace historical_real uv run pmtmax build-dataset --markets-path configs/market_inventory/full_training_set_snapshots.json --forecast-missing-only --allow-canonical-overwrite > /tmp/tmax_rebuild.log 2>&1 &
8
Recreate crons via Hermes agent
Ask Hermes to recreate: f1-post-gp-retrain (Sun 22h), tmax-weekly-retrain (Wed 6h), disk-monitor (6h), wiki-auto-update (6h). See cron registry page for exact prompts.
9
Health check
pg_isready -h 127.0.0.1 && redis-cli ping && curl -s http://127.0.0.1:5001/health cd ~/f1-polymarket-lab && python scripts/health_check_miami.py
🔒

This section contains private cron job IDs and infrastructure details.
Click the lock icon in the top bar to authenticate.

// active cron jobs
5 ACTIVE
NameJob IDScheduleStatus
f1-post-gp-retraine9541147b363Sun 22:00 UTCACTIVE
tmax-weekly-retraina3e98dc8d385Wed 06:00 UTCACTIVE
tmax-full-retrain-pipelinec8d995a44e66every 20min (12×)TEMP
disk-monitordisk-monitorevery 6hACTIVE
wiki-auto-updatewiki-updateevery 6hACTIVE
// what each cron does
f1-post-gp-retrain — Sundays 22:00 UTC
Detects new completed F1 races → Jolpica sync → catalog sync → reconcile mappings → build snapshots → rebuild manifest → fix schemas → walk-forward retrain (r4 config) → aggregate folds → promote if gate pass → HuggingFace upload → wiki push
tmax-weekly-retrain — Wednesdays 06:00 UTC
backfill-truth (new resolved markets) → build-dataset (new forecasts) → re-materialize training set → if +100 new rows: full retrain pipeline (ECMWF + all models + benchmark + gate + promote + HF upload)
disk-monitor — every 6h
Warn at 70% disk. Auto-clean safe targets (TMAX cache, /tmp logs) at 85%.
// log locations
# F1 post-GP retrain /tmp/f1_post_gp_retrain/retrain_*.log # TMAX full pipeline /tmp/tmax_pipeline/full_pipeline.log /tmp/tmax_pipeline/ecmwf_backfill.log /tmp/tmax_pipeline/recent_core.log /tmp/tmax_pipeline/hf_upload.log # GFS backfill /tmp/tmax_gfs_backfill.log