6.0 KiB
6.0 KiB
Working Context (updated 2026-02-17 9:00 PM ET)
Active Projects
Dealspace AI (Deal Room)
- Status: MVP built and running on port 9300 (forge)
- Go + templ + HTMX + SQLite + Tailwind, single binary
- Full e2e working: login, dashboard, deals, contacts, audit, analytics, requests
- Role-based nav (buyer vs seller views)
- Pushed to zurich: 3720ed7
- Next: Johan to review, get Misha/PE feedback, iterate on features
- Source:
/home/johan/dev/dealroom/
Fish Audio S1 TTS / Smart Home Voice
- Adrian voice working (ref: bf322df2096a46f18c579d0baa36f41d)
- Pipeline proven: Fish API → mp3 → http server → media_player on tablets
- Office tablet (office1.tbl) reliable; mbed tablet (Fully REST) unreliable
- TODO: Persistent TTS service on forge, store API key in Vaultwarden
- Vision: contextual voice announcements (deliveries, appliances, Russian for in-laws)
- Need Tanya approval before expanding beyond office
- Next feature: Voice meeting announcements — pre-generate TTS at calendar fetch, play at T-5m
- Architecture decision: Alert dashboard will merge INTO Message Center (not now, but planned)
Message Center (MC) — M365 Pipeline
- Working: MC detects emails/Teams → K2.5 summarizes → POSTs to Fully dashboard
- K2.5 completions API is the correct endpoint (chat API broken for formatting)
- Conversation-aware: Johan's replies auto-clear Fully alerts for that Teams conversation
- Group coloring: Teams messages from same conv share background color (hue from conv ID hash)
- Fireworks API key:
fw_RVcDe4c6mN4utKLsgA7hTm(working key — old stale key caused issues) - OC m365 hook removed: MC handles everything directly now
- Previously reported M365 fetch error (ErrorInvalidUrlQueryFilter ~2/16) — appears resolved
Fully Dashboard (Forge / Tablets)
- Budget pace indicator:
usage% / time%(week = Sat 2pm → Sat 2pm ET)-
100% = red, 90-100% = white, <90% = green. Shows as
⚡ 108%
-
- News streams: Topics (markets, ai, nabl, news, netherlands) each get own bar below alerts
- Fetches from James dashboard /api/news, grouped by
topicfield
- Fetches from James dashboard /api/news, grouped by
- Claude usage fixed: pulls object not array from dashboard API
News System
- Cron: Grok 4.1 Fast every 4h (2,6,10,14,18,22 ET) for news scan
- Philosophy: X/Twitter as radar → then PRIMARY SOURCE. No middlemen.
topicfield added to James dashboard news API; Topics section groups by topic with emoji headers
Password Manager Migration: Proton Pass → Vaultwarden
- Status: Plan defined, awaiting Johan action
- Steps:
- Johan creates account at https://vault.inou.com
- Export from Proton Pass (Settings → Export → CSV or JSON)
- Import into Vaultwarden (Bitwarden-compatible format)
- Set SIGNUPS_ALLOWED=false after account created
- Install Bitwarden app on iPhone, Mac, browser extension → point to https://vault.inou.com
- TODO: rclone backup to GDrive (needs browser OAuth on Zurich)
- Fish Audio API key + other secrets → Vaultwarden
Domain Registrar Migration
- URGENT: jongsma.me expires 2026-02-28 — transfer to Cloudflare before auto-renewal
- stpetersburgaquatics.com expires 2026-03-13
- OpenProvider has ~€80 credits; migrate renewals to Cloudflare going forward
- 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
- Cloudflare activation checks triggered; cron job at 4:55 AM to check + add remaining 6
- OpenProvider API creds:
~/.config/openprovider.env
Email Migration (Stalwart)
- Tanya added 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 was running in background (/tmp/imapsync_tanya.log) — check status
- Self-signed cert added but Stalwart ACME override issue still pending
James Dashboard
- Running on port 9200 as dealroom.service
- Agent chat still needs testing from Johan's Mac browser
BlueBubbles / iMessage
- Mac Mini M4 (2025) is Johan's daily driver — can run BlueBubbles now
- Setup deferred
Key Context
- Wake permission: 8 AM+ ET, genuinely important events only
- Briefings: Johan prefers X/Twitter as primary news source
- OpenClaw patches: Two source patches need reapplication after updates:
- Scope preservation patch
- Deleted transcript indexing patch
- See 2026-02-16.md for details
- Fireworks for private data (emails, Teams); Grok OK for public news
- Claude Sonnet 4.6 released — 1M context (beta), adaptive thinking, context compaction (beta), $3/$15 per M tokens
Upcoming / Open Threads
- jongsma.me domain transfer (URGENT — expires 2026-02-28)
- Vaultwarden setup — Johan needs to create account + import passwords
- rclone backup for Vaultwarden (needs browser OAuth on Zurich)
- Persistent TTS service on forge
- BlueBubbles setup on Mac Mini M4
- Test xAI/Grok in morning briefing
- Sophia blood draw — was today (Tue Feb 17 12:00 PM), Health Link
- Fix Stalwart ACME cert issue
- Matrix OS — watch only, revisit when mature
People
- Misha (Michael Muskepo) — Johan's son, Dealspace AI co-creator with PE guys
- Tanya (Tatyana) — Johan's wife, gatekeeper for smart home expansion
- Sophia — daughter (blood draw was today)
- Karina — associated with Sophia's health link appointment ($65)
Corrections Learned Today
- "Best over fast, always" — Johan doesn't want fastest approach, wants best
- Don't bypass root cause — removing LLM summarization was lazy; fix the prompt instead
- Test with curl before deploying — always get "curl proof" before pushing code changes
- K2.5 chat API broken for formatting — use completions API with few-shot pattern instead