diff --git a/memory/2026-02-17.md b/memory/2026-02-17.md index 060703b..fc381e7 100644 --- a/memory/2026-02-17.md +++ b/memory/2026-02-17.md @@ -33,3 +33,37 @@ - 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 diff --git a/memory/claude-usage.db b/memory/claude-usage.db index e1fabd9..abffe71 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 324eb03..83ce6fb 100644 --- a/memory/claude-usage.json +++ b/memory/claude-usage.json @@ -1,9 +1,9 @@ { - "last_updated": "2026-02-17T17:00:04.218973Z", + "last_updated": "2026-02-17T23:00:03.380113Z", "source": "api", - "session_percent": 11, - "session_resets": "2026-02-17T19:00:00.190047+00:00", - "weekly_percent": 44, - "weekly_resets": "2026-02-21T19:00:00.190067+00:00", + "session_percent": 54, + "session_resets": "2026-02-18T00:00:00.351744+00:00", + "weekly_percent": 53, + "weekly_resets": "2026-02-21T19:00:00.351762+00:00", "sonnet_percent": 7 } \ No newline at end of file diff --git a/memory/email-triage.md b/memory/email-triage.md index 9ba262f..744dc11 100644 --- a/memory/email-triage.md +++ b/memory/email-triage.md @@ -94,6 +94,10 @@ curl -X POST http://localhost:8025/messages/{id}/to-docs - Order confirmations → archive (ingest attachments if receipt/invoice) - Security alerts (password changes, new logins) → archive - Subscription confirmations → archive +- **Kaseya Win Alerts** (winalert@kaseya.com) → `/seen`, nothing else +- **Kaseya Lost Renewal Alerts** (lostalert@kaseya.com) → `/seen`, nothing else +- **Kaseya Instrumentation** (standard.instrumentation@kaseya.com) → `/seen`, nothing else +- **Salesforce no-reply** (noreply@salesforce.com) → `/seen`, nothing else ### Attachment handling Ingest attachments for: invoices, receipts, bills, statements, contracts, legal docs, medical records, insurance docs, tax forms. @@ -101,6 +105,8 @@ Skip: marketing images, logos, signatures, spam attachments. ## Special Rules +- **X/Twitter notifications** → junk/archive UNLESS from Alex Finn or PeterS — those get kept/alerted + - **Verizon purchase/order emails** → alert Johan (warning) - **Domain purchase inquiries** → reply "not for sale" → archive - **Lingerie/fashion new collections** (Pain de Sucre, Fleur du Mal) → alert Johan (info) diff --git a/memory/git-audit-lastfull.txt b/memory/git-audit-lastfull.txt index d528718..52d3868 100644 --- a/memory/git-audit-lastfull.txt +++ b/memory/git-audit-lastfull.txt @@ -1 +1 @@ -1771261266 +1771347652 diff --git a/memory/working-context.md b/memory/working-context.md index 3f9df93..443b7a5 100644 --- a/memory/working-context.md +++ b/memory/working-context.md @@ -1,4 +1,4 @@ -# Working Context (updated 2026-02-16 9:00 PM ET) +# Working Context (updated 2026-02-17 3:56 PM ET) ## Active Projects @@ -18,6 +18,8 @@ - **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). MC becomes the single brain: calendar → TTS → alerts → visual display. For now, build voice into alert-dashboard server. ### James Dashboard - Running on port 9200 as dealroom.service