diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-26 15:07:37 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-26 15:07:37 +0200 |
| commit | 804454e43cf08ddf39dbf0a765f047f0ac96f529 (patch) | |
| tree | 7e2faaa442bdcf0321dcdd5e67a65f6a7141c348 /docs/superpowers/specs | |
| parent | e706bddf4675a4bbc4fc1eb112aa73141a759362 (diff) | |
| download | qtmaildir-804454e43cf08ddf39dbf0a765f047f0ac96f529.tar.gz qtmaildir-804454e43cf08ddf39dbf0a765f047f0ac96f529.zip | |
docs: scan every message on the first candidate run
A week-long scope is right once the list is in use and wrong on the first
run, when it proposes almost nothing and leaves the file taking months to
become useful. BusinessSenders::scanQuery() returns "*" while the file
holds no active entry and date:1week.. afterwards.
A file holding only rejected candidates counts as unused, which costs one
more full scan and re-proposes nothing, since appendCandidates already
skips every address the file mentions in any form.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LXCZFLXbAii5n5wtovpdhh
Diffstat (limited to 'docs/superpowers/specs')
| -rw-r--r-- | docs/superpowers/specs/2026-08-26-card-avatars-design.md | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/superpowers/specs/2026-08-26-card-avatars-design.md b/docs/superpowers/specs/2026-08-26-card-avatars-design.md index 14829c0..e396a34 100644 --- a/docs/superpowers/specs/2026-08-26-card-avatars-design.md +++ b/docs/superpowers/specs/2026-08-26-card-avatars-design.md @@ -217,6 +217,16 @@ of the newly arrived mail and appends CANDIDATES, commented out: # noreply@cofidis.it (47 messages) ``` +**How much mail the scan covers** depends on whether the list has ever been +used. With no file, or a file holding no active entry, it scans the WHOLE +database; afterwards it scans the last week. The first run is exactly when a +full scan earns its cost: a week of mail proposes almost nothing, so a +week-only rule would leave the list taking months to become useful. It is +affordable because it happens once, measured at 76 ms over 5105 messages. + +A file holding only rejected candidates still counts as unused. Rescanning it +re-proposes none of them, since anything already mentioned is skipped. + A candidate is an address whose local part is in a small built-in word list (`noreply`, `no-reply`, `donotreply`, `info`, `support`, `billing`, `newsletter`, `notifications`, `mailer-daemon`), or one that recurs with no |
