You're offline — showing cached data

MC-4740

Fix F1 predictor scheduler before Monaco lock
2026-06-13 07:35:01 SAST
Home Board MC-4740

Fix F1 predictor scheduler before Monaco lock

F1 predictor scheduler/pipeline must be fixed before Monaco weekend lock. User-reported symptom: - 2026-06-05 morning Telegram message said: "F1 practice update: Monaco Grand...
State Done Next Action Closed Owner Luci Runtime Closed Age 8d ago
MC-4740
Ticket is done; runtime is closed. · cwd /home/lucienne/workspace/state/control-room-worktrees/mc-4740-fix-f1-predictor-scheduler-before-monaco-d2d005 · uptime 7d 17h · last activity 7d 16h ago

Description

MC-4740
F1 predictor scheduler/pipeline must be fixed before Monaco weekend lock. User-reported symptom: - 2026-06-05 morning Telegram message said: "F1 practice update: Monaco Grand Prix / Sessions: none yet / Source: openf1 ... Warnings: Practice 1/2/3 laps failed ... No results found" - This was wrong/noisy because FP1 had not started yet; OpenF1 reports Monaco FP1 starts 2026-06-05 11:30 UTC / 13:30 SAST. Investigation notes: - /home/lucienne/workspace/tasks/f1-practice-updates.md runs practice_update.py every 30 min during Fri/Sat 08:00-23:30 SAST. - practice_update.py find_practice_race() uses race_date - 3 days through race date, not actual session timestamps. - pipeline/09b_openf1_fp.py lists future OpenF1 sessions and treats "No results found" on laps as warnings; practice_update.py then sends a material update with zero sessions + warnings. - data/fp_analysis/.practice_update_state.json marked this zero-session warning payload as sent for monaco-2026. - run_weekly.py has a critical non-sprint submit bug: auto_submit_superbru() requires get_sprint_constructor_pick(pred) even when race.is_sprint is false. Monaco final_prediction.json has sprint_constructor null, so full auto-submit can fail before invoking superbru_submit.py. - /home/lucienne/workspace/tasks/f1-prediction-saturday.md is fixed at 19:00 UTC / 21:00 SAST. Monaco qualifying is 2026-06-06 14:00 UTC / 16:00 SAST, so the Saturday refresh is after the lock and will skip submit. Need deadline-aware scheduling or a pre-quali refresh for this weekend. Required fix: 1. Add actual-session gating for practice updates using OpenF1 session date_start/date_end (or cached enriched calendar): before FP1 starts, quiet skip; after each practice session start/end plus sensible grace, fetch only sessions that should have data. 2. Do not send Telegram updates where sessions_analysed is empty and warnings are only expected "No results found"/future-session no-data. 3. Prevent zero-session warning summaries from overwriting/poisoning canonical fp_analysis summaries or sent-state material keys. 4. Fix run_weekly.py auto_submit_superbru() so non-sprint weekends do not require sprint_constructor/team and do not click sprint team fields unnecessarily. 5. Fix scheduler/deadline behavior for Monaco: ensure a safe no-submit verification and, if user-approved/within lock, a real pre-quali submit path runs before 2026-06-06 14:00 UTC. 6. Add regression tests for: pre-FP1 quiet skip, future-session no warnings, non-sprint auto-submit does not require sprint pick, Saturday fixed time cannot be relied on past qualifying. Verification gate: - Run relevant pytest tests. - Run practice_update.py dry-run/no-submit around simulated times: before FP1, after FP1, before FP2, after FP2. - Run superbru_submit.py --race monaco-2026 --dry-run or --validate-save only; do not write to Superbru unless explicitly cleared and before qualifying. - Confirm final_prediction.json mtime/hash safety for read-only practice update. Expected check-in: within 1 hour with fix/verification status, because Monaco qualifying lock is Saturday 14:00 UTC.

Activity

done
Luci is working...
Live
No activity yet
Help