OctoMonic
OCTOMONIC AIOS
2026-07-18

AIOS Deep Audit — gaps, efficiency & cost

Multi-agent sweep · 6 lenses · 222 live checks on Mac + VM + APIs · builds on the scripted 2026-07-17 audit
100/100
CHECKLIST (truth-adj.)
67
FINDINGS
15
HIGH-IMPACT
48
VERIFIED HEALTHY
TL;DR

The Four C's checklist has topped out — scored honestly it's 100/100, so it no longer measures anything. (Friday's scripted 90/100 was wrong in both directions: its "Google OAuth" gap is a stale signal — Google is healthy on all 3 accounts — and its "audit not scheduled" gap is a false negative about the very cron that produced it.) Underneath the perfect checklist the deep sweep found 67 real items: un-rotated leaked keys, a compact-recovery hook that silently drops 61% of the rule index, a cron failing every 5 minutes for 12 days, heavy MCP/config sprawl burning cost per session, and a documentation layer that keeps lying to agents at boot.

Verification status: 4 findings adversarially CONFIRMED (✅), 0 refuted, before the monthly Claude spend limit was hit mid-run and killed the remaining 43 verifier agents. Unmarked findings cite the sweep agents' own live command output but were not independently re-verified. The spend-limit event is itself logged as a cost finding.

Top gaps by leverage

HIGH · RISK4 leaked keys still un-rotated, 6 days after being flagged. Incl. a Supabase service_role key that bypasses RLS, plus Gemini / OpenAI / Firecrawl keys — all still marked "rotate" in a registry updated today.
Fix: execute the 2026-07-12 leak decision doc; Hamisada service_role first.
HIGH · GAPPostCompact hook truncates MEMORY.md at 8,000 of 20,489 chars. After every context compact, ~61% of the boot rule index — metered-tool gate, mockup rule, local-time rule — silently disappears from the running session.
Fix: hard-rules-first ordering in MEMORY.md, or inject a curated hard-rules subset instead of a truncated dump.
HIGH · GAPexpense_filer cron has failed every 5 minutes for ~12 days, silently. Wrong python (system vs venv), outside the AIOS-MANAGED block, so no monitor check sees it.
Fix: venv path, move into managed block, add cron-failure detection to monitor.py.
HIGH · RISKPlaintext secrets in Mac config files + TLS verification disabled. Supabase access token ×4, postgres pooler password in a process arg, n8n JWTs; NODE_TLS_REJECT_UNAUTHORIZED=0 on 3 DB-facing MCP servers.
Fix: env-var references, rotate exposed values, remove the TLS bypass.
HIGH · COSTMCP sprawl: ~60 resident node processes, duplicates, and an entire dead config block. docker-engine loads into every session with no Docker daemon; n8n registered twice against the same instance; supabase-monesys and context-mode doubled; the 8-server settings.json block yields zero tools (wrong file — Claude Code reads ~/.claude.json); 18 dead permission allow-list entries.
Fix: consolidate into ~/.claude.json / project .mcp.json; delete duplicates, dead servers, dead permissions.
HIGH · GAPOpus 4.8 transition stalled 11 days — and the boot memory now lies about it. The T2 smoke-test packet sat undelivered Jul 6→17; feedback_opus48_operating_mode.md says "team runs on Opus 4.8" while the pin is back on Fable (2× Opus pricing, every session); ANTHROPIC_API_KEY absent, blocking the documented API-escalation path.
Fix: run T2 on a real Opus session or rewrite the memory to the actual hybrid mode; decide the cost-default consciously.
HIGH · RISKGPI repo: 411 uncommitted files (state_sweep's single critical) — sales-app briefs and dated docs living outside version control. HIGH · GAPGOMO's packet drain isn't running — a handoff sat undelivered 5 days while GOMO shipped daily.
Fix: GOMO triage packet; verify GOMO boots via session_start.py --agent gomo.
✅ CONFIRMEDMED · RISKOrg-admin GitHub PAT still plaintext on the VM, unchanged since it was queued for replacement on 2026-06-10; residual copies in ~/.claude.json and Antigravity history.
Fix: fine-grained token swap + scrub — one /token-triage pass.
✅ CONFIRMED ×2MED · STALEThe audit instrument itself is broken in 3 places: checks a legacy Google token path (false-negative on VM, false-positive on Mac against a revoked token file ✅), can't see its own cron (flags itself "not scheduled" every week ✅), and counts 11 never-called webhook workflows in "17 active n8n workflows".
Fix: probe via google_auth.get_creds(), read the aios crontab, count only recently-successful workflows.

Efficiency / cost sheet

ItemCost todayFix
Boot reads (CLAUDE.md + MEMORY.md + SKILLS.md + persona)~18,300 tokens burned every session before any work3KB auto-generated SKILLS digest at boot; detail on demand
✅ gal-signup hourly WhatsApp cron (event ended Jul 16)24 pointless sends/day + 2 one-shots armed to refire 2027delete 3 crontab lines
root sync_routine cronfails 100% daily (Mac path hardcoded); duplicates auto_syncdelete
Vercel: 7 of 17 projects stale 33–76 days (incl. duplicate pair)clutter + quota riskdelete stale, keep source in git
Firebase: 12 projects vs ~3 active (duplicate Beertza pair)legacy sprawlarchive/delete after Blaze-billing check
Reshima "paused": 3 MCP entries (one WRITE-mode), VM cloudflared, broken-active n8n workflow (CRIT since Jul 5, 0 lifetime successes)every session + monitor noisedecommission or truly pause
ZenRows: 100% of GPI sites on premium_proxy, 2 stack js_render+antibotmax multiplier (documented as needed)quarterly downgrade probe
6 skills with zero uses in ~20k log lines; Monesys deploy+QA still manual after 5+ repeatsdead weight / repeated toilretire-or-fix pass; build monesys-deploy skill
Model default: Fable 5 for every session (2× Opus price); monthly spend limit hit mid-auditpremium tier on routine work; multi-agent runs now budget-boundconscious Fable-vs-Opus default; add ANTHROPIC_API_KEY for metered escalation

Docs lying to agents at boot (stale-doc cluster)

What's verifiably healthy (48 signals — highlights)

Next 3 actions

  1. Security pass (same day): rotate 4 leaked keys + exposed Supabase/pooler secrets, remove TLS bypass, GitHub fine-grained swap + residual scrub.
  2. Cron + MCP hygiene pass (~30 min, mostly deletions): fix expense_filer, delete gal-signup ×3 + root sync_routine, deactivate/fix the Reshima workflow, consolidate MCP configs, prune duplicates + dead entries.
  3. Truth pass: fix audit.py's 3 stale signals; refresh McLead known-gaps, SKILLS.md, SYNC_MAP, connections.md rows, ledger; decide Opus-vs-Fable default and close the transition (T2 or rewrite).