fix(rank): report malformed scoring results in apply instead of a traceback (#635)

* fix(rank): report malformed scoring results in apply instead of a traceback

A result that is not an object, a non-string key or a non-object scores value
raised AttributeError/TypeError and discarded the batch. They now become
errors rows and valid results in the same file still apply.

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

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

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

---------

Co-authored-by: Claude Sonnet 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:31:34 +02:00
1 parent 3c97e7bc93
commit 9b24a8a123
3 files changed
+40 -1

No files matched your search

+6
View File
@@ -77,6 +77,12 @@ per-file diff commands.
`AttributeError` traceback on `.rstrip`, although the audit already reports other malformed state
with a one-line error and exit 1. It now names the offending key the same way.
- **`rank_state.py apply` reports a malformed scoring result instead of crashing** (#635, `tools/rank_state.py`,
`tests/test_rank_state.py`) - a result that is not an object, a `key` that is not a string, or a
`scores` value that is not an object raised an `AttributeError`/`TypeError` traceback and discarded the
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.
## [1.7.3] - 2026-10-19
### Added