AUTOAUDIT Summary -- 2026-03-17
Findings
CRITICAL
1.
Gmail OAuth token expired (adalsey account). Continuous hourly failures from 2026-03-16 21:40 through 2026-03-17 02:40 (6 logged errors). Smoke test: `gmail-adalsey` FAIL (`invalid_grant: Token has been expired or revoked`). LaunchAgent `clawstin.gmail.triage` exit status 1. Triage output stale (30.7h). Root cause identified in 2026-03-16 session: Google Cloud project `clawstin-488222` likely still in "Testing" publishing status → 7-day refresh token expiry. Ghost needs to push the project to Production in console.cloud.google.com, then re-authorize.
7th consecutive audit with this issue (originally found 2026-03-16).
WARNING
2.
com.clawstin.balance-notify LaunchAgent exit 1. No associated log errors found. Script exists at `scripts/balance-notify.sh`.
2nd consecutive audit.
3.
clawstin.fer-monitor LaunchAgent exit 2. Points to deleted `scripts/fer-monitor.py`. Stale FER plist also persists in lifeboat: `lifeboat-system/launch-agents/clawstin.fer-monitor.plist`. Both the LaunchAgent and the lifeboat copy should be removed.
9th consecutive audit for the plist; fer-monitor project was purged 2026-03-16 but cleanup incomplete.
4.
Autoaudit running on Sonnet despite Opus config. `session_status` shows `Model: anthropic/claude-sonnet-4-6`; cron payload specifies `model: "anthropic/claude-opus-4-6"`. Possible gateway-level model routing issue.
3rd consecutive audit.
5.
Context load: 3,044 words (threshold: 1,500). Files exceeding 400-word threshold:
- AGENTS.md: 926 words — Swarm Canvas section (6 python3 command bullets) and Context Guard section are candidates for on-demand reads.
- memory/2026-03-16.md: 1,444 words — daily log, naturally large; will roll over when 2026-03-17 log begins.
- All others under threshold: TOOLS.md 171, SYNC.md 135, MEMORY.md 117, HEARTBEAT.md 95, SOUL.md 64, IDENTITY.md 32, USER.md 32, STYLE.md 17, WORKING_MEMORY.md 11.
6.
Stale references to archived paper trader paths. `state/dependency_map.json` (line 191) and `memory/where-we-left-off-030326-0946.md` (line 46) reference `scripts/trading/public_paper_trader.py`, which was moved to `scripts/trading/archive/` on 2026-03-16. Not breaking (these are reference/historical files) but technically stale.
7.
Smoke test: balance-anchor reports "no last_checked timestamp" but the file has one. `vital-balance-anchor.json` contains `"last_checked": "2026-03-17T01:00:18Z"` — yet smoke_test.py reported WARN with "no last_checked timestamp." Possible smoke test parsing bug or field-name mismatch.
Carried Over
1.
Gmail adalsey OAuth expired — CRITICAL. Persists from last audit. Ghost action required (Google Cloud console → Production publishing status).
2.
Stale FER plist in lifeboat — 9th consecutive. Only `lifeboat-system/launch-agents/clawstin.fer-monitor.plist` remains. Ghost approved purge 2026-03-16 but lifeboat copy and LaunchAgent survived.
3.
Autoaudit model mismatch (Sonnet instead of Opus) — 3rd consecutive.
4.
com.clawstin.balance-notify exit 1 — 2nd consecutive. No log errors found.
Resolved Since Last Audit
-
vital-widget-freshness: Decommissioned. Smoke test check removed (line 126 of smoke_test.py). ✓
-
vitals-api/vital-server exit -15: Both now running (pid 779/781, exit 0). ✓
-
clear-chronic-wednesday delivery error: Cron job recreated (2a961c3a) on 2026-03-16 with correct delivery target and `bestEffort: true`. No errors yet; next fire Wednesday 2026-03-18 08:00 ET. ✓
Past-Due Schedule Entries
- `2026-03-16 09:00 -- ACCOUNTS RECEIVABLE - Queenie - SNOOZE/RESOLVE?`
- `2026-03-16 09:00 -- ACCOUNTS RECEIVABLE - mighty white - SNOOZE/RESOLVE?`
- `2026-03-16 09:00 -- ACCOUNTS RECEIVABLE - Keyan - SNOOZE/RESOLVE?`
- `2026-03-16 09:00 -- ACCOUNTS RECEIVABLE - Take Flight - SNOOZE/RESOLVE?`
- `2026-03-15 18:00 -- REPLY TO ALEX PARKER - Bowers CPA - DOB + bank info for IT-204-LL (due 3/16) + personal tax liability -
[email protected]` ⚠️ Filing deadline was 03/16 — now past due.
Fired One-Shot Reminders
- `balance-burn-calibration-review` (99519f01, deleteAfterRun) — fired 2026-03-15 with error (`Message failed`), disabled. `deleteAfterRun` set but job still present (deletion may require successful run).
- `bed-lights-off` (a1c5d0f0) and `bed-wake-light` (078c9dc5) — one-shot $BED crons from tonight, not yet fired. Will self-delete after run.
Step Completion Checklist
Step 1 -- Pre-Audit Data: completed (13 checks; 0 errors, 3 warnings: LaunchAgents flagged 3, schedule 5 past-due, log errors 6 gmail entries)
Step 1.5 -- Smoke Tests: completed (9 pass, 2 warn, 1 fail: gmail-adalsey token expired; balance-anchor last_checked false positive; gmail-triage-adalsey recency stale)
Step 2 -- Last Report Review: completed (6 carried-over tracked; 3 resolved, 4 persisting)
Step 3 -- Daily Integration: completed (2026-03-16 log reviewed — all 15 referenced script/file paths verified present; no 2026-03-17 log yet)
Step 4 -- Git Diff + Downstream: completed (3 commits reviewed; paper trader archive move left stale refs in dependency_map.json and where-we-left-off; no other stale cross-references)
Step 5 -- File Health Review: completed (MEMORY.md 117w healthy; context load 3,044w over 1,500 threshold; AGENTS.md 926w + memory/2026-03-16.md 1,444w over 400 threshold; SCHEDULE.md 5 past-due; all injected files consistent — no contradictions found)
Step 6 -- Cron + Automation: completed (38 total jobs, 27 enabled, 11 disabled; model assignments: Opus for autoaudit ✓ (running as Sonnet — finding #4), Opus for bizbot ✓, Sonnet for morning-brief/security-guard ✓, Haiku for all routine jobs ✓; clear-chronic-wednesday recreated and clean; balance-burn-calibration one-shot fired-with-error still lingering)
Step 7 -- Script Validation: completed (send-todo.sh ✓, triage-proton.py ✓, triage.py ✓ exists but OAuth expired, watchdog/ ✓ 6 files present, consecutive-failures.txt = 0)
Step 8 -- Cross-File Consistency: completed (FER plist → deleted script; archived paper trader paths in 2 reference files; no other contradictions)