From cfe0cc2fb701816b7f503ea01f9faecaa0f9ea58 Mon Sep 17 00:00:00 2001 From: Christoph Schmatzler Date: Sun, 1 Mar 2026 19:47:42 +0000 Subject: [PATCH] enforce paged inbox triage sequencing --- profiles/opencode/command/inbox-triage.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/profiles/opencode/command/inbox-triage.md b/profiles/opencode/command/inbox-triage.md index 43d6aa3..273f7c9 100644 --- a/profiles/opencode/command/inbox-triage.md +++ b/profiles/opencode/command/inbox-triage.md @@ -27,11 +27,18 @@ Workflow: 4. Determine source folder: - If `$ARGUMENTS` contains a folder name, use that as source. - Otherwise use `INBOX`. -5. List envelopes from the source folder without search filters and walk them sequentially. -6. For each single envelope ID, do all checks before any move/delete: +5. List envelopes in explicit pages of 20 from the source folder without search filters. + - Use: `himalaya envelope list -f "" -p -s 20`. + - Start at page `1`. + - Work page-by-page in ascending order. +6. For each page: + - Enumerate IDs in the returned order. + - Process each single envelope ID fully before touching the next ID. + - Do not request the next page until every ID from the current page is finished. +7. For each single envelope ID, do all checks before any move/delete: - Read the message (`himalaya message read -f "" `). - If needed for classification, inspect attachments with Himalaya (`himalaya attachment download -f "" `), then reason from the attachment names/content. -7. Classify and act for that one ID: +8. Classify and act for that one ID: - Ephemeral communication from automated/system senders (alerts, bot/status updates, auth/login codes, OTP/2FA verification emails, password-reset codes, no archival value): delete it. - Communication from actual people: do not delete, do not move, and do not auto-triage; leave untouched in the current folder (typically `INBOX`). - Orders/invoices: move only real order/invoice/business records to `Orders and Invoices`. @@ -40,12 +47,16 @@ Workflow: - Marketing/newsletters: move to `Newsletters and Marketing`. - Delivery/submission confirmations (`Einlieferungen`) when appropriate. - Long-term but uncategorized messages: create a new folder and move there. -8. Folder creation rule: +9. Folder creation rule: - If none of the existing folders fit but the message should be kept, create a concise new folder with `himalaya folder add ""`, then move the message there. -9. Continue until all messages in source folder are processed. +10. Continue until all messages in source folder are processed: + - After a page is completely processed, request the next page (`-p `) with the same page size (`-s 20`). + - Stop only when there are no more envelopes to process. Execution rules: - Never perform bulk operations. One message ID per `read`, `move`, `delete`, and attachment command. +- Never query page `N+1` before fully processing page `N`. +- Always use page size 20 for envelope listing (`-s 20`). - Never skip reading message content before deciding. - Keep decisions conservative: delete only clearly ephemeral automated/system messages. - Never move or delete human communications via automation.