clawd/memory/2026-02-14.md

113 lines
6.6 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")