Weekly deep-research topic cycling — useful audio, not wasted compute
Elmar (MC-4485, 2026-05-31 09:54): weekly deep-research run should CYCLE topics so each week produces something new and interesting to listen to, instead of repeating the same e...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge12d ago
Ticket is done; runtime is closed.·profile claude_opus_1m_high · cwd /home/lucienne/workspace/mission-control/.claude/worktrees/pool-2 · uptime 11d 23h · last activity 11d 20h ago
Description
MC-4532
Elmar (MC-4485, 2026-05-31 09:54): weekly deep-research run should CYCLE topics so each week produces something new and interesting to listen to, instead of repeating the same eval scenarios. Pull from radio-show standing interests (aviation, SA business/macro, geopolitics, crypto, AI, markets, F1, padel) + known interests.
Context: MC-4485 found the weekly research was firing from deep-research/evals/scenarios.yaml via a rogue crontab — now contained (isolation gate + crontab removed). Weekly research is currently OFF. This ticket re-provisions it intentionally as a topic-cycling pipeline.
Requirements:
- Topic source: reuse radio-show interest list (~/.claude/skills/radio-show) as canonical; no hardcoded scenario list.
- Rotate so no repeat within N weeks; fresh angle each run.
- Produce audio overview + slides + report and DELIVER (old run made artifacts but never delivered).
- Run as scheduler task in ~/workspace/tasks/, NOT crontab (rule #7).
- Must NOT pollute live MC with spurious source=api tickets (MC-4485 failure mode) — authenticate or run isolated.
Acceptance: weekly task picks rotating topic from interests, produces+delivers audio/slides/report, no rogue MC tickets, scheduled via tasks/ not crontab.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· Medium
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
api (human)
Mission Control
12d ago
11d ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.tmux_session_missingprofile claude_opus_1m_high · cwd /home/lucienne/workspace/mission-control/.claude/worktrees/pool-2 · uptime 11d 23h · last activity 11d 20h agoMC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.Raw console: luci · claude/anthropic/opus[1m]
WWorkflow
Start Dev Review + QA ▾
Select phases to include:
Agents
Review Gates
Decision
WAT routing: choose an agent, review gate, or decision. Buttons use the live runtime when one is attached.
Controller triage: clear requirements, already scoped. Moving to todo for Luci implementation.
Luci12d ago
MC-4532 built + committed + pushed (skills repo be321c2, workspace 51e27139).
What ships:
- weekly_cycle.py — picks a ROTATING topic from canonical radio-show interests.yaml (11 interests; no hardcoded scenarios), builds a fresh lead angle per repeat, runs research-brief (run_research.py: seed→NotebookLM Deep Research→gap fill→report+audio), generates slides on the same notebook, then DELIVERS audio+slides+report via Telegram + MC /reports + /briefings. Rotation ledger state/weekly_research_rotation.jsonl: no repeat within N=11 weeks, then fresh angle.
- tasks/weekly-deep-research.md — Wed 05:00 UTC scheduler task (NOT crontab, rule #7), runtime_profile claude_anthropic. Distinct from radio-weekly-episode (that's multi-topic news audio; this is single-topic deep dive).
- run_research.py hardened: gap-analysis claude CLI now uses --settings settings-worker.json so it can't 409-kill ccgram.
No MC pollution (MC-4485 fix): pipeline makes ZERO MC API calls (grep-verified; only 3001 ref is a link string). Delivery is Telegram+filesystem only → cannot create source=api tickets. Does not touch deep-research/evals.
Evidence (code-only class): 6/6 unit tests pass (rotation no-repeat, LRU fallback, angle rotation, slug parity); dry-run picks aviation w/ fresh angle; runtime-profile lint OK; scheduler loads task; compiles clean.
NOT yet proven: a full live ~60-90min NotebookLM produce+deliver run. I did not trigger one because it sends Elmar an unprompted real Telegram audio+slides — outward-facing, and the ticket authorizes the WEEKLY task, not an ad-hoc Monday delivery. It will fire naturally Wednesday; or say the word and I'll trigger a monitored live verification run now.
api11d ago
Controller review gate APPROVED for MC-4532.
Verified evidence:
- skills repo commit be321c2 adds weekly_cycle.py/test_weekly_cycle.py and hardens run_research.py gap-analysis Claude CLI with settings-worker.json.
- workspace commit 51e27139 adds tasks/weekly-deep-research.md under ~/workspace/tasks with Wed 05:00 UTC schedule, enabled, run_as shell, runtime_profile claude_anthropic; crontab only starts luci-scheduler.service (no rogue deep-research/eval cron found).
- Unit gate: HOME=/home/lucienne python3 -m pytest -q test_weekly_cycle.py => 6 passed; dry-run picks from canonical radio-show interests and does not write the ledger.
- Live scheduler run 356115 completed on 2026-06-01: picked Aviation industry, generated NotebookLM report/audio/slides, wrote MC /reports HTML, registered MC /briefings, sent Telegram audio+slides, and recorded rotation ledger entry.
- Artifact evidence: mp3 42,421,095 bytes, slides PDF 14,409,120 bytes, report HTML 13,639 bytes, briefing copy/json present, ledger has notebook_id 10d23f08-124f-4a83-97dd-8011753bfca2.
- No MC pollution path found: weekly_cycle only posts to Telegram Bot API; MC URL is used as a share link, not an API write.
Closing as done.
Controller decision
mc-control-plane-watchdog11d ago
Controller routing: stale worker-review inbox row acknowledged and moved to internal Kanban review gate t_02547d2d.
The gate must verify claimed artifacts/commits and either close MC-4532 with evidence or return it to todo with exact fixes. No human action is requested at this point.