mirror of https://github.com/razor-ai/soup.git
v0.63.0 `score_uncertainty` raised on K>2 and `_row_uncertainty` fell back to a monotone-broken `max(scores) - min(scores)`. Now generalises to K<=32 via population variance scaled by 4 — adding a fresh RM score equal to the running mean strictly decreases uncertainty (the new contribution to the sum-of-squares is zero while the denominator grows), so consensus on redundant evidence can never spike the score. K=1 max-entropy and K=2 disagreement formulas preserved verbatim (existing operator dashboards depend on the |s1 - s2| value). Cap stays at K=32 for DoS defence. _row_uncertainty K>2 path now routes through score_uncertainty inside an isolated try/except — bad rows return 0.0 instead of crashing the batch. PEP 585 modernisation: collections.abc imports + list[...] annotations (safe because `from __future__ import annotations` is in scope). math.fsum used for the variance accumulation to keep rounding error sub-ULP at K=32. Tests: +32 net (25 in new tests/test_v0631_206.py + 7 TDD review-fix followups). Full suite 11941 -> 11973 pass. Closes #206. |
||
|---|---|---|
| .. | ||
| autopilot | ||
| cans | ||
| commands | ||
| config | ||
| data | ||
| eval | ||
| experiment | ||
| migrate | ||
| monitoring | ||
| plugins | ||
| recipes | ||
| registry | ||
| templates | ||
| trainer | ||
| ui | ||
| utils | ||
| __init__.py | ||
| __main__.py | ||
| cli.py | ||
| tui_app.py | ||