--- name: project-jarvis-todo description: "Master TODO list for JARVIS system — current open items and completed work" metadata: node_type: memory type: project originSessionId: 4420b39a-7b7f-439f-9321-ff0daf1d663d --- # JARVIS Master TODO Last updated: 2026-06-18 --- ## 🔴 OPEN - [ ] **HA HOME tab — show all lights, plugs, switches** — currently 17 lights show but only 3 useful switches (Sirens, CEC Scanner, ESPHome) pass the filter. Need to audit what real smart plug/switch entities exist in HA (Tuya, TP-Link Tapo, Z-Wave, etc.) and ensure they appear in the JARVIS HOME tab. The `$skipKeywords` filter in `api/endpoints/ha.php` strips camera/HACS junk — verify real device switches aren't accidentally filtered. Also check if HA custom component is syncing all entity domains. - [ ] **Claude API credits** — image-based Vision Protocol (`handle_screenshot` with actual PNG) uses `claude-opus-4-8`. Top up at console.anthropic.com if vision fails. Guardian/SITREP now on Groq so those no longer drain credits. - [x] **HA agent persistence** — SOLVED. The HA custom component (`jarvis_agent`) runs inside HA's Docker container (IP 172.30.32.1) and auto-starts with HA. Online and healthy. The old standalone Python script at 10.48.200.97 is obsolete. --- ## ✅ COMPLETED (2026-06-18 session) - [x] JARVIS fully migrated DO → PVE1 VM 211 (8c/16GB, nginx/PHP8.3/MariaDB/Redis/Arc Reactor) - [x] All 3 new VMs on PVE1: JARVIS-211, NPM-200, Ollama-210 (IP changed from .95 → .210, Reolink owns .95) - [x] Tailscale on all key hosts — full mesh, all 13+ nodes documented - [x] FortiGate VIPs updated to 97.247.237.97; JARVIS on port 1972, HOA on 8123 - [x] NPM running at http://10.48.200.200:81 (Docker, proxy hosts for hoa/novacpx) - [x] JARVIS backups — /var/backups/jarvis/, daily cron 7am UTC (2am CDT), 7-day retention - [x] Jellyfin agent — v3.1 online at 10.200.0.3 via PVE1 password SSH - [x] HA agent — v3.1 running on HA VM at 10.48.200.97 via HA web terminal - [x] PVE1 ImageMagick — installed - [x] Vision screenshots tab — already existed in admin under Arc Reactor → Vision Protocol - [x] MediaStack SSH key — DO key generated and copied to MediaStack via PVE1 hop - [x] Workers terminology — already "JARVIS AGENT WORKERS" in admin - [x] install-agent.sh — default URL updated to http://10.48.200.211 - [x] Website webhooks — all 7 repos → tomtomgames.com/webhook.php (DO); JARVIS repo → port 1972 - [x] webhook.php fixed (broken define from bad sed), synced to DO - [x] Service monitor updated — nginx/php-fpm/mariadb/redis/arc/agent (not OLS-era services) - [x] DO server WEB HOST block on front page — shows DO CPU/RAM/DISK via Tailscale agent - [x] Network devices cleaned up — 23 named devices, all infrastructure labeled - [x] Agent configs fixed — all 8+ agents pointing to new JARVIS VM, correct watch_services per host - [x] Facts collector fixed — external site checks, correct column names, proper timeouts - [x] CLAUDE.md + INFRASTRUCTURE-REFERENCE.md fully updated and pushed --- ## ✅ COMPLETED (2026-06-17 session) - [x] Phase 3 JS modularization — jarvis-protocols.js split into 3 panel files - [x] Guardian/SITREP/Vision text → Groq (image analysis stays Claude) - [x] kb_facts freshness fix (storeFact updated_at, $fresh() column name) - [x] Site health local loopback fix - [x] Cloudflare Rocket Loader fix (face-api.js data-cfasync) - [x] Session fix (api.php skip logic too broad) - [x] JS syntax fix (apostrophe in face-api label) - [x] All 8 online Linux/Proxmox agents → v3.1 with version in heartbeat --- ## ✅ COMPLETED (2026-06-12 session) - [x] Agent v3.1 Linux, v3.0 Windows, v3.0 macOS - [x] Workers tab VERSION column + agentUpdateFlow - [x] Arc Reactor systemd active, tracked in git - [x] All 13 "make it stand out" improvements - [x] MediaStack NAS migration