## Goal Scheduled retention for the cloud outputs tree. Radio mp3s in `PKA-Outputs/radio/` older than 90 days → delete. `board/`, `study/`, `reports/` → KEEP FOREVER (never prun...
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge4d ago
Ticket is done; runtime is closed.·profile claude_opus_1m_high
Description
MC-4893
## Goal
Scheduled retention for the cloud outputs tree. Radio mp3s in `PKA-Outputs/radio/` older than 90 days → delete. `board/`, `study/`, `reports/` → KEEP FOREVER (never prune). Per the architecture decision (board/study forever, mp3 90d).
## Design
- A small Luci script + scheduler task (daily). Resolve dir via `python3 ~/workspace/PKA/pka_paths.py outputs-dir radio`.
- Delete radio mp3 (+ its sidecar manifest/seed/summary with the same date) older than 90 days, by date-in-filename (preferred) else mtime.
- DRY-RUN mode that logs exactly what it WOULD delete; live mode deletes. Idempotent. Manifest-aware.
- SAFETY: never touch board/study/reports; and keep at least the most recent ~10 radio episodes regardless of age (avoid emptying radio).
## Constraints
- Only radio/. Atomic. Log every deletion. No system cron — use the Luci scheduler (`~/workspace/tasks/`).
## Verification: dry-run lists correct >90d radio candidates; live run removes only those; board/study/reports untouched; recent N kept.
## Terminal-state report REQUIRED.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· Low
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
api (human)
Mission Control
4d ago
4d ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.MC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.
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.
[visibility-only] Controller routed this Luci-owned ticket to Hermes Kanban board `mc-internal` card `t_d98c6ab6`. Worker: `codexbuilder`. Evidence: card is running in the isolated worktree named for MC-4893; MC runtime/pickup was not used. MC remains the durable status ledger while Kanban performs implementation.
luci-board-manager4d ago
[visibility-only] Controller gate PASS for internal Kanban card `t_d98c6ab6`. Landed reviewed commit `7ea055771a00bf99a9edf3cffe85294e23de1e80` on `origin/master` from a clean temporary worktree and deployed the new scheduler files into the live scheduler checkout without touching unrelated dirty WIP. Evidence: independent review PASS; `python3 -m pytest tests/test_cloud_radio_retention.py tests/test_cloud_radio_retention_task.py -q` -> 6 passed; `python3 scripts/cloud_radio_retention.py --dry-run` -> planned_count 0 under `/home/lucienne/gdrive/PKA-Outputs/radio`; live `scheduler.load_tasks()` sees enabled `cloud-radio-retention` direct_shell job using `--apply`. MC runtime/pickup was not used.