Mac mini audit

What runs on the mini, what spends tokens or keeps sessions alive, what comes back after a restart, and what should go.

2026-10-18 · read-only audit, nothing removed yet · your calls are at the bottom

Three helpers keep the mini busy, not one rogue job. After this morning's restart they revived 49 of 62 sessions with nobody there. Switching off fleet-medic's revival stops most of it.

Top 10 — noisy, busy, spending or risky

#WhatMeasured todayFix
1fleet-medic revives and pokes sessions49 of 62 sessions revived after the reboot; about 94 paid turnsStop revival and idle pokes
2openclaw, an old side project (not PropFlow)3 servers open on your network, one can spend ElevenLabs credit with no login; one crashed 1,260 timesDelete; rotate the ElevenLabs key
3Driver check-in pokes142 pokes (30 yesterday); 35 model rulingsOff, or hourly
4Usage-limit “healing” (ccswitch)253 heal events; about 60 sessions moved onto other accountsLet the limit stop a session
5Codex in every session177 idle helpers, 2.4–3.7 GB of memoryOnly when asked
6Agent Smith worker (keep)Revived 5 Drivers at boot; 57 rate-limit errors; 564 MB logTune, don’t remove
7WhatsApp bridges2 of 3 logged out, restarting every 6 minKeep one, re-pair it
8Mini securityPasswordless admin, firewall off, password SSH onLock down
9Disk clutter~100 GB safe junk; 758 worktrees; 17,052 temp filesClean
10Non-PropFlow softwareAI-video tools, wedding site (7.9 GB), ChatGPT, orphan Adobe helperRemove
What each item is, in more detail
  1. fleet-medic (local-bin, every 5 min). Its settings revive any session it has ever seen and poke every idle one. A reboot looks to it like 83 sessions dying, so it brought them back 3 at a time for two hours. Each revival is a paid turn. It also loops on one dead window, about 14 times today.
  2. openclaw (~/openclaw, a March clone of someone else’s repo). Its voice API answers anyone on the home network or Tailscale with no password, and a paid ElevenLabs key is written in its code. Its dashboard accepts the built-in default password. “voicebox” has crash-looped every 30 s since its folder was deleted, and its error log is 168 MB. One piece is used by Agent Smith: a local Claude proxy. That moves into local-bin; it doesn’t get deleted.
  3. Check-in pokes (watcher-doctor + nudge). Every 3 minutes, watcher-doctor re-arms a watcher for each of 19 Driver lanes. The watchers poke after 10 idle minutes and never expire. Two sessions got 82 of the 142 pokes. Each check-in asks for a model ruling. The August off-switch for this was lifted on 08-31.
  4. ccswitch respawns sessions that hit the usage limit onto other accounts, both after each turn and every 30 seconds. fleet-medic competes with it for the same accounts, with 202 refused moves.
  5. Codex is registered for every session in ~/.claude.json. It was last used Sept 10.
  6. Agent Smith keeps its Temporal Cloud jobs, which is fine. But its task watcher revives Drivers without checking pause/stop switches, and it reconnects to Temporal about every 2 seconds, which is what fills its log.
  7. WhatsApp runs from a third-party clone inside ~/code/PropFlow. Only the personal bridge is paired. The other two print QR codes in a loop (605 MB log).
  8. Security. Also on: old-style screen sharing, Remote Apple Events and the AirPlay receiver. FileVault is off and auto-login is on, which is what makes unattended restarts work. Tailscale SSH is off, and nothing is published to the internet except the 4 intended PropFlow webhook addresses.
  9. Disk has 333 GB free, so space isn’t the problem; clutter is.
    • 22 copies of the docs site (32 GB) and Python cache (19.6 GB).
    • Claude desktop VM image (11.4 GB), old build copies (8.3 GB), Trash (5.3 GB) and iOS simulators (5.3 GB).
    • 85 worktrees pointing at missing folders, plus 133 orphaned ones parked since September.
    • Logs that nothing ever trims.
  10. Also not PropFlow: Blender and a Python AI stack (torch, mlx), Codex (about 9 GB of state), ChatGPT and Figma, a cookie-export browser extension, Google updaters and a Tesla display project.

After a restart

