diff --git a/HEARTBEAT.md b/HEARTBEAT.md index 3d79b20..c71080c 100644 --- a/HEARTBEAT.md +++ b/HEARTBEAT.md @@ -265,6 +265,8 @@ If a story with a similar title or topic was already posted today, **skip it**. ``` The next subagent reads this file at the start and skips anything already covered. +**Hard dedup rule:** If a topic/story appears in `x-watch-last.md`, **do not surface it again** — not as an update, not as a confirmation, not as "more details emerged." The only exception is if there's a concrete new fact that changes the picture (e.g., a release date, a product launch, a number). "steipete is still building NemoClaw" is not a new fact. Treat the last scan file as a blacklist. + ### How to start each scan 1. Read `memory/x-watch-last.md` — know what was already covered 2. Fetch dashboard news (last 20 items) — know what's already posted diff --git a/memory/2026-03-16.md b/memory/2026-03-16.md index 6e8822b..a418076 100644 --- a/memory/2026-03-16.md +++ b/memory/2026-03-16.md @@ -1,89 +1,56 @@ -# Memory — 2026-03-16 +# Daily Memory — 2026-03-16 (Monday) -## Vera — ElevenLabs Voice Agent Demo (late night Mar 15/16) +## Key Events -### Context -Johan building a voice AI demo for Walter Scott's brother **Brad Scott**, who owns **Spence & Mathews Insurance** in Berwick, Maine. Walter is worried about the business and wants to "wake up" the family. Wednesday afternoon (Mar 18) demo at Brad's office — Brad + 3 kids (Jake, Jesse, Josiah) + wife Linda will be there. Johan has never met them. This is a favor, not a sales pitch. +### ~3–4 AM: Vera Voice Agent (ElevenLabs) +Johan built a voice AI demo for a client (Spence & Mathews Insurance, Berwick, Maine). Walking him through ElevenLabs Conversational AI setup: +- Agent "Vera" with Clara voice (V3 Conversational, Expressive mode) +- LLM: GLM-4.5-Air (platform recommendation, good latency) +- Knowledge base: URL crawl of spenceandmathews.com +- System prompt includes Brad Scott's family context (owner of the agency) +- Configured and working. -### The Agency -- **Name:** Spence & Mathews Insurance -- **Location:** Berwick, ME (also licensed NH) -- **Website:** spenceandmathews.com -- **Phone:** 800-595-2565 -- **Fax:** (207) 698-4324 (Brad Scott's line) -- **Owner:** Brad Scott (Walter Scott's brother) -- **Team members (Scott family):** Jake Scott, Jesse Scott, Josiah Scott (3 kids), Linda Scott (wife) -- **Size:** ~25 FTE -- **Founded:** 1935 -- **Coverage:** Auto, motorcycle, classic car, boat/watercraft, ATV, RV, homeowners, renters, condo, landlord, flood, umbrella, BOP, commercial property, general liability, commercial auto, workers comp, surety bonds -- **Website style:** WordPress-era, dark red/maroon, "Since 1935" — functional but dated +### ~2 AM: HA Token Lost/Recovered +Lost the Home Assistant token during session compaction. Johan re-provided: +`eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI1MjAyNTkyNmQzZmU0YjFmOWQzOGY5OGUyZTA5ZGQ3OCIsImlhdCI6MTc3MzY0MTE5MiwiZXhwIjoyMDg5MDAxMTkyfQ.AG_nmfHzr-O8fqM2BRncheb-Q9BBKnZsWH-24fpJT` +Saved to `memory/infrastructure.md`. Never lose it again. -### Vera — The Agent -- **Platform:** ElevenLabs Conversational AI (ElevenAgents) -- **Agent ID:** agent_5601kktc5jwjfscrknfcyvnrtdc9 -- **Demo URL:** https://elevenlabs.io/app/agents/agents/agent_5601kktc5jwjfscrknfcyvnrtdc9/preview?include_draft=true -- **Voice:** Clara (Natural and Convincing, V3 Conversational, Expressive mode ON) -- **LLM:** Qwen 3 (final choice — better than GLM, handles insurance knowledge well) -- **Knowledge base:** spenceandmathews.com crawled + RAG enabled -- **First message:** "Hi, thanks for calling Spence & Mathews Insurance, this is Vera — how can I help you today?" -- **System prompt:** Based on EL Insurance Advisor template, customized with Spence & Mathews name, Brad Scott, Jake/Jesse/Josiah/Linda on the team +### ~3:30 PM: Signal Fully Retired +Signal was crash-looping (NOTIMPLEMENTED errors). Johan confirmed: retire it entirely. +- Binary, service, data, config removed +- All script references cleaned up +- OpenClaw config updated (signal channel removed) +- Gateway restarted +- Discord is now the only primary notification channel -### What Vera Can Do (tested and confirmed) -- Knows fax number from RAG knowledge base ✅ -- Knows team member names (caught "Josh" → offered Josiah, then Jake) ✅ -- Handles claims intake (boat sinking scenario) ✅ -- Knows personal effects coverage (watch in sunk boat) ✅ -- Gives real actionable advice (photos before cleanup, fuel spill liability, wreckage removal) ✅ -- Handles "can I fax you a photo?" naturally with correct fax number ✅ +### ~3:42 PM: notify.sh Created +Created centralized notification dispatcher `scripts/notify.sh` after signal removal exposed silent scripts: +- k2-watchdog.sh — now alerts on kill (ntfy forge-alerts, priority 4) +- qwen-gguf-watch.sh — now alerts when GGUF model drops (ntfy + dashboard) +- All direct ntfy curl calls in scripts replaced with notify.sh wrapper -### ElevenLabs Account Status -- **Credits:** ~3,665 remaining (resets March 18) -- **Plan:** Free tier -- **Decision:** Don't upgrade until Brad shows interest. Credits reset same day as demo. +### ~5 PM: X-Watch Dedup Fixed +X-watch subagents kept re-surfacing the NemoClaw/GTC story on every scan. Fixed: +1. 24h filter on all fetched posts +2. Hard blacklist in `memory/x-watch-last.md` — topics already posted blocked unless concrete new fact +3. HEARTBEAT.md updated with strict dedup rule -### Demo Plan for Wednesday -1. **Vera live demo** — hand Brad/kid a phone, let them talk to her. The moment she says Jake's name unprompted → room reaction. -2. **Live Claude Code build** — claims intake form for Spence & Mathews, mobile-friendly, built in ~10 min -3. **Let the room drive** — they'll ask "can it also...?" and Johan builds that feature live (same as Walt's fridge app → barcode scanning pattern) -4. **Potential 3rd act:** Rebuild their website live (~5 min) — visceral for a family that's stared at the same site for years +### 8 PM: OC Double-Send Bug +X-watch result appeared twice in Discord (two message IDs, 9 seconds apart). Deleted duplicate. Root cause: likely OC double-announce on subagent completion. Watching. -### Precedent: Walt's Fridge App -- Built fridge inventory app in 5 min for Walter -- Added barcode scanning + lookup when Walt said "inconvenient to add items" -- That organic feature addition was the most impressive moment -- Same pattern for Wednesday — start simple, let the room ask for more +## Big News Today +- **NVIDIA GTC**: Jensen Huang announced NemoClaw — AI agent OS built on OpenClaw. steipete was on stage with NVIDIA engineers. "Every company needs an OpenClaw strategy." +- **OpenShell**: steipete confirmed building alongside NemoClaw with NVIDIA AI team. +- **OC 2026.3.13**: Chrome DevTools MCP, Ollama official provider, plugin architecture refactor. +- **Anthropic**: Off-peak Claude limits doubled. -### Walter Scott -- Johan's friend/contact -- Brother: Brad Scott (Spence & Mathews) -- Johan has been exchanging WhatsApp messages with Walter (supplements conversation earlier today — MET, PRO, KKO, CAN labeling advice; also "pls call me" about the accident) -- Walter asked for this demo +## Morning Brief Notes +- S&P +0.99% ~6,698, Goldman raised year-end target to 7,600 +- SentinelOne short thesis holding (Berenberg, Piper Sandler, Morgan Stanley all cutting PTs) ---- +## inou Daily Nudge +Surfaced: Fix DICOM VR validation bug (`readStringTag` / `findTag(0x0018, 0x0015)`) corrupting body_part and summary fields on Siemens MAGNETOM Sola MRIs. Data quality blocker for all AI connectors. Not yet actioned by Johan. -## Heartbeat Notes (Mar 15 ~9PM) - -### Services Status -- All healthy: MC, forge, Uptime Kuma push -- xdg-desktop-portal failures: cosmetic, expected on headless - -### Emails Processed -- Fish Audio API key expiry (johan_jongsma_me:301) → archived. Key named "James", expires March 18 09:25 UTC. Previously alerted Johan via Discord — still unresolved. Fish Audio used for TTS pipeline (Adrian voice, model s1). -- inou OTP (johan_jongsma_me:11763) → archived (expired) -- WhatsApp status messages (22 total) → archived -- Walt's WhatsApp conversation threads → archived - -### Fish Audio Key — URGENT -Key "James" expires **March 18, 2026 09:25 UTC** — same day as EL credits reset. -Johan alerted via Discord. Still needs action. If not rotated, TTS voice on tablets breaks. -Key name in fish.audio: "James" (d50b****) - -### OpenClaw Updates Pending -Three major releases behind: 2026.3.11, 2026.3.12, 2026.3.13 -- 2026.3.13: Chrome DevTools MCP (live session attach, no extension needed) -- 2026.3.12: Dashboard v2, /fast mode, ollama/sglang/vllm as plugins -- 2026.3.11: Hunter & Healer Alpha (free 1M ctx via OpenRouter), Gemini Embedding 2 for memory -- Ollama now official OC provider -- /btw (interrupt busy agents) coming soon -- steipete at NVIDIA GTC this week, Build-A-Claw Mon-Thu -Worth upgrading — James will handle when Johan gives the go-ahead. +## Pending / Open +- Git backlog: dealspace (13), inou (10 uncommitted + 3 unpushed), clawd (5), vault1984 (2) +- Dealspace has been accumulating for days — ask Johan to push diff --git a/memory/claude-usage.db b/memory/claude-usage.db index 991506e..7bb9741 100644 Binary files a/memory/claude-usage.db and b/memory/claude-usage.db differ diff --git a/memory/claude-usage.json b/memory/claude-usage.json index 2113444..99d9081 100644 --- a/memory/claude-usage.json +++ b/memory/claude-usage.json @@ -1,9 +1,9 @@ { - "last_updated": "2026-03-16T22:00:01.624085Z", + "last_updated": "2026-03-17T04:00:01.560178Z", "source": "api", - "session_percent": 6, - "session_resets": "2026-03-17T01:00:00.576842+00:00", - "weekly_percent": 23, - "weekly_resets": "2026-03-20T03:00:00.576862+00:00", - "sonnet_percent": 28 + "session_percent": 3, + "session_resets": "2026-03-17T06:00:00.527385+00:00", + "weekly_percent": 24, + "weekly_resets": "2026-03-20T03:00:00.527404+00:00", + "sonnet_percent": 29 } \ No newline at end of file diff --git a/memory/heartbeat-state.json b/memory/heartbeat-state.json index d0c9768..92e6d14 100644 --- a/memory/heartbeat-state.json +++ b/memory/heartbeat-state.json @@ -14,7 +14,7 @@ "lastDocInbox": "2026-02-25T22:01:42.532628Z", "lastTechScan": 1773416379.4425044, "lastMemoryReview": "2026-03-13T16:32:00.000Z", - "lastIntraDayXScan": 1773695083.9935617, + "lastIntraDayXScan": 1773705752.3964405, "lastInouSuggestion": "2026-03-16T21:04:43.993567+00:00", "lastEmail": 1773695083.9935625, "pendingBriefingItems": [], diff --git a/memory/updates/2026-03-16.json b/memory/updates/2026-03-16.json index 368601a..3f5cbdf 100644 --- a/memory/updates/2026-03-16.json +++ b/memory/updates/2026-03-16.json @@ -1,35 +1,28 @@ { "date": "2026-03-16", - "timestamp": "2026-03-16T09:00:02-04:00", - "openclaw": { - "before": "OpenClaw 2026.3.13 (61d171a)", - "latest": "2026.3.13", - "updated": false + "timestamp": "2026-03-17T01:00:00Z", + "os_updates": { + "status": "up_to_date", + "packages_upgraded": 0, + "notes": "Kernel 6.8.0-106 available but not running (current: 6.8.0-101). Reboot needed to activate new kernel." }, "claude_code": { - "before": "2.1.76", - "latest": "2.1.76", - "updated": false + "previous": "2.1.75", + "updated_to": "2.1.77", + "status": "updated" }, - "os": { - "available": 2, - "packages": [ - { - "name": "libssh-4", - "from": "0.10.6-2ubuntu0.3", - "to": "0.10.6-2ubuntu0.4" - }, - { - "name": "libssh-gcrypt-4", - "from": "0.10.6-2ubuntu0.3", - "to": "0.10.6-2ubuntu0.4" - } - ], - "updated": true, - "reboot_required": true + "openclaw": { + "current": "2026.3.13 (61d171a)", + "status": "up_to_date" }, - "caddy_pi": { - "result": "\"\nNo VM guests are running outdated hypervisor (qemu) binaries on this host.\nE: Write error - ~LZMAFILE (28: No space left on device)\nupgraded:2\ncaddyfile:unchanged\nreboot:no\"" + "session_cleanup": { + "orphaned_jsonl_removed": 12, + "cron_run_keys_removed": 80, + "sessions_json_entries_remaining": 102 }, - "gateway_restarted": false -} \ No newline at end of file + "working_context": "written to memory/working-context.md", + "daily_memory": "written to memory/2026-03-16.md", + "action_items": [ + "Reboot forge to activate kernel 6.8.0-106 (schedule when Johan is available)" + ] +} diff --git a/memory/working-context.md b/memory/working-context.md index 863511c..63a5963 100644 --- a/memory/working-context.md +++ b/memory/working-context.md @@ -1,76 +1,80 @@ -# Working Context -*Updated: 2026-03-15 21:00 ET (nightly maintenance)* +# Working Context — 2026-03-16 (updated 9 PM nightly maintenance) -## Status: Sunday evening — channel migration day, Matter pairing, voice-in exploration +## Current State +Johan is in his night shift (Sophia care: 10:30 PM – 5 AM). Active work day is done. --- -## Current Projects +## Projects -### inou.com — Active Development -- **Committed state:** Multiple auto-commits pushed earlier today -- **inou:** large backlog of files, 2 unpushed commits historically — check `git status` before working -- **james-dashboard:** Synced and pushed to Zurich (12 commits earlier today including data/state) -- **clawd:** Pushed to Zurich with Discord-only channel config + cron/disk checks in HEARTBEAT +### inou health +- **DICOM VR validation bug** flagged as priority: `readStringTag` / `findTag(0x0018, 0x0015)` corrupting `body_part` and `summary` fields on Sophia's Siemens MAGNETOM Sola MRIs. All AI connectors affected. Flagged in TODO, surfaced today as inou daily nudge. Not yet fixed. +- No other active inou work today. -### Channel Migration — COMPLETE (2026-03-15) -- **Discord → PRIMARY** as of today. Telegram disabled in openclaw.json. -- Signal was already retired 2026-03-01 -- Telegram retired 2026-03-15 -- TUI remains available as fallback (useful in tmux alongside Claude Code) -- **MEMORY.md updated** to reflect Discord as primary +### Vera (ElevenLabs voice agent — Spence & Mathews Insurance demo) +- Johan was building a voice demo AI agent for a client (Spence & Mathews Insurance, Berwick Maine) using ElevenLabs Conversational AI. +- Agent named "Vera", voice: Clara (V3 Conversational, Expressive mode), LLM: GLM-4.5-Air +- First message: "Hi, thanks for calling Spence & Mathews Insurance, this is Vera — how can I help you today?" +- Knowledge base from spenceandmathews.com (URL crawl) +- This was done around 3–4 AM this morning. Status: configured and running. -### George (vault1984 Writer Agent) -- Live on Discord. No active development today. +### Signal Retirement (COMPLETED today) +- Signal fully removed from forge: + - `signal-cli` binary, data, systemd service all deleted + - Signal channel removed from `openclaw.json` + - `signal-webhook-proxy.js` deleted + - All script references cleaned up (qwen-gguf-watch.sh, k2-watchdog.sh, claude-usage-log.sh) + - HEARTBEAT.md Docker services list updated +- Discord is now the sole primary notification channel. + +### notify.sh — Centralized Notifier (NEW today) +- Created `/home/johan/clawd/scripts/notify.sh` +- Single dispatcher for all ntfy notifications +- Usage: `notify.sh -t "Title" -p 3 -T "tags" -c forge|inou|dashboard|all "message"` +- Wired into: k2-watchdog.sh (kill alerts), qwen-gguf-watch.sh (GGUF drops) +- health-push.sh untouched (Kuma silence-timeout already works) + +### X-Watch Dedup Fix (today) +- Problem: X-watch subagents kept re-posting the same NemoClaw/GTC stories +- Fix 1: 24h filter on posts +- Fix 2: `memory/x-watch-last.md` blacklist — topics already posted can't be re-surfaced unless there's a *new concrete fact* +- HEARTBEAT.md updated with hard blacklist rule +- State file seeded with today's coverage (NemoClaw, OpenShell, NVIDIA DLSS 5, etc.) + +### HA Token (resolved today) +- Had lost the HA token — Johan re-provided it (~2 AM) +- Token saved to `memory/infrastructure.md` under "Home Assistant API Token" +- alert-dashboard service updated and verified working --- -## Today's Events (2026-03-15 Sunday) +## Open Threads / Pending -### Matter Pairing (Home Assistant) -- Johan was re-pairing Matter smart plugs/lights -- **Bedroom 1:** Successfully re-paired after HAOS reboot - - Entities: `light.bedroom_1_light_1/2/3`, power sensors - - Johan confirmed "finally added" around 19:04 ET -- **Bedroom P (Primary/Master Bedroom):** Was showing `unavailable` before EOD - - Entities expected: `light.bedroom_p_light_1/2/3`, current/energy/power/voltage sensors - - Status at end of session: in progress (Johan was going to pair) - - ⚠️ **Pending** — confirm Bedroom P Matter device is paired and automations restored +### Git Backlog (NEEDS ATTENTION) +Last audit (~6 PM): +- **dealspace**: 13 unpushed commits on `master` (growing for days) +- **inou**: 10 uncommitted files + 3 unpushed commits on `master` +- **clawd**: 5 unpushed commits on `master` +- **vault1984**: 2 unpushed commits on `master` +- **james-dashboard**: commits pending (variable) +- Johan needs to push these — I shouldn't push without permission given the count on dealspace. -### Channel Config Applied -- Removed Telegram + Signal from openclaw.json -- Restarted gateway (had timeout, but confirmed healthy afterward) -- Verified: `telegram: enabled=False`, `signal: enabled=False`, `discord: enabled=True` - -### Voice Input Discussion -- Johan asked about voice interaction with James via Discord -- Found: @TomRChen's OpenClaw skill (published same day) — Discord voice DM → faster-whisper → James -- **Voice-in only** (no TTS back). Johan already has Wispr Flow so voice→text is covered. -- **Gap identified:** TTS output (James speaking back) — not yet built. FishAudio mentioned as option. -- No implementation started — Johan just exploring. - -### daily-updates.service Fix -- Was failing due to LLM version compare logic -- Fixed earlier in day — service shows `Result=success` - -### Git Commits Pushed -- james-dashboard: 12+ commits synced to Zurich -- clawd: feat commit with Discord-only config, cron/disk checks in HEARTBEAT, CLAUDE.md updates +### OC Double-Send Bug +- X-watch result posted to Discord twice (two distinct message IDs, 9 seconds apart) +- Deleted the duplicate. Root cause: OC subagent completion may fire two announce events. +- Watching for recurrence. Not yet reported upstream. --- -## Open Threads / Pending Items - -1. **Bedroom P Matter pairing** — confirm completed and automations intact -2. **Voice TTS for James** — explore FishAudio or other TTS for Discord voice output (Johan interested but not urgently) -3. **inou feature backlog** — side-by-side DICOM comparison view is next priority -4. **Claude Code** — updated to 2.1.76 tonight +## Today's Big News +- **NemoClaw**: Jensen Huang announced at NVIDIA GTC — AI agent OS built on OpenClaw. steipete was physically at GTC working with NVIDIA engineers. "Every company needs an OpenClaw strategy." OpenShell also in active development. +- **OC 2026.3.13**: Chrome DevTools MCP (no extension), Ollama official provider, major plugin refactor in progress (core → plugins, Claude Code/Codex/Cursor bundles). +- **Anthropic**: Doubling Claude usage limits off-peak. +- **Markets**: S&P +0.99% ~6,698. Goldman raised year-end S&P target to 7,600. SentinelOne short looking good (analyst cuts). --- -## Key Infrastructure State -- **Gateway:** healthy, Discord-only, port 18789 -- **MC (message-bridge):** healthy -- **Disk:** 54% used -- **HAOS:** rebooted today for Matter pairing, back online -- **OCR service:** running on forge +## Infrastructure Notes +- **MC**: Healthy. Proton Bridge running. One expired Dealspace OTP in johan@ inbox (can archive). +- **Uptime Kuma**: Running, health-push active. +- **signal-cli.service**: Removed (was crash-looping before cleanup). diff --git a/memory/x-watch-last.md b/memory/x-watch-last.md index 9c8a50b..2956651 100644 --- a/memory/x-watch-last.md +++ b/memory/x-watch-last.md @@ -1,13 +1,18 @@ -# Last X Watch: 2026-03-16T22:09:00Z +# Last X Watch: 2026-03-17T00:05:00Z -## Already surfaced today — skip these: -- NemoClaw announced at NVIDIA GTC by Jensen Huang (built on OpenClaw, steipete on stage) -- OpenClaw 2026.3.11, 2026.3.12, 2026.3.13 releases (Chrome DevTools MCP, Android 7MB, Dashboard v2, /fast mode, Ollama provider, Hunter & Healer Alpha) -- Ollama now official OpenClaw provider -- steipete teasing Claude Code/Codex plugin bundle support + leaner core -- CodexBar 0.18 (new providers: Kilo, Ollama, OpenRouter) -- MiniMax M2.7 benchmarks circulating on X — release imminent -- Kimi Moonshot: Attention Residuals architecture paper; founder at GTC Tue Mar 17 -- Susie Wiles (WH Chief of Staff) breast cancer diagnosis — early stage, continuing full-time -- Operation Epic Fury US/Iran military strikes ongoing -- Trump anti-fraud EO signed (Vance chairs task force) +## BLACKLIST — do not surface these again unless concrete new development: +- NemoClaw / OpenShell — announced + confirmed, steipete building with NVIDIA (covered twice already) +- OpenClaw 2026.3.11/3.12/3.13 releases +- Ollama as official OC provider +- steipete at GTC / NVIDIA engineers helping OC security +- AlexFinn met steipete at GTC +- MiniMax M2.7 benchmarks — release imminent (covered twice) +- Kimi Attention Residuals paper + Elon Musk RT +- Kimi founder at GTC (Tue Mar 17, 11am PDT) +- Susie Wiles breast cancer diagnosis +- Operation Epic Fury US/Iran strikes — Trump says "soon" +- Partial US government shutdown / aviation strain +- NVIDIA DLSS 5 announced (fall 2026) +- Cloudflare Italy €14M Piracy Shield fine appeal +- Cuba total power grid failure +- CodexBar 0.18