Archived Brief
This brief has been completed and is retained as a build record.
BRIEF: B-OPS-CRON-01¶
Cron Job Inventory + Migration to Cloudflare Workers¶
Date: 20 March 2026
Operator: Tim + Pace
Priority: Last job tonight — drop after B-ENRICH-KN-01 is confirmed running
SURFACE¶
Cloudflare Workers cron triggers — account e5a9830215a8d88961dc6c80a8c7442a
Mac Mini (source — being decommissioned for scheduled jobs)
DO NOT TOUCH¶
- Any running Workers or D1 databases
- Do not remove anything from Mac Mini until Tim confirms the cloud equivalent is verified working
BACKGROUND¶
We are on Workers Paid ($5/mo). Cron trigger limit is now 250 (was 5 on free). All scheduled jobs currently running on the Mac Mini via crontab and/or launchd should move to Cloudflare Workers cron triggers. Goal: Mac Mini is no longer required for any scheduled execution. If it goes down, nothing breaks.
PHASE 1 — INVENTORY (do this first, report back before touching anything)¶
Run the following on the Mac Mini and produce a simple report:
# 1. crontab entries
crontab -l
# 2. launchd agents
launchctl list | grep -i ucca
# 3. LaunchAgents plists
ls ~/Library/LaunchAgents/
# 4. Any shell scripts with schedules
find ~/projects/ucca-project -name "*.sh" | xargs grep -l "cron\|schedule\|interval" 2>/dev/null
Report back as a table:
| Job name | What it does | Current schedule | Script/command |
|---|---|---|---|
| ... | ... | ... | ... |
Stop here. Tim reviews and confirms which jobs migrate.
PHASE 2 — MIGRATION (after Tim approval)¶
For each approved job:
- Write a Cloudflare Worker with equivalent logic
- Add cron trigger in
wrangler.toml: - Deploy and verify it fires on schedule (check logs in Cloudflare dashboard)
- Run both Mac Mini and Worker in parallel for one full cycle to confirm output matches
- Remove from Mac Mini crontab/launchd only after parallel verification passes
- Add entry to ops.ucca.online cron registry block
KNOWN CANDIDATES (likely — confirm in inventory)¶
- Backup job (
cf-backup.sh) — currently runs on Mac Mini, backs up to Google Drive - VOCSTATS session refresh (if scheduled)
- Backup heartbeat KV ping
Note on backup Worker: the backup job writes to Google Drive via rclone. rclone won't run inside a Worker — this one needs to be rewritten to use Google Drive API directly, or keep the backup triggered from Mac Mini but have the Worker send the trigger signal. Flag this if it's an issue.
DEFINITION OF DONE¶
- Inventory table produced and reviewed by Tim
- All approved jobs running as Workers cron triggers
- Parallel verification completed for each job
- Mac Mini crontab/launchd entries removed
- ops.ucca.online cron registry updated
- Mac Mini confirmed no longer required for scheduled execution