clawd/memory/2026-02-14.md

198 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-02-14 (Saturday) — Valentine's Day
## Context Hygiene Rules Added to AGENTS.md
- Side questions → subagent always (keep main context clean)
- Both units always (metric + imperial) — Johan's brain is metric, lives in US
- Thinking level: match the task (no thinking for simple stuff)
- Also added units preference to USER.md
## myCigna — Autonomous Login Achievement
- Installed real Google Chrome on forge (v145), runs on Xvfb:99 with CDP on port 9224
- Headless Playwright gets WAF-blocked by Cigna; real Chrome on Xvfb works perfectly
- Login flow: username=tjjongsma (NOT email), password in TOOLS.md
- 2FA via email to tj@jongsma.me — grabbed code from MC automatically, zero human intervention
- Full autonomous flow: login → 2FA → navigate → extract claims data
- Credentials stored in TOOLS.md under "myCigna"
## Baycare Ventilator Fraud (CRITICAL — Sophia)
- **Baycare Home Care billing HCPCS E0465 (home ventilator) at $3,125/month**
- **Sophia does NOT have a ventilator. Never had one from Baycare. Off vent since Nov 2022.**
- Jan 10 claim #260155327900: $3,125 billed, $1,781.25 applied to deductible
- Feb 10 claim #260540751600: $3,125 billed, still processing (also E0465)
- Other Baycare charge E0431 ($121.60/mo) = portable oxygen rental — legitimate
- Johan has notified both Baycare and Cigna **at least 3 times** before
- **Family is extremely self-supporting**: concierge pediatrician, own suppliers (Tri-Med, Amazon), own portable O2 (Zen-O)
- Baycare only provides: consumable supplies (gauze, trach ties, suction tubes, gloves, H2O2, etc.)
- The ONLY equipment Baycare could legitimately bill for = suction machine (~$300)
- **Strategy: Don't pay. Let them escalate. Documentation ready.**
- Formal complaint drafted: ~/documents/records/medical/baycare-ventilator-fraud-complaint-2026-02-14.md
- If ~38 months of E0465 since Nov 2022: potentially ~$118,750 in fraudulent charges
## Cron Job Finalization
- Git audit timeout bumped 120s → 300s
- Evening Work Queue → Evening Briefing (now isolated agentTurn, same format as morning)
- Both briefings now require: actual release notes/changelog with links for any software updates
- Both briefings now include infrastructure/industry topics: memory pricing, HDD pricing, hyperscaler price changes, backup/MSP industry (Veeam, Commvault, Cohesity, Rubrik, NinjaOne, AvePoint, NABL, etc.)
- Final cron count: 7 jobs (claude-usage, git-audit, morning briefing, evening briefing, nightly maintenance, weekly synthesis, Dr. Madan reminder)
## Shannon Security Scanner — Live on Zurich VPS
- Configured Claude Code Router (CCR) to proxy Anthropic SDK → Fireworks K2.5
- Three containers: Temporal + Router (CCR on port 3456) + Worker
- Portal-only source code uploaded: 55 Go files, 572KB, 15,700 lines
- Excluded: internal tools, DICOM importers, MCP bridge, patient data, binaries
- **Scan launched**: `inou-com_shannon-1771049779401` against https://inou.com
- Fireworks K2.5 cost: ~$0.50 worst case for full scan
## Alert Dashboard (port 9202) Redesign
- Renamed conceptually to "Watchboard" / status board
- Added DELETE endpoint + × dismiss button on alerts
- Full redesign: Sora font, Braun/mid-century modern aesthetic, warm gold (#c8b273) accents
- All 12 clock numbers, gold second hand with counterweight
- Bigger fonts (16px alerts) for arm's length viewing on Fire tablet
- Calendar month navigation ( buttons)
- Compact day headers (S M T W T F S) — fixes Saturday cutoff
- Two-tone warm chime instead of harsh pling
- Purpose: status updates (texts, Shannon waiting, sensor alerts), NOT news (news stays on James Dashboard 9200)
## Closet Bins Search
- Johan needs plastic bins for closet: 46W×46D×33H cm space, wants two side by side
- Each bin ~23cm×46cm×33cm (9"×18"×13") — this form factor doesn't exist in standard retail
- Suggested: one wider + one narrower bin, or IKEA/Container Store in person
## Evening Briefing Test Run
- Successfully generated and posted 7 news items to dashboard
- OpenClaw 2026.2.13 release: HuggingFace support, write-ahead delivery queue, Discord voice messages, 337 commits
- Confirmed briefing format works with individual news items + source URLs
## Fully Dashboard Overhaul (2:00am - 2:30am)
### Changes Made
- **Alerts moved to left** (58/42 split), clock/calendar on right
- **Long-press (300ms) to mark done** — dims + strikethrough, auto-purge after 2h
- **Timestamps brightened** — was #555, now #777-#888
- **Pulse-ox camera feed** — MJPEG stream via HA proxy (`/api/cam/pulse-ox/stream`), shows 7pm-8am only
- Entity: `camera.pulse_ox_live_view` (Tapo camera at 192.168.2.183)
- HA token passed via systemd env to alert-dashboard service
- MJPEG stream works natively in `<img>` tag — no ffmpeg needed
- **Typography cleanup** — consolidated to 3 font sizes, 2 weights, consistent spacing
- **Email triage redirected** — MC `dashboard_url` changed from 9202 → 9200 (news API), no more triage noise on Fully board
- **Hook announcements silenced** — messages webhook set `deliver: false`
- ffmpeg installed on forge (for future use)
### Architecture: Fully Dashboard (port 9202)
- **Purpose:** Johan's unified inbox / notification center on Fire tablet with Fully Kiosk
- **API:** `/api/alerts` (POST message+priority, GET list, PATCH done, DELETE)
- **SSE:** `/api/alerts/stream` for live push
- **Camera:** `/api/cam/pulse-ox` (snapshot) and `/api/cam/pulse-ox/stream` (MJPEG)
- **Priority levels:** critical (red), warning (amber), info (gold)
- **Sound:** Web Audio API chime on new alerts (gain 0.1)
- **Source:** `/home/johan/dev/alert-dashboard/`
- **Service:** `alert-dashboard.service` (systemd user)
### Key Decision: Fully Board = Johan's Inbox
- Everything that survives my triage → Fully dashboard alert
- Three tiers: critical (act NOW), warning (needs you today), info (FYI)
- Email, WhatsApp, calendar reminders, system alerts — all go here
- Johan stops checking email/phone — I'm the filter
- CMMC meetings: skip by default (Johan doesn't attend)
### Calendar Flow (designed, not yet implemented)
- Johan sends screenshot of Outlook list view each morning
- I OCR it, parse meetings, set 5min + 1min cron alerts to Fully board
- List view = machine-readable (exact times, no guessing from pixels)
- Week of Feb 16-20 parsed as proof of concept
### WhatsApp Visibility
- MC has WhatsApp messages via message-bridge on port 8030
- Tanya's number: +17272253810
- She sent `laborwerte_1457_tmp.pdf` (lab results) at 8:22pm Feb 13
- Johan wants to be alerted about messages, not have me interpret them
### Contacts
- +13474999485 — sent Johan Valentine's message on WhatsApp (unknown contact, uses "iyawo")
## James Dashboard Fix (2:38am)
- News items now clickable — titles link to source URL when available
- Briefing agent sometimes grabs wrong URLs (Gemini article linked to Wordle page) — need to improve URL capture in briefing prompts
## Johan's Desk Layout
- **Left monitor:** TUI console (OpenClaw CLI)
- **Center:** Fully dashboard (Fire tablet with Fully Kiosk, port 9202) — promoted to center
- **Center-back:** Sophia room camera (Tapo standalone, redundant backup while Fully proves stability)
- **Right monitor:** James Dashboard (port 9200)
## Sophia Monitoring Stack
- **Primary:** VTech radio baby monitor — reliable (radio, not WiFi), beeps on power loss
- **Visual:** Tapo WiFi camera (192.168.2.183) + Fully dashboard MJPEG stream
- **Pulse-ox:** Visible on Tapo camera feed (typical restful values: 98% SpO2, 73 HR)
- WiFi camera is nice-to-have, VTech is safety-critical
- Johan listens to her breathing — prefers hearing it over silence
## Email Triage (4:18 PM)
- Processed 34 messages (19 tj, 15 johan)
- **Generator:** 48kw ran 3x today (power outages 11:23, 11:31, 11:48 AM). GenerX tech Eduardo Rivera came for service. Service form archived.
- **Bounces:** 10 bounce-backs on johan@ from inou pentest probes (example.com, pentest@inou.com) — expected
- **Deliveries:** TP-Link Ultra-Portable delivered. Orders #4720443389 and #12539598 shipped.
- **Archived:** GenerX service form, order confirmations (4720443389, Nordstrom 1026793809)
- **Trashed:** Duke Energy usage alert, Mint Mobile survey (Mikhail), Realtor listing for own house, generator notifications, political newsletter, subscriber agreement update, marketing/spam, Valentine's lingerie promos, hardware spam
- **MC issue:** LLM triage failing with 401 (API key invalid), requests taking 15s+
## Shannon Scan Complete
- Full pentest of inou.com via Shannon Lite on Sonnet 4.5 (OAuth token direct to Anthropic)
- Runtime: ~1.5 hours
- **Findings:** 2 CRITICAL (hardcoded backdoor 250365, session hijacking), 2 HIGH (session fixation, brute force)
- Authorization, SQLi, SSRF all passed clean
- 3 out-of-scope items needing internal access (path traversal, DICOM XSS, LLM prompt injection XSS)
- PowerPoint generated and placed on sophia SMB share
- All deliverables at ~/clawd/memory/shannon-scan-2026-02-14/
## Prima (UMich Brain MRI AI)
- Deep dive completed — open source MIT, VLM for 50+ neuro conditions, 97.5% accuracy
- Needs Ampere+ GPU (L40S reference, RTX 3090 minimum). Forge GTX 970 is out
- Johan's idea: offer as inou service — intelligent series selection (don't run all 10K slices, pick relevant series) → RunPod serverless GPU → results in viewer
- Spec being written by subagent
- Sophia had 10,000+ slices — this is the use case
## Diana Yusha Lab Report
- Added arthritis rebuttal section (Russian) — CRP 1.3 and ESR 6 don't support arthritis diagnosis
- Some Russian doctor suggested arthritis based on elevated CK 406 — incorrect interpretation
## WebMCP
- Added to HEARTBEAT.md tech watch list
- Chrome experimental API for structured web agent tools — high relevance for James/OpenClaw, medium for inou
## Colorado Camel Milk
- Order #16698 from Feb 7, $115 (6 pints frozen + $31 shipping)
- Still "Awaiting Shipment" — waiting for safe weather window (frozen perishable to Florida)
## XPS14 Revival — Kaseya Workstation Plan
- **Trigger:** Kaseya CISO policy — corporate devices only on corporate network
- **XPS14:** Dell XPS 14, Windows (fresh install?), was sitting in closet
- **Role:** Pure Kaseya — Teams, Zoom, Outlook, VPN, internal tools
- **Mac Mini:** Stays as personal control center (inou, James, development)
- **RDP setup:** Johan uses Windows App (RDP) from Mac to XPS for daily work
- **James access:** RDP shadow session from forge — read-only observer of Johan's session
- `mstsc /shadow:1 /control:0` — native Windows feature, nothing installed
- I see Outlook/Teams in real-time, triage emails, surface actionable items to Fully
- No OCR needed — direct UI access
- **Webcam/mic:** Dedicated to XPS for Teams/Zoom calls
- **Monitor:** XPS drives 1 display (or shares via input switching), Mac Mini drives the rest
- **Network:** XPS on corporate network, Mac Mini on BYO network, both on same LAN
- **Status:** Johan unboxing now
## Infrastructure
### Generator (48kw)
- Generator does NOT auto-start — manual start only
- GenerX came out today to analyze the auto-start issue (tech: Eduardo Rivera)
- The 3 runs were test runs by GenerX, NOT power outages
- Waiting on quote from GenerX for the fix
### Emergency Internet Failover (TP-Link AX1500)
- Installed TP-Link AX1500 router, connected to UDM-Pro port 10
- Tested and working, then port 10 disabled on UDM-Pro
- WiFi network: `X4` / password: `Helder06`
- **For longer/full outages (including mobile coverage):** swap the cable on port 10 for the longer cable (already staged nearby) and connect to Starlink
- This gives internet via Starlink → AX1500 → UDM-Pro port 10
- Shannon VPS now configured with OAuth token (no more router proxy)