ServiceCame back?Note
Logs itself inyes, 3 sEverything below depends on auto-login
Agent Smith worker, Slack, scheduleryesTemporal Cloud; no local server needed
Board server, webhooks, Cloudflare tunnelyesTunnel retries once while DNS starts
Tailscaleby luck“Start on login” was off. Fixed today: login item on the mini and the Mac
WhatsApp bridges2 of 3 noLogged out; need your phone
Old sessionsall of themfleet-medic revives everything → 70 sessions, slow shutdown
The power-off/on test

Two read-only scripts are written:

The order matters:

  1. Switch fleet-medic off first, or it re-creates the storm.
  2. Take the snapshot.
  3. Restart.
  4. Run the check.

Passing means: every service above is up, no more than 5 sessions came back, there are 0 revivals, and the openclaw crash loop is gone.

What’s on the machine

Home folder map (568 GB used, 333 GB free)
/Users/miniclaw
├─ code/                          368 GB
│  ├─ PropFlow/                   350 GB  [PropFlow] 758 worktrees across 14 repos
│  │  ├─ propflowai/              108 GB  app checkout; 74 GB of it is nested worktrees, .git 18.8 GB
│  │  ├─ .smith-review-docs/       32 GB  22 copies of the docs site, keep 2
│  │  ├─ propflow-docs/            15 GB  docs checkout + 77 worktrees
│  │  ├─ appfolio-browser-agent/  9.5 GB  8.7 GB of it is nested worktrees
│  │  ├─ next-old-1e*/            8.3 GB  [STALE] old builds, Sep 30
│  │  ├─ agent-smith/ 4.0 GB · propflowai-smith/ 3.0 GB · brand-assets/ 3.4 GB
│  │  ├─ ~35 docs worktrees ≈ 35 GB (Oct 3–6) · ~130 ingest worktrees (live — leave)
│  │  ├─ whatsapp-mcp/            [NOT PropFlow] third-party clone, runs the bridges
│  │  └─ 1,200 loose *.log files   [STALE] command output, 71 MB
│  ├─ TheGarzaWedding/           7.9 GB  [NOT PropFlow]
│  ├─ tmp/ 5.9 GB · Mofu/ 1.2 GB [PropFlow] · datasets/ 1.1 GB
│  └─ tesla-second-display/, graphify/   [NOT PropFlow]
├─ .cache/                        52 GB  uv 19.6 [CACHE] · shared node_modules 18.4 [KEEP] · gh 5.0 · whisper 4.2
├─ Library/                       51 GB
│  ├─ Claude desktop VM image    11.4 GB  [NOT PropFlow] Jul 6
│  ├─ Chrome 6.9 GB · Codex updater cache 6.0 GB [CACHE] · iOS simulators 5.3 GB [STALE]
│  └─ Logs/ 2.2 GB                never rotated
├─ .claude/                       45 GB  [PropFlow] dotclaude
│  ├─ projects/                  25.3 GB  session transcripts (needed for resume)
│  ├─ jobs/ 8.3 GB · scripts/ 8.1 GB (venvs and outputs, should be ~0)
│  └─ ccswitch/ 0.9 GB            config for 398 sessions, ~50 alive
├─ .Trash/                       5.3 GB  installers — empty it
├─ resources/ 5.4 GB · openclaw/ 1.1 GB · .codex/ 1.2 GB   [NOT PropFlow]
├─ .wt-trash-parked/              133 orphaned worktrees, Sep 16–17
└─ 17,052 .claude.json.tmp.* files  1.2 GB  [STALE] failed saves, Jul–Oct 7

Already done today

Your calls

Pick one per row. Answers save to this page, and Claude reads them back.

1. Stop fleet-medic reviving sessions and poking idle ones

It keeps its other jobs: unsticking a frozen session and moving accounts.

2. Delete the openclaw side project

Agent Smith’s Claude proxy moves into local-bin. You rotate the ElevenLabs key.

3. Driver check-in pokes

4. Let the usage limit stop a session instead of moving it to another account

5. Codex only when asked, not in every session

6. Agent Smith stops reviving Drivers on its own

7. WhatsApp: which bridge stays?

Re-pairing a bridge needs your phone to scan a code.

8. Lock down the mini (key-only SSH, firewall on, remote events off)

Passwordless admin and auto-login stay, so restarts keep working.

9. Clear the ~100 GB of safe junk and sweep clean worktrees

Worktrees with unsaved changes and the live ingest swarm are left alone.

10. Remove the non-PropFlow software

11. The wedding site (7.9 GB)

12. Run the power-off/on test once the fixes are in

Anything else

PropFlow Docs