fix(rank): keep every --exclude key out of the sweep when the list has spaces (#641)

* fix(rank): keep every --exclude key out of the sweep when the list has spaces

`sweep --exclude "a_b, c_d"` split on bare commas, so " c_d" matched no
entry and every key after the first was swept. On an --all run that
expired a re-scored entry whose fresh deadline apply then re-ranked, so
the report listed it as both expired and shortlisted. Strip each key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* changelog: place the #641 entry under [Unreleased]

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Mads Lorentzen <madslorentzen_17@hotmail.com>
This commit is contained in:
authored and GitHub committed 2026-10-19 19:49:24 +02:00
1 parent 4cbe273b56
commit 51c7dfdbd7
3 files changed
+23 -1

No files matched your search

+3 -1
View File
@@ -230,7 +230,9 @@ def cmd_candidates(args) -> int:
def cmd_sweep(args) -> int:
doc, seen = load_state(args.state)
today = args.today
exclude = {k for k in (args.exclude or "").split(",") if k}
# "a_b, c_d" is as natural a comma-separated list as "a_b,c_d"; keys never
# carry surrounding whitespace, so a space must not un-exclude a key.
exclude = {k.strip() for k in (args.exclude or "").split(",") if k.strip()}
expired, closing, unparseable, checked = [], [], [], 0
for key, entry in seen.items():