feat(cli): folders command, search --all-folders, empty-search hint
Fixes from testing email search (docs/enhancements-2026-07-07.md): - New `folders` agent command lists the account's mailboxes (name, delimiter, selectable), INBOX first, so agents can discover archived mail outside INBOX. - `search --all-folders` sweeps every selectable mailbox; each hit carries a `folder` field, `skipped_folders` reports mailboxes the server refused, and --limit caps visible results across the sweep. The sweep deliberately skips EnsureFolderBaseline so a read-only search never mutates list --new state. - Empty search results include a generic `data.hint` with next steps. The hint is a fixed constant per mode, so the invisibility invariant holds: absent and policy-filtered mail produce byte-identical envelopes (codified in TestSearchEmptyHintIndistinguishableFromFiltered). - Skill and user docs: document `--text` full-text search as best-effort (server-dependent); recommend --subject-contains/--from. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
Fixes identified from testing emcli email search (Morphy Richards purchase investigation).
|
||||
|
||||
1. No folder discovery command
|
||||
|
||||
emcli has no folders command, so the agent cannot enumerate available mailboxes. Searches default to INBOX only and miss archived mail (e.g. INBOX.Archive).
|
||||
|
||||
Fix: Add a folders agent command to list available mailboxes.
|
||||
|
||||
2. INBOX-only default too narrow
|
||||
|
||||
When searching for a specific email, the agent should ideally search across all folders, but cannot without knowing folder names.
|
||||
|
||||
Fix: Add an --all-folders flag to search to sweep all mailboxes at once.
|
||||
|
||||
3. --text full-text search unreliable on some IMAP servers
|
||||
|
||||
On myfamilyemail.co.uk, --text returned zero results for emails that --subject-contains found fine. The IMAP server either does not support full-text search or has an incomplete index.
|
||||
|
||||
Fix: Document this limitation in the skill; recommend --subject-contains as the primary search method and treat --text as best-effort.
|
||||
|
||||
4. No way to distinguish filtered vs missing vs wrong-folder
|
||||
|
||||
All three cases return empty results with no error, making it impossible for the agent to know whether mail is absent, hidden by a whitelist, or simply in another folder.
|
||||
|
||||
Fix: emcli (or the skill) should surface a diagnostic hint when results are empty — e.g. suggest running folders or retrying with --all-folders.
|
||||
Reference in New Issue
Block a user