# REM Sleep ### Reflections - Theme: `assistant` kept surfacing across 513 memories. - confidence: 1.00 - evidence: memory/2026-04-19.md:4-5, memory/.dreams/session-corpus/2026-04-19.txt:2-2, memory/.dreams/session-corpus/2026-04-19.txt:4-4 - note: reflection - Theme: `the` kept surfacing across 332 memories. - confidence: 0.86 - evidence: memory/2026-04-20.md:5-5, memory/.dreams/session-corpus/2026-04-19.txt:4-4, memory/.dreams/session-corpus/2026-04-19.txt:8-8 - note: reflection ### Possible Lasting Truths - # 2026-04-16 ## Family Assistant — Major Progress ### Response Handler Built - `execute_resolution()` in `conflict_engine.py` — split/reassign/reschedule actions - `handle` CLI command: `family_assistant handle --option N [--dry-run]` - Tested all three actions end-to-end against live calendar ### Package Refactor (Archimedes v4) - Monolith `family_calendar.py` → `family_assistant/` package (10 modules) - Externalized 3 prompts to text files with `{today}`, `{family_members}`, `{nickname_rules}` placeholders - Legacy wrapper preserved (3-line import shim) ### De-personalization (Archimedes v5) - Family members → `family.yaml` (configurable per household) - Prompt injection via `{family_m [confidence=0.73 evidence=memory/2026-04-16.md:1-32] - # 2026-04-15 — Day One ## Onboarding & Security Hardening - **OpenClaw updated** from 2026.4.11 → 2026.4.14 - **UFW firewall configured**: default deny inbound, allow outgoing. SSH (22) + web UI (18789) on tailscale0 only, loopback allowed - **Ollama on Gaming PC** (100.104.147.116): bound to Tailscale IP only, not 0.0.0.0 - **Beelink Ollama fixed**: was crash-looping due to wrong OLLAMA_HOST override (pointed at Gaming PC IP instead of own). Fixed to 0.0.0.0:11434 - **Two-tier model routing established**: - `ollama/glm-5.1:cloud` — daily driver (Ollama Pro cloud via local proxy) - `ollama-remote/gemma4` — lightweight tasks on Gaming PC 3080 Ti via Tailscale - **Telegram group security [confidence=0.73 evidence=memory/2026-04-15.md:1-31] - - Vision: multi-agent setup, I'm the first/coordinator ## Still Open - Sandbox/workspaceOnly settings before adding other users - Pinning plugin spec to exact version - Web UI access over Tailscale (port 18789 allowed but not tested) - node-llama-cpp local embeddings (deferred, using nomic-embed-text via Gaming PC) ## Email + Calendar Pipeline (Phase 2 — DONE) - **Family Gmail**: hoffmann.family.manager@gmail.com (IMAP App Password) - **Google Calendar API**: service account `family-calendar-sync@hoffmann-family-manager.iam.gserviceaccount.com` - **Calendar**: "Hoffmann Family Calendar" shared to service account with edit access - **Script**: `scripts/family_calendar.py` — full pipeline: [confidence=0.68 evidence=memory/2026-04-15.md:22-44]