The matrix summary prints a negative count of suites. From today's CI, both majors:
PG17 suites that ran: 243 of 252 (skipped: 9, incomplete: 0)
of those, 248 accounted for their checks and -5 did not
PG18 suites that ran: 246 of 252 (skipped: 6, incomplete: 0)
of those, 248 accounted for their checks and -2 did not
A count of suites cannot be −5. The line is run_all_versions.sh:1475:
echo " of those, $_acc_any accounted for their checks and $((suites_ran - _acc_any)) did not"
The cause, and it is a category error rather than arithmetic
_acc_any counts every suite whose log shows an accounting line. suites_ran counts suites that ran. A skipped suite still prints one: native_repack does check_skip "REPACK", pgc_summary prints the accounting line, and the suite is recorded SKIP. So a skipped suite is counted as accounted and not as ran, and accounted can exceed ran.
The two numbers reconcile exactly that way:
PG17 243 ran + 9 skipped = 252 248 - 243 = 5 skipped suites that also accounted
PG18 246 ran + 6 skipped = 252 248 - 246 = 2
Why it is worth fixing rather than tolerating
The block it sits in is the one #928 built so there would be one answer to "how many suites accounted". It now gives an impossible one. Nothing is gated on it — the population reconciliation three lines up is sound and independent (registered=252 | accounted=248, not dispatched=4, known debt=0, unaccounted=0 | sum=252) — so this is a reporting defect, not a false green.
But a negative count is the kind of number that makes a reader discount the whole block, including the parts that are right. And the fix has to pick a meaning rather than patch the subtraction: either
- count the same population on both sides — accounted-among-ran, so the difference is the suites that ran and said nothing, which is what the sentence claims to be about; or
- say what it now means — "248 of 252 registered suites accounted, including 2 that were skipped" — which keeps the information and drops the subtraction.
I would take the first: the sentence is of those, and those is the suites that ran. The second reads like a number defending itself.
Limits
🤖 Generated with Claude Code
https://claude.ai/code/session_01Uf6UoeBRZYLQZa4KxNiw8a
The matrix summary prints a negative count of suites. From today's CI, both majors:
A count of suites cannot be −5. The line is
run_all_versions.sh:1475:The cause, and it is a category error rather than arithmetic
_acc_anycounts every suite whose log shows an accounting line.suites_rancounts suites that ran. A skipped suite still prints one:native_repackdoescheck_skip "REPACK",pgc_summaryprints the accounting line, and the suite is recordedSKIP. So a skipped suite is counted as accounted and not as ran, andaccountedcan exceedran.The two numbers reconcile exactly that way:
Why it is worth fixing rather than tolerating
The block it sits in is the one #928 built so there would be one answer to "how many suites accounted". It now gives an impossible one. Nothing is gated on it — the population reconciliation three lines up is sound and independent (
registered=252 | accounted=248, not dispatched=4, known debt=0, unaccounted=0 | sum=252) — so this is a reporting defect, not a false green.But a negative count is the kind of number that makes a reader discount the whole block, including the parts that are right. And the fix has to pick a meaning rather than patch the subtraction: either
I would take the first: the sentence is
of those, andthoseis the suites that ran. The second reads like a number defending itself.Limits
b0109af7.git log -Sputs this line's last change atb0109af7(The matrix prints two different "accounted" totals in one report (237 and 235) #928), and test: the accounting breakdown says which LINE it means, because twelve suites were called unseedable and ten of them record #1003 touched the line below it.🤖 Generated with Claude Code
https://claude.ai/code/session_01Uf6UoeBRZYLQZa4KxNiw8a