Skip to content

The matrix summary prints a negative suite count: 248 accounted of 246 ran, so "-2 did not" #1006

Description

@OffgridwithJD

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions