From 19676f75fb19837067eb07a38a7b19a031638f05 Mon Sep 17 00:00:00 2001 From: James Date: Tue, 17 Feb 2026 18:01:18 -0500 Subject: [PATCH] chore: auto-commit uncommitted changes --- memory/2026-02-17.md | 34 ++++++++++++++++++++++++++++++++++ memory/claude-usage.db | Bin 32768 -> 32768 bytes memory/claude-usage.json | 10 +++++----- memory/email-triage.md | 6 ++++++ memory/git-audit-lastfull.txt | 2 +- memory/working-context.md | 4 +++- 6 files changed, 49 insertions(+), 7 deletions(-) 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 e1fabd9058e725822754fb10267308b5136c0692..abffe717ded8f3891f686dbb5bdbb505ac59354e 100644 GIT binary patch delta 433 zcmZo@U}|V!njp>iX`+lXClNXZ~6Bpwv##0j; zZ`I2-7O*jxGBPq685o)A8W`ysnuiz}TNxNw85l>Inz73^=3~kmf#pr2Oih9Ed6@Es zV0p7BV@;rZE~Y%ta3C^?(&unsmubuaDd0eMfT1PS0eV3F*%gQ{g2 zYbUc7eB|MK#CL*k9p4nbD!zoteuX-l^$O*=8O1g>3NcOoQ^#Kq_ZPzlNoG?fWFNzP p#PA+n2Id!rcjz)OUogBylYu**;SI73A24X)PG@+%`A;1SBLEFUWeNZQ delta 71 zcmV-N0J#5vfC7Mk0+1U4?2#Np0qn70pDzLGvM>Z718xF|lLt`Uv4N!lvx!oB9RYWf d1#t0`LUA~=E^!|V0kW}yt^$)_eh-rifAz@V8=U|E 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