{"definition_raw":"---\nid: spotify-weekly-curator\ntitle: Spotify Weekly Curator Pass\nschedule: \"0 4 * * 0\"\ntimeout: 900\nretry: false\nenabled: true\nnotify_on: failure\nrun_as: shell\ncommand: \"cd /home/lucienne/workspace/projects/spotify-radio && python3 radio.py analyze-taste && python3 radio.py curator && python3 /home/lucienne/workspace/notify.py 'Spotify curator proposal ready \u2014 review at https://openclaw.tailb2ba18.ts.net/spotify#curation'\"\ntags: [spotify, curator, music, weekly]\nruntime_profile: claude_anthropic\nnotify_to: general\n---\n\nSunday 06:00 SAST (04:00 UTC). Two-step pipeline:\n\n1. `radio.py analyze-taste` \u2014 paginates full Liked Songs, joins with last 50 played + local played + feedback tables, writes `~/workspace/state/spotify_taste.{json,md}`.\n2. `radio.py curator` \u2014 reads taste report + mood_pools.yaml + steering note + last 7d activity, calls Claude CLI for a weekly curator note, writes `~/workspace/state/spotify_curator_proposal.md`.\n\nProposal-only. Elmar reviews on MC `/spotify#curation` and applies via `radio.py boost/block` or by editing `mood_pools.yaml`.\n\nTelegram fires on success with the MC link; on failure with the error.\n","id":"spotify-weekly-curator","last_run":{"duration_s":94.320797,"log_path":"/home/lucienne/workspace/logs/task-runs/spotify-weekly-curator/387952.log","output":"Pulling Liked Songs (paginated)...\n  980 liked songs across 689 artists\nPulling recently played (Spotify caps at 50)...\nAggregating local played table + feedback...\nFetching genres for top 60 saved artists...\n\nJSON  \u2192 /home/lucienne/workspace/state/spotify_taste.json\nMarkdown \u2192 /home/lucienne/workspace/state/spotify_taste.md\nInputs: 30 top artists, 0 played(7d), 0 feedback(7d), steering=yes\nCalling Claude CLI for curator pass...\nProposal \u2192 /home/lucienne/workspace/state/spotify_curator_proposal.md\nSent to Elmar DM\n","started_at":"2026-06-07T04:03:56.239357+02:00","status":"completed"},"next_run":"2026-06-14 04:00","next_run_iso":"2026-06-14T04:00:00+02:00","runs":[{"duration_s":94.320797,"finished_at":"2026-06-07T04:05:30.562835+02:00","id":387952,"log_path":"/home/lucienne/workspace/logs/task-runs/spotify-weekly-curator/387952.log","output":"Pulling Liked Songs (paginated)...\n  980 liked songs across 689 artists\nPulling recently played (Spotify caps at 50)...\nAggregating local played table + feedback...\nFetching genres for top 60 saved artists...\n\nJSON  \u2192 /home/lucienne/workspace/state/spotify_taste.json\nMarkdown \u2192 /home/lucienne/workspace/state/spotify_taste.md\nInputs: 30 top artists, 0 played(7d), 0 feedback(7d), steering=yes\nCalling Claude CLI for curator pass...\nProposal \u2192 /home/lucienne/workspace/state/spotify_curator_proposal.md\nSent to Elmar DM\n","started_at":"2026-06-07T04:03:56.239357+02:00","status":"completed","task_id":"spotify-weekly-curator","task_name":"Spotify Weekly Curator Pass"}],"runs_limit":20,"schedule":"0 4 * * 0","schedule_label":{"description":"Sun at 04:00","is_custom":false,"label":"Weekly (Sun)","sort":6,"sort_time":"04:00"},"stats":{"avg_duration":94.320797,"completed":1,"failed":0,"timeout":0,"total":1},"task":{"_description":"Sunday 06:00 SAST (04:00 UTC). Two-step pipeline:\n\n1. `radio.py analyze-taste` \u2014 paginates full Liked Songs, joins with last 50 played + local played + feedback tables, writes `~/workspace/state/spotify_taste.{json,md}`.\n2. `radio.py curator` \u2014 reads taste report + mood_pools.yaml + steering note + last 7d activity, calls Claude CLI for a weekly curator note, writes `~/workspace/state/spotify_curator_proposal.md`.\n\nProposal-only. Elmar reviews on MC `/spotify#curation` and applies via `radio.py boost/block` or by editing `mood_pools.yaml`.\n\nTelegram fires on success with the MC link; on failure with the error.","_file":"spotify-weekly-curator.md","_path":"/home/lucienne/workspace/tasks/spotify-weekly-curator.md","command":"cd /home/lucienne/workspace/projects/spotify-radio && python3 radio.py analyze-taste && python3 radio.py curator && python3 /home/lucienne/workspace/notify.py 'Spotify curator proposal ready \u2014 review at https://openclaw.tailb2ba18.ts.net/spotify#curation'","enabled":true,"id":"spotify-weekly-curator","notify_on":"failure","notify_to":"general","retry":false,"run_as":"shell","runtime_profile":"claude_anthropic","schedule":"0 4 * * 0","tags":["spotify","curator","music","weekly"],"timeout":900,"title":"Spotify Weekly Curator Pass"}}
