OVERRIDES runtime profile: uses direct_python (plain Python, no model)
because the script is a stdlib-only file rotator — it never invokes the
claude CLI or any LLM API, so the scheduler must not inject a provider env.
Daily gzip rotation of oversized workspace logs. Copytruncate semantics: the
live file is gzip-copied to <name>.log.1.gz and then os.truncate()d in
place, so long-running writers (scheduler systemd unit, tmux pipe-pane, cron
>> redirects — all O_APPEND, verified via /proc fdinfo) keep writing into
the truncated file without restart. Retention: .1.gz (newest) through
.4.gz (oldest); the oldest archive is dropped on each rotation.
Manual run / dry-run:
python3 ~/workspace/scripts/rotate_logs.py --dry-run
python3 ~/workspace/scripts/rotate_logs.py --size-mb 20 --keep 4
python3 ~/workspace/scripts/rotate_logs.py
Format: minute hour day month weekday
| Started | Status | Duration | Log |
|---|---|---|---|
| 1h ago | completed | 0s | View log |
| 1d ago | completed | 0s | View log |
| 2d ago | completed | 3s | View log |
Mission Control is the board for your delegated work: requests come in, Luci coordinates the next step, and evidence stays visible for review.
Luci is your always-on assistant for routing, status updates, and follow-through. Operators can still open deeper evidence when needed.