fix(rank): report a tracker that is not UTF-8 instead of a traceback (#639)

* fix(rank): report a tracker that is not UTF-8 instead of a traceback

A job_search_tracker.csv saved with a spreadsheet's plain "CSV" type is
written in the ANSI code page, so one accented company name raised a
UnicodeDecodeError traceback in `rank_state.py candidates` and stopped
/rank at Step 1. Exit 1 with a one-line message instead.

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

* changelog: place the #639 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:32:59 +02:00
1 parent 9b24a8a123
commit 4cbe273b56
3 files changed
+29 -5

No files matched your search

+6
View File
@@ -83,6 +83,12 @@ per-file diff commands.
whole batch, although `apply` already collects per-result problems in `errors`. Each now becomes an
`errors` row (exit 1) and the valid results in the same file are still written.
- **`rank_state.py candidates` reports a tracker that is not UTF-8 instead of crashing** (#639, `tools/rank_state.py`,
`tests/test_rank_state.py`) - a `job_search_tracker.csv` saved with a spreadsheet's plain "CSV" type is
written in the ANSI code page (cp1252 on most Western installs), so one accented company name such as
"Ørsted" raised a `UnicodeDecodeError` traceback and stopped `/rank` at Step 1. It now exits 1 with a
one-line message naming the file and asking for a CSV UTF-8 save, as `load_state` does for invalid JSON.
## [1.7.3] - 2026-10-19
### Added