# 2026-02-16 ## Briefing Preference - Johan prefers X/Twitter as primary news source for briefings over legacy media - Speed matters — X breaks news hours before traditional outlets - Lean into high-engagement posts, real-time threads, not CNN/Reuters rewrites ## OpenClaw Source Patches (reapply after updates) 1. **Scope preservation with dangerouslyDisableDeviceAuth** - File: `dist/gateway-cli-DbznSfRg.js` - Change: `if (scopes.length > 0)` → `if (scopes.length > 0 && !disableControlUiDeviceAuth)` - Why: Without this, `dangerouslyDisableDeviceAuth` nullifies device → clears scopes → operator.read/write denied 2. **Index deleted session transcripts in memory search** - File: `dist/sqlite-C54NeA1C.js` - Change: `.filter((name) => name.endsWith(".jsonl"))` → `.filter((name) => name.endsWith(".jsonl") || name.includes(".jsonl.deleted."))` - Why: Daily session reset marks old transcripts as `.deleted`, making them invisible to memory search ## TTS → Tablet Pipeline (idea) - Generate high-quality TTS (Fish Audio S1 / ElevenLabs) → mp3 - Serve from forge (dashboard server or simple http) - Play via `media_player.play_media` on Fully Kiosk tablets - Tablets: `media_player.lenovo_tab_m8_*` (many), `media_player.casita_tbl`, etc. - **Office tablet only for testing** (people sleeping!) - Could become James's "voice" — intercom-style announcements with a premium voice - Need to identify which media_player entity maps to the office tablet ## Smart Home Voice Vision - Goal: push smart home to next level with contextual voice announcements - Pipeline proven: Edge TTS → mp3 → media_player on Fully tablets ✅ - Use cases: - "The UPS driver is approaching the front door" (before doorbell) - "Misha is arriving" (car in driveway) - "The dryer upstairs finished" (Miele integration) - Russian announcements for MiL/FiL (ru-RU voices) - Delivery alerts tied to tracker - Russian voices for in-laws — house speaks their language - Need Tanya's buy-in before expanding beyond office tablet - Fish Audio S1 ($5/mo) for premium voice quality when ready ## Wake Permission - Johan allows James to wake him from **8:00 AM ET** onwards - Only for **genuinely important** events (Kaseya critical, urgent emails, etc.) - No FYI-level noise — real alerts only ## Fish Audio S1 — LIVE ✅ - API key: stored in memory (need to add to Vaultwarden when session refreshed) - Voice: **Adrian** (reference_id: `bf322df2096a46f18c579d0baa36f41d`) - Model: `s1` - Pricing: $5/M UTF-8 bytes (pay-as-you-go, no subscription needed) - API: `POST https://api.fish.audio/v1/tts` with Bearer auth - Successfully generated and played on office tablet (media_player.lenovo_tab_m8_7) - Johan picked Adrian over Ethan, Andrew (Edge), Guy (Edge), Brian (Edge), Christopher (Edge) - Pipeline: Fish API → mp3 → python http server on :8199 → media_player.play_media - TODO: Make persistent TTS service (not ad-hoc python server), store key in Vaultwarden