clawd/memory/2026-02-17.md

4.3 KiB

2026-02-17

Domain Registrar Migration Plan

  • OpenProvider has ~€80 credits remaining
  • As domains come up for renewal, transfer to Cloudflare Registrar instead
  • URGENT: jongsma.me expires 2026-02-28 — transfer to CF before auto-renewal
  • stpetersburgaquatics.com expires 2026-03-13
  • Full renewal schedule: zavtra(May), inou(Jun), unbelievable(Jul), x4(Aug), e-consultants(Sep), muskepo.nl(Sep), busel(Oct), localbackup(Oct), johanjongsma(Nov), 851brightwaters(Dec), flourishevents(Jan27), muskepo.com(Jan27), harryhaasjes(Feb27)

DNS Migration

  • Changed NS to Cloudflare for ALL 10 remaining domains via OpenProvider API
  • OpenProvider API creds: ~/.config/openprovider.env
  • Cloudflare activation checks triggered, cron job at 4:55 AM to check + add remaining 6

Email Migration

  • Added Tanya to Proton Bridge (account #2, pw: dxk6YlYpRgr3Z7fw3BhXDQ)
  • Stalwart: all users recreated with "roles":["user"] — needed for IMAP auth
  • imapsync working via SSH tunnel (localhost:9930 → zurich:993)
  • Tanya sync running in background (/tmp/imapsync_tanya.log)
  • K2.5 subagent spawned for Tanya inbox cleanup (envelope metadata only)

Stalwart Fixes

  • Self-signed cert added but Stalwart not loading it (ACME override issue)
  • SSH tunnel workaround for imapsync (bypasses TLS + firewall)
  • UFW on Zurich: allowed all Tailscale traffic (ufw allow in on tailscale0)

AgenticMail

  • Discovered: github.com/agenticmail/agenticmail — MCP layer on Stalwart for AI agents
  • 3 days old, 7 stars — too new for production. Bookmarked for later.
  • Interesting: SMS/Google Voice integration, outbound PII scanning

BlueBubbles / iMessage

  • Mac Mini M4 (2025) is Johan's daily driver, BYO network
  • Can run BlueBubbles today — no need to wait for M4 Max laptop
  • Setup deferred to tomorrow

M365 → Fully Tablet Alerts (afternoon session)

  • Pipeline working: MC detects emails/Teams → K2.5 summarizes → POSTs to Fully dashboard
  • K2.5 chat API is broken for formatting — thinking model narrates "The user wants..." instead of following instructions
  • K2.5 completions API works perfectly — few-shot prompt with \nAlert: completion pattern, stop:["\n"]
  • Johan's messages filtered out — fixed DisplayName check (was checking URL field before)
  • Conversation-aware: Johan's replies auto-clear Fully alerts for that Teams conversation
  • Group coloring: Teams messages from same conversation share background color (hue from conv ID hash)
  • Fireworks API key mismatch fixed: MC had stale key fw_TGADpSki7zak4K9JxPzbXU, updated to working fw_RVcDe4c6mN4utKLsgA7hTm
  • OC m365 hook removed: Agent was unreliable (localhost web_fetch blocked), MC handles everything directly now
  • HTML entity stripping added ( , &, etc.)

Fully Dashboard Improvements

  • Budget pace indicator: usage% / time% — shows how fast we're burning weekly Anthropic budget
    • Week runs Sat 2pm → Sat 2pm ET
    • 100% = red (overspending), 90-100% = white (on pace), <90% = green

    • Shows as ⚡ 108% with color
  • Claude usage fixed: James dashboard API returns object not array — was showing "undefined"
  • News streams: Each topic (markets, ai, nabl, news, netherlands) gets its own bar below alerts
    • Fetches from James dashboard /api/news, grouped by topic field

News System

  • Added topic field to James dashboard news API
  • Topics section on James dashboard groups news by topic with emoji headers
  • Cron job: Grok 4.1 Fast runs every 4h (2,6,10,14,18,22 ET) for news scan
  • Philosophy: X/Twitter is radar (what's happening), then go to PRIMARY SOURCE (Anthropic blog, SEC filings, whitehouse.gov, etc.). Never cite middlemen (CNBC, Guardian) when source exists.
  • Johan wants raw signal, not editorial filter

Key Corrections

  • "Best over fast, always" — Johan doesn't want fastest approach, wants best
  • Don't bypass, fix root cause — removing LLM summarization was lazy; fix the prompt instead
  • Test with curl before deploying — always get "curl proof" before pushing code changes
  • Fireworks guarantees privacy; Grok (xAI) does not — use Fireworks for anything touching private data (emails, Teams). Grok OK for public news scanning.
  • Claude Sonnet 4.6 released today — 1M context (beta), adaptive thinking, context compaction (beta), $3/$15 per M tokens