{"definition_raw":"---\nid: f1-practice-updates\ntitle: F1 read-only practice-session Telegram updates\nschedule: \"*/30 8-23 * * 5,6\"\ntimeout: 900\nretry: true\nenabled: true\nnotify_to: f1\nnotify_on: failure\nrun_as: shell\ncommand: cd /home/lucienne/workspace/projects/f1-predictor && /usr/bin/python3.12 practice_update.py\ntags: [f1, practice, telegram]\nruntime_profile: direct_python\n---\n\n**OVERRIDES runtime profile:** uses `direct_python` because this read-only update\ntask runs `practice_update.py` directly and does not invoke Claude/Codex or any\nLLM API.\n\nRead-only F1 practice-session update scheduler. During race-weekend Friday/Saturday\npractice windows it refreshes FP analysis and sends a concise Telegram update when\nnew practice data is available.\n\nSafety constraints:\n- does not run `run_weekly.py` / full prediction pipeline\n- does not call `superbru_submit.py`\n- does not overwrite `data/predictions/*/final_prediction.json`\n","id":"f1-practice-updates","last_run":{"duration_s":0.654262,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412691.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T23:30:02.783799+02:00","status":"completed"},"next_run":"2026-06-13 08:00","next_run_iso":"2026-06-13T08:00:00+02:00","runs":[{"duration_s":0.654262,"finished_at":"2026-06-12T23:30:03.440658+02:00","id":412691,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412691.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T23:30:02.783799+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.786758,"finished_at":"2026-06-12T23:00:08.188223+02:00","id":412602,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412602.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T23:00:07.398296+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.749734,"finished_at":"2026-06-12T22:30:03.278401+02:00","id":412517,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412517.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T22:30:02.526568+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.971021,"finished_at":"2026-06-12T22:00:05.519897+02:00","id":412428,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412428.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T22:00:04.546572+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.657864,"finished_at":"2026-06-12T21:30:03.361655+02:00","id":412343,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412343.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T21:30:02.701132+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.793608,"finished_at":"2026-06-12T21:00:05.237478+02:00","id":412255,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412255.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T21:00:04.441781+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.690975,"finished_at":"2026-06-12T20:30:03.171768+02:00","id":412168,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412168.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T20:30:02.478640+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.77796,"finished_at":"2026-06-12T20:00:03.909388+02:00","id":412079,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/412079.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T20:00:03.129293+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.659251,"finished_at":"2026-06-12T19:30:03.447435+02:00","id":411994,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411994.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T19:30:02.751381+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.656902,"finished_at":"2026-06-12T19:00:03.395604+02:00","id":411911,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411911.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T19:00:02.736032+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":17.471678,"finished_at":"2026-06-12T18:30:20.095975+02:00","id":411825,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411825.log","output":"[Practice Update] OpenF1 session lookup unavailable: Client error '401 Unauthorized' for url 'https://api.openf1.org/v1/meetings?year=2026'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401\n[Practice Update] FP analysis: trying FastF1 first...\n[FP] Race: barcelona-2026\n[FP] Year: 2026\n[FP] Sessions requested: ['FP1', 'FP2', 'FP3']\n[FP] Output dir: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026\n[FP] Loading FP1...\n[WARN] FP1: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP2...\n[WARN] FP2: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP3...\n[WARN] FP3: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Wrote summary: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026/summary.json\n[FP] Sessions analysed: []\n\n[Practice Update] FastF1 produced 0 drivers \u2014 falling back to OpenF1\n[OpenF1 FP] Loading barcelona-2026...\n[OpenF1 FP] meeting_key=1294 Spanish Grand Prix\n[OpenF1 FP] skipping Practice 1: session not due yet\n[OpenF1 FP] skipping Practice 2: session not due yet\n[OpenF1 FP] skipping Practice 3: session not due yet\n[OpenF1 FP] Wrote summary.json \u2014 0 drivers ranked\n\n[Practice Update] barcelona-2026: no sessions analysed and only expected no-data warnings \u2014 quiet skip, not sending\n","started_at":"2026-06-12T18:30:02.621951+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":19.324719,"finished_at":"2026-06-12T18:00:22.305802+02:00","id":411736,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411736.log","output":"[Practice Update] OpenF1 session lookup unavailable: Client error '401 Unauthorized' for url 'https://api.openf1.org/v1/meetings?year=2026'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401\n[Practice Update] FP analysis: trying FastF1 first...\n[FP] Race: barcelona-2026\n[FP] Year: 2026\n[FP] Sessions requested: ['FP1', 'FP2', 'FP3']\n[FP] Output dir: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026\n[FP] Loading FP1...\n[WARN] FP1: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP2...\n[WARN] FP2: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP3...\n[WARN] FP3: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Wrote summary: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026/summary.json\n[FP] Sessions analysed: []\n\n[Practice Update] FastF1 produced 0 drivers \u2014 falling back to OpenF1\n[OpenF1 FP] Loading barcelona-2026...\n\n[Practice Update] OpenF1 live-session access lock (HTTP 401) \u2014 degraded, no update sent\n[Practice Update] Degraded \u2014 no FP data available for barcelona-2026; quiet skip\n","started_at":"2026-06-12T18:00:02.978247+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":17.670097,"finished_at":"2026-06-12T17:30:20.342094+02:00","id":411648,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411648.log","output":"[Practice Update] OpenF1 session lookup unavailable: Client error '401 Unauthorized' for url 'https://api.openf1.org/v1/meetings?year=2026'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401\n[Practice Update] FP analysis: trying FastF1 first...\n[FP] Race: barcelona-2026\n[FP] Year: 2026\n[FP] Sessions requested: ['FP1', 'FP2', 'FP3']\n[FP] Output dir: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026\n[FP] Loading FP1...\n[WARN] FP1: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP2...\n[WARN] FP2: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP3...\n[WARN] FP3: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Wrote summary: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026/summary.json\n[FP] Sessions analysed: []\n\n[Practice Update] FastF1 produced 0 drivers \u2014 falling back to OpenF1\n[OpenF1 FP] Loading barcelona-2026...\n\n[Practice Update] OpenF1 live-session access lock (HTTP 401) \u2014 degraded, no update sent\n[Practice Update] Degraded \u2014 no FP data available for barcelona-2026; quiet skip\n","started_at":"2026-06-12T17:30:02.669507+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":18.216115,"finished_at":"2026-06-12T17:00:20.802143+02:00","id":411563,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411563.log","output":"[Practice Update] OpenF1 session lookup unavailable: Client error '401 Unauthorized' for url 'https://api.openf1.org/v1/meetings?year=2026'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401\n[Practice Update] FP analysis: trying FastF1 first...\n[FP] Race: barcelona-2026\n[FP] Year: 2026\n[FP] Sessions requested: ['FP1', 'FP2', 'FP3']\n[FP] Output dir: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026\n[FP] Loading FP1...\n[WARN] FP1: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP2...\n[WARN] FP2: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP3...\n[WARN] FP3: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Wrote summary: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026/summary.json\n[FP] Sessions analysed: []\n\n[Practice Update] FastF1 produced 0 drivers \u2014 falling back to OpenF1\n[OpenF1 FP] Loading barcelona-2026...\n\n[Practice Update] OpenF1 live-session access lock (HTTP 401) \u2014 degraded, no update sent\n[Practice Update] Degraded \u2014 no FP data available for barcelona-2026; quiet skip\n","started_at":"2026-06-12T17:00:02.581321+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":17.915947,"finished_at":"2026-06-12T16:30:20.619081+02:00","id":411477,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411477.log","output":"[Practice Update] OpenF1 session lookup unavailable: Client error '401 Unauthorized' for url 'https://api.openf1.org/v1/meetings?year=2026'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401\n[Practice Update] FP analysis: trying FastF1 first...\n[FP] Race: barcelona-2026\n[FP] Year: 2026\n[FP] Sessions requested: ['FP1', 'FP2', 'FP3']\n[FP] Output dir: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026\n[FP] Loading FP1...\n[WARN] FP1: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP2...\n[WARN] FP2: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP3...\n[WARN] FP3: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Wrote summary: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026/summary.json\n[FP] Sessions analysed: []\n\n[Practice Update] FastF1 produced 0 drivers \u2014 falling back to OpenF1\n[OpenF1 FP] Loading barcelona-2026...\n\n[Practice Update] OpenF1 live-session access lock (HTTP 401) \u2014 degraded, no update sent\n[Practice Update] Degraded \u2014 no FP data available for barcelona-2026; quiet skip\n","started_at":"2026-06-12T16:30:02.701256+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.681149,"finished_at":"2026-06-12T16:00:03.663315+02:00","id":411389,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411389.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T16:00:02.979487+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.652576,"finished_at":"2026-06-12T15:30:03.397334+02:00","id":411304,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411304.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T15:30:02.742324+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":0.66261,"finished_at":"2026-06-12T15:00:03.665575+02:00","id":411216,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411216.log","output":"[Practice Update] No practice session has started yet for barcelona-2026 \u2014 quiet skip (pre-FP1)\n","started_at":"2026-06-12T15:00:03.000897+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":19.570122,"finished_at":"2026-06-12T14:30:22.188831+02:00","id":411131,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411131.log","output":"[Practice Update] OpenF1 session lookup unavailable: Client error '401 Unauthorized' for url 'https://api.openf1.org/v1/meetings?year=2026'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401\n[Practice Update] FP analysis: trying FastF1 first...\n[FP] Race: barcelona-2026\n[FP] Year: 2026\n[FP] Sessions requested: ['FP1', 'FP2', 'FP3']\n[FP] Output dir: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026\n[FP] Loading FP1...\n[WARN] FP1: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP2...\n[WARN] FP2: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP3...\n[WARN] FP3: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Wrote summary: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026/summary.json\n[FP] Sessions analysed: []\n\n[Practice Update] FastF1 produced 0 drivers \u2014 falling back to OpenF1\n[OpenF1 FP] Loading barcelona-2026...\n\n[Practice Update] OpenF1 live-session access lock (HTTP 401) \u2014 degraded, no update sent\n[Practice Update] Degraded \u2014 no FP data available for barcelona-2026; quiet skip\n","started_at":"2026-06-12T14:30:02.615949+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"},{"duration_s":18.140528,"finished_at":"2026-06-12T14:00:21.116356+02:00","id":411043,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-practice-updates/411043.log","output":"[Practice Update] OpenF1 session lookup unavailable: Client error '401 Unauthorized' for url 'https://api.openf1.org/v1/meetings?year=2026'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401\n[Practice Update] FP analysis: trying FastF1 first...\n[FP] Race: barcelona-2026\n[FP] Year: 2026\n[FP] Sessions requested: ['FP1', 'FP2', 'FP3']\n[FP] Output dir: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026\n[FP] Loading FP1...\n[WARN] FP1: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP2...\n[WARN] FP2: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Loading FP3...\n[WARN] FP3: failed to fetch/analyze for barcelona-2026: The data you are trying to access has not been loaded yet. See `Session.load`\n[FP] Wrote summary: /home/lucienne/workspace/projects/f1-predictor/data/fp_analysis/barcelona-2026/summary.json\n[FP] Sessions analysed: []\n\n[Practice Update] FastF1 produced 0 drivers \u2014 falling back to OpenF1\n[OpenF1 FP] Loading barcelona-2026...\n\n[Practice Update] OpenF1 live-session access lock (HTTP 401) \u2014 degraded, no update sent\n[Practice Update] Degraded \u2014 no FP data available for barcelona-2026; quiet skip\n","started_at":"2026-06-12T14:00:02.973625+02:00","status":"completed","task_id":"f1-practice-updates","task_name":"F1 read-only practice-session Telegram updates"}],"runs_limit":20,"schedule":"*/30 8-23 * * 5,6","schedule_label":{"description":"Fri+Sat every 30 min (08-23h)","is_custom":false,"label":"Every 30 min","sort":1,"sort_time":"08:00"},"stats":{"avg_duration":5.014686859375,"completed":64,"failed":0,"timeout":0,"total":64},"task":{"_description":"**OVERRIDES runtime profile:** uses `direct_python` because this read-only update\ntask runs `practice_update.py` directly and does not invoke Claude/Codex or any\nLLM API.\n\nRead-only F1 practice-session update scheduler. During race-weekend Friday/Saturday\npractice windows it refreshes FP analysis and sends a concise Telegram update when\nnew practice data is available.\n\nSafety constraints:\n- does not run `run_weekly.py` / full prediction pipeline\n- does not call `superbru_submit.py`\n- does not overwrite `data/predictions/*/final_prediction.json`","_file":"f1-practice-updates.md","_path":"/home/lucienne/workspace/tasks/f1-practice-updates.md","command":"cd /home/lucienne/workspace/projects/f1-predictor && /usr/bin/python3.12 practice_update.py","enabled":true,"id":"f1-practice-updates","notify_on":"failure","notify_to":"f1","retry":true,"run_as":"shell","runtime_profile":"direct_python","schedule":"*/30 8-23 * * 5,6","tags":["f1","practice","telegram"],"timeout":900,"title":"F1 read-only practice-session Telegram updates"}}
