{"definition_raw":"---\nid: radio-weekly-episode\ntitle: Radio Show Weekly Deep Episode\nschedule: \"0 21 * * 6\"\ntimeout: 7200\nretry: false\nenabled: true\nbackground: true\nnotify_on: failure\nrun_as: shell\ncommand: \"cd /home/lucienne/workspace && python3 /home/lucienne/.claude/skills/radio-show/scripts/build_episode.py weekly && python3 /home/lucienne/.claude/skills/radio-show/scripts/deliver_episode.py weekly\"\ntags: [radio, news, weekly, audio, deep-research]\nruntime_profile: direct_mixed\nnotify_to: general\n---\n**OVERRIDES runtime profile:** uses `direct_mixed` because the pipeline drives NotebookLM (Gemini) via browser automation (notebooklm_helper.py) plus yt-dlp \u2014 it never invokes the `claude` CLI, so a claude_* profile lies and provider env injection does nothing (MC-4942 U12 sweep).\n\nWeekly radio show deep episode produced Saturday 23:00 SAST (21:00 UTC) for Sunday morning delivery.\n\nPulls 7-day story coverage across all topics (priority 1 and 2 without active_window restrictions), runs NotebookLM real Deep Research to enrich the notebook with contrarian analyst commentary and primary sources, then generates a ~45-minute two-host deep-dive audio covering all topics.\n\nTakes ~90-120 minutes server-side (Deep Research + audio generation). Up to 2 hours timeout.\n\n**MC-4365 curation layer.** Same editorial pass as the daily brief runs before NotebookLM (lane-aware freshness with a 7-day weekly window, material-update dedup, relevance scoring, fleet-watch lane). `RADIO_PREVIEW=1` is the first-run guardrail: stops before notebook/audio, posts the curated slate for review only. Remove `RADIO_PREVIEW=1` once Elmar approves. `RADIO_CURATE=0` disables curation. Runbook: `~/.claude/skills/radio-show/references/curation-runbook.md`.\n","id":"radio-weekly-episode","last_run":{"duration_s":1386.578047,"log_path":"/home/lucienne/workspace/logs/task-runs/radio-weekly-episode/386571.log","output":"Mode: weekly, topics: ['aviation', 'fleet-watch', 'sa-macro', 'geopolitics', 'crypto', 'ai', 'markets', 'sa-politics', 'world-economy']\nLedger: 222 prior story records (last 7d) loaded for novelty filter\n  [aviation] gathering stories (window=7d, mode=weekly)...\n    [aviation] novelty: in=48 kept=33 dup_url=7 dup_title=0 generic_dropped=6 thread_dup=2 freshness=0.97\n    YouTube: 3 videos found\n  [fleet-watch] gathering stories (window=7d, mode=weekly)...\n    [fleet-watch] novelty: in=54 kept=34 dup_url=8 dup_title=0 generic_dropped=8 thread_dup=4 freshness=0.941\n    YouTube: 3 videos found\n  [sa-macro] gathering stories (window=7d, mode=weekly)...\n    [sa-macro] novelty: in=51 kept=35 dup_url=4 dup_title=0 generic_dropped=11 thread_dup=1 freshness=0.914\n    YouTube: 3 videos found\n  [geopolitics] gathering stories (window=7d, mode=weekly)...\n    [geopolitics] novelty: in=55 kept=42 dup_url=7 dup_title=0 generic_dropped=5 thread_dup=1 freshness=1.0\n    YouTube: 3 videos found\n  [crypto] gathering stories (window=7d, mode=weekly)...\n    [crypto] novelty: in=48 kept=34 dup_url=2 dup_title=0 generic_dropped=9 thread_dup=3 freshness=0.971\n    YouTube: 3 videos found\n  [ai] gathering stories (window=7d, mode=weekly)...\n    [ai] novelty: in=50 kept=40 dup_url=1 dup_title=0 generic_dropped=5 thread_dup=4 freshness=1.0\n    YouTube: 3 videos found\n  [markets] gathering stories (window=7d, mode=weekly)...\n    [markets] novelty: in=55 kept=42 dup_url=7 dup_title=0 generic_dropped=6 thread_dup=0 freshness=0.952\n    YouTube: 3 videos found\n  [sa-politics] gathering stories (window=7d, mode=weekly)...\n    [sa-politics] novelty: in=39 kept=30 dup_url=5 dup_title=0 generic_dropped=2 thread_dup=2 freshness=0.967\n    YouTube: 3 videos found\n  [world-economy] gathering stories (window=7d, mode=weekly)...\n    [world-economy] novelty: in=45 kept=37 dup_url=4 dup_title=0 generic_dropped=3 thread_dup=1 freshness=1.0\n    YouTube: 3 videos found\nCuration: TODAY 1 | THIS WEEK 34 | BACKGROUND 1 | suppressed 18 (of 54 evaluated)\nSeed saved \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly-seed.md\nSummary saved \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly-summary.md\n\nCreating NotebookLM notebook: Radio 2026-06-06 Weekly\n  notebook_id: 327fb8a3-b061-493a-842d-8d4c9a07e0f9\nAdding 36 article URLs + 15 YouTube URLs to notebook...\n  Validated URLs: 29/36 alive (7 dead)\n    DEAD: https://www.reuters.com/business/aerospace-defense/boeing-studying-boost-737-max-plane-production-highest-ever-rate-2026-06-05/\n    DEAD: https://www.reuters.com/world/ukraine-russia-war/\n    DEAD: https://www.bloomberg.com/news/articles/2026-06-03/rolls-royce-predicts-rebound-for-troubled-engine-after-overhaul\n    DEAD: https://www.reuters.com/video/watch/idRW652806062026RP1/?chan=home\n    DEAD: https://www.news10.com/7-day-forecast/\n    DEAD: https://www.news10.com/7-day-forecast/\n    DEAD: https://seekingalpha.com/article/4912615-bcv-a-safer-way-to-play-a-frothy-market\n  Validated URLs: 15/15 alive (0 dead)\n  Ledger: 6 prior episodes injected to avoid repeats\nRunning NotebookLM Deep Research (attempt 1/2)...\n  Deep Research complete.\nGenerating audio...\n  \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly.mp3\n\nManifest \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly-manifest.json\nLedger \u2190 appended episode 2026-06-06-weekly\nStory ledger \u2190 54 story records appended\n  sent 2026-06-06-weekly.mp3\n  sent 2026-06-06-weekly-seed.md\n  registered in audio-library/news/: 2026-06-06.mp3\n","started_at":"2026-06-06T21:01:53.838127+02:00","status":"completed"},"next_run":"2026-06-13 21:00","next_run_iso":"2026-06-13T21:00:00+02:00","runs":[{"duration_s":1386.578047,"finished_at":"2026-06-06T21:25:00.416440+02:00","id":386571,"log_path":"/home/lucienne/workspace/logs/task-runs/radio-weekly-episode/386571.log","output":"Mode: weekly, topics: ['aviation', 'fleet-watch', 'sa-macro', 'geopolitics', 'crypto', 'ai', 'markets', 'sa-politics', 'world-economy']\nLedger: 222 prior story records (last 7d) loaded for novelty filter\n  [aviation] gathering stories (window=7d, mode=weekly)...\n    [aviation] novelty: in=48 kept=33 dup_url=7 dup_title=0 generic_dropped=6 thread_dup=2 freshness=0.97\n    YouTube: 3 videos found\n  [fleet-watch] gathering stories (window=7d, mode=weekly)...\n    [fleet-watch] novelty: in=54 kept=34 dup_url=8 dup_title=0 generic_dropped=8 thread_dup=4 freshness=0.941\n    YouTube: 3 videos found\n  [sa-macro] gathering stories (window=7d, mode=weekly)...\n    [sa-macro] novelty: in=51 kept=35 dup_url=4 dup_title=0 generic_dropped=11 thread_dup=1 freshness=0.914\n    YouTube: 3 videos found\n  [geopolitics] gathering stories (window=7d, mode=weekly)...\n    [geopolitics] novelty: in=55 kept=42 dup_url=7 dup_title=0 generic_dropped=5 thread_dup=1 freshness=1.0\n    YouTube: 3 videos found\n  [crypto] gathering stories (window=7d, mode=weekly)...\n    [crypto] novelty: in=48 kept=34 dup_url=2 dup_title=0 generic_dropped=9 thread_dup=3 freshness=0.971\n    YouTube: 3 videos found\n  [ai] gathering stories (window=7d, mode=weekly)...\n    [ai] novelty: in=50 kept=40 dup_url=1 dup_title=0 generic_dropped=5 thread_dup=4 freshness=1.0\n    YouTube: 3 videos found\n  [markets] gathering stories (window=7d, mode=weekly)...\n    [markets] novelty: in=55 kept=42 dup_url=7 dup_title=0 generic_dropped=6 thread_dup=0 freshness=0.952\n    YouTube: 3 videos found\n  [sa-politics] gathering stories (window=7d, mode=weekly)...\n    [sa-politics] novelty: in=39 kept=30 dup_url=5 dup_title=0 generic_dropped=2 thread_dup=2 freshness=0.967\n    YouTube: 3 videos found\n  [world-economy] gathering stories (window=7d, mode=weekly)...\n    [world-economy] novelty: in=45 kept=37 dup_url=4 dup_title=0 generic_dropped=3 thread_dup=1 freshness=1.0\n    YouTube: 3 videos found\nCuration: TODAY 1 | THIS WEEK 34 | BACKGROUND 1 | suppressed 18 (of 54 evaluated)\nSeed saved \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly-seed.md\nSummary saved \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly-summary.md\n\nCreating NotebookLM notebook: Radio 2026-06-06 Weekly\n  notebook_id: 327fb8a3-b061-493a-842d-8d4c9a07e0f9\nAdding 36 article URLs + 15 YouTube URLs to notebook...\n  Validated URLs: 29/36 alive (7 dead)\n    DEAD: https://www.reuters.com/business/aerospace-defense/boeing-studying-boost-737-max-plane-production-highest-ever-rate-2026-06-05/\n    DEAD: https://www.reuters.com/world/ukraine-russia-war/\n    DEAD: https://www.bloomberg.com/news/articles/2026-06-03/rolls-royce-predicts-rebound-for-troubled-engine-after-overhaul\n    DEAD: https://www.reuters.com/video/watch/idRW652806062026RP1/?chan=home\n    DEAD: https://www.news10.com/7-day-forecast/\n    DEAD: https://www.news10.com/7-day-forecast/\n    DEAD: https://seekingalpha.com/article/4912615-bcv-a-safer-way-to-play-a-frothy-market\n  Validated URLs: 15/15 alive (0 dead)\n  Ledger: 6 prior episodes injected to avoid repeats\nRunning NotebookLM Deep Research (attempt 1/2)...\n  Deep Research complete.\nGenerating audio...\n  \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly.mp3\n\nManifest \u2192 /home/lucienne/workspace/reports/radio/2026-06-06-weekly-manifest.json\nLedger \u2190 appended episode 2026-06-06-weekly\nStory ledger \u2190 54 story records appended\n  sent 2026-06-06-weekly.mp3\n  sent 2026-06-06-weekly-seed.md\n  registered in audio-library/news/: 2026-06-06.mp3\n","started_at":"2026-06-06T21:01:53.838127+02:00","status":"completed","task_id":"radio-weekly-episode","task_name":"Radio Show Weekly Deep Episode"}],"runs_limit":20,"schedule":"0 21 * * 6","schedule_label":{"description":"Sat at 21:00","is_custom":false,"label":"Weekly (Sat)","sort":6,"sort_time":"21:00"},"stats":{"avg_duration":1386.578047,"completed":1,"failed":0,"timeout":0,"total":1},"task":{"_description":"**OVERRIDES runtime profile:** uses `direct_mixed` because the pipeline drives NotebookLM (Gemini) via browser automation (notebooklm_helper.py) plus yt-dlp \u2014 it never invokes the `claude` CLI, so a claude_* profile lies and provider env injection does nothing (MC-4942 U12 sweep).\n\nWeekly radio show deep episode produced Saturday 23:00 SAST (21:00 UTC) for Sunday morning delivery.\n\nPulls 7-day story coverage across all topics (priority 1 and 2 without active_window restrictions), runs NotebookLM real Deep Research to enrich the notebook with contrarian analyst commentary and primary sources, then generates a ~45-minute two-host deep-dive audio covering all topics.\n\nTakes ~90-120 minutes server-side (Deep Research + audio generation). Up to 2 hours timeout.\n\n**MC-4365 curation layer.** Same editorial pass as the daily brief runs before NotebookLM (lane-aware freshness with a 7-day weekly window, material-update dedup, relevance scoring, fleet-watch lane). `RADIO_PREVIEW=1` is the first-run guardrail: stops before notebook/audio, posts the curated slate for review only. Remove `RADIO_PREVIEW=1` once Elmar approves. `RADIO_CURATE=0` disables curation. Runbook: `~/.claude/skills/radio-show/references/curation-runbook.md`.","_file":"radio-weekly-episode.md","_path":"/home/lucienne/workspace/tasks/radio-weekly-episode.md","background":true,"command":"cd /home/lucienne/workspace && python3 /home/lucienne/.claude/skills/radio-show/scripts/build_episode.py weekly && python3 /home/lucienne/.claude/skills/radio-show/scripts/deliver_episode.py weekly","enabled":true,"id":"radio-weekly-episode","notify_on":"failure","notify_to":"general","retry":false,"run_as":"shell","runtime_profile":"direct_mixed","schedule":"0 21 * * 6","tags":["radio","news","weekly","audio","deep-research"],"timeout":7200,"title":"Radio Show Weekly Deep Episode"}}
