From e38030f98d54b6c111da085baf7057edb94981ee Mon Sep 17 00:00:00 2001 From: James Date: Tue, 17 Mar 2026 06:02:23 -0400 Subject: [PATCH] chore: auto-commit uncommitted changes --- config/email-triage-prompt.md | 25 +++++++++++++++++-------- memory/claude-usage.db | Bin 77824 -> 77824 bytes memory/claude-usage.json | 12 ++++++------ memory/email-triage.md | 26 ++++++++++++++++---------- 4 files changed, 39 insertions(+), 24 deletions(-) diff --git a/config/email-triage-prompt.md b/config/email-triage-prompt.md index 1ae9e0e..4abf083 100644 --- a/config/email-triage-prompt.md +++ b/config/email-triage-prompt.md @@ -9,8 +9,6 @@ Respond with ONLY a JSON object: {"action": "junk|pass", "reason": "brief explan ## Specific Sender Rules -- **Kaseya Marketing** → junk -- **Lansweeper** → junk - **inou verification codes** (noreply@inou.com) → junk - **DigiKey** (e.digikey.com) marketing → junk - **Amazon** — everything (promos, shipping, order confirmations, recommendations) → junk @@ -48,14 +46,25 @@ Phishing is dangerous. When in doubt, pass it through. Anything mentioning renewal, auto-renew, expiring, expires soon, domain renewal, subscription renewal, certificate expiry, or similar deadline/financial commitment language → **always pass**. The mailroom doesn't make judgment calls on things that cost money. +## The Fundamental Rule + +**Default is PASS. Default is never junk.** + +You are not trying to archive everything that isn't obviously important. You are only junking what you are *certain* is noise. If there is any doubt — any signal that a human might want to read this — it passes through. + +Ask yourself: "Could this email require action from Johan?" If yes, or even maybe, **pass**. + ## Critical Rules -1. When uncertain, **pass** — never silently junk something important -2. Sophia triggers ALWAYS **pass** — medical, therapy, brain activator, pediatric suppliers, "S. Jongsma" -3. Personal correspondence from real humans → **pass** -4. "Re:" thread replies from people → **pass** (active conversation) -5. Infrastructure/server alerts → **pass** -6. Google Search Console alerts → **pass** +1. **When uncertain → pass.** Always. This is not optional. +2. Any email that says "action required", "actie ondernemen", "you must", "deadline", "consequences" → **pass**, regardless of sender or language. +3. Government/official bodies (belastingdienst, overheid, IRS, SSA, immigration, courts, any .gov/.nl/.eu official domain) → **always pass**. These have legal consequences. +4. Sophia triggers ALWAYS **pass** — medical, therapy, brain activator, pediatric suppliers, "S. Jongsma" +5. Personal correspondence from real humans → **pass** +6. "Re:" thread replies from people → **pass** (active conversation) +7. Infrastructure/server alerts → **pass** +8. Google Search Console alerts → **pass** +9. **Reading the body is mandatory.** A "notification" email from an official sender that contains "action required" language is not junk — it's a government document alert. Do not classify by sender name alone. ## Account Context diff --git a/memory/claude-usage.db b/memory/claude-usage.db index 7bb9741e019c0cf85abbb4b786481cb8a2b1f788..c344b466518814886f4af33a552d9815c4a806ae 100644 GIT binary patch delta 370 zcmZp8z|!!5Wr8$g$wV1v#*&Q*^Ys~vHW{!yV5wrB!!TK^;LhZI7bG?|E?}DUnYZ3N z#K6+Zz{twTFp9ZIlG&8W$iT=<*T7iU5GZ2-mNAH8E<~3x1IZYgM==+m%b0>?jG~zH z(Pd0PGA5Q$%y|fz?HVGCcet75d9qUm=F#5R_>{X|wylVb!IY7a z5!qER_e!xT$hH+?%EMeO#Vjw=RsfRcK+z9#yQI8qTRx_Cm|<$&hrVJd+6LxM$i K`zakpGiCtv*ivEu delta 70 zcmV-M0J;Bw-~@o+1dtm6Z;>2B0dKKjpDzJzvM>bT1a$-+0Fx?k+>^f04zYnO1CsL% cw<{C@*$V?249b@WAOSV8fsPEf$}9mk1B?O~k^lez diff --git a/memory/claude-usage.json b/memory/claude-usage.json index 99d9081..3ff7b7e 100644 --- a/memory/claude-usage.json +++ b/memory/claude-usage.json @@ -1,9 +1,9 @@ { - "last_updated": "2026-03-17T04:00:01.560178Z", + "last_updated": "2026-03-17T10:00:01.861155Z", "source": "api", - "session_percent": 3, - "session_resets": "2026-03-17T06:00:00.527385+00:00", - "weekly_percent": 24, - "weekly_resets": "2026-03-20T03:00:00.527404+00:00", - "sonnet_percent": 29 + "session_percent": 12, + "session_resets": "2026-03-17T10:59:59.824998+00:00", + "weekly_percent": 27, + "weekly_resets": "2026-03-20T02:59:59.825025+00:00", + "sonnet_percent": 32 } \ No newline at end of file diff --git a/memory/email-triage.md b/memory/email-triage.md index 744dc11..ea0e8a7 100644 --- a/memory/email-triage.md +++ b/memory/email-triage.md @@ -83,7 +83,6 @@ curl -X POST http://localhost:8025/messages/{id}/to-docs - Anything unusual or uncertain ### Dashboard news -- Kaseya marketing → summarize → news - Lansweeper updates → summarize → news - Immich releases → news + create James task to update server - Google Search Console → news + create James task @@ -94,9 +93,6 @@ 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 @@ -112,14 +108,24 @@ Skip: marketing images, logos, signatures, spam attachments. - **Lingerie/fashion new collections** (Pain de Sucre, Fleur du Mal) → alert Johan (info) - **inou verification codes** — should be junked by MC, but if they slip through → archive +## The Fundamental Rule + +**Default is alert/keep. Default is never archive.** + +You are not trying to process everything into archive. You are only archiving what you are *certain* requires no human attention. If there is any doubt — any signal Johan might want to see this — alert or leave it. + +Ask yourself: "Could this email require action from Johan?" If yes, or even maybe, **alert**. + ## Critical Rules -1. **ALWAYS read the FULL message** before routing. No exceptions. -2. **When uncertain → alert Johan** (info priority). Better to over-alert than miss something. -3. **Do NOT ping the main session** unless truly urgent and needs real-time discussion. -4. **Do NOT re-report** — check context before alerting about the same email twice. -5. **Phishing = critical alert + preserve** — never delete, never auto-report abuse. -6. **Alerted emails STAY IN INBOX** — if you flag something for Johan's attention, use `/seen` NOT `/archive`. He needs to be able to find and act on it. Only archive messages that truly need no follow-up. +1. **ALWAYS read the FULL message body** before routing. Subject line and sender alone are never enough. +2. **When uncertain → alert Johan** (info priority). Over-alerting is fine. Silent archiving of something important is not. +3. **Any email containing "action required", "actie ondernemen", "deadline", "consequences", "you must" language → alert, regardless of sender.** +4. **Government/official bodies → always alert.** Belastingdienst, MijnOverheid, IRS, immigration authorities, courts, any official domain. These have legal consequences. Never archive. +5. **Do NOT ping the main session** unless truly urgent and needs real-time discussion. +6. **Do NOT re-report** — check context before alerting about the same email twice. +7. **Phishing = critical alert + preserve** — never delete, never auto-report abuse. +8. **Alerted emails STAY IN INBOX** — if you flag something for Johan's attention, use `/seen` NOT `/archive`. He needs to be able to find and act on it. Only archive messages that truly need no follow-up. ## Account Context