enforce paged inbox triage sequencing

This commit is contained in:
2026-03-01 19:47:42 +00:00
parent 149df11987
commit cfe0cc2fb7

View File

@@ -27,11 +27,18 @@ Workflow:
4. Determine source folder: 4. Determine source folder:
- If `$ARGUMENTS` contains a folder name, use that as source. - If `$ARGUMENTS` contains a folder name, use that as source.
- Otherwise use `INBOX`. - Otherwise use `INBOX`.
5. List envelopes from the source folder without search filters and walk them sequentially. 5. List envelopes in explicit pages of 20 from the source folder without search filters.
6. For each single envelope ID, do all checks before any move/delete: - Use: `himalaya envelope list -f "<source>" -p <page> -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 "<source>" <id>`). - Read the message (`himalaya message read -f "<source>" <id>`).
- If needed for classification, inspect attachments with Himalaya (`himalaya attachment download -f "<source>" <id>`), then reason from the attachment names/content. - If needed for classification, inspect attachments with Himalaya (`himalaya attachment download -f "<source>" <id>`), 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. - 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`). - 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`. - 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`. - Marketing/newsletters: move to `Newsletters and Marketing`.
- Delivery/submission confirmations (`Einlieferungen`) when appropriate. - Delivery/submission confirmations (`Einlieferungen`) when appropriate.
- Long-term but uncategorized messages: create a new folder and move there. - 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 "<new-folder>"`, then move the message there. - If none of the existing folders fit but the message should be kept, create a concise new folder with `himalaya folder add "<new-folder>"`, 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 <page+1>`) with the same page size (`-s 20`).
- Stop only when there are no more envelopes to process.
Execution rules: Execution rules:
- Never perform bulk operations. One message ID per `read`, `move`, `delete`, and attachment command. - 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. - Never skip reading message content before deciding.
- Keep decisions conservative: delete only clearly ephemeral automated/system messages. - Keep decisions conservative: delete only clearly ephemeral automated/system messages.
- Never move or delete human communications via automation. - Never move or delete human communications via automation.