diff --git a/test/check_ledger.tsv b/test/check_ledger.tsv index 2b10749e2..aada27184 100644 --- a/test/check_ledger.tsv +++ b/test/check_ledger.tsv @@ -1602,7 +1602,7 @@ harness_selftest 590-a-declared-suite-must-account and a log with no accounting harness_selftest 590-a-declared-suite-must-account and it is marked TERMINATED, so a reader can tell it from a full run 15;16;17;18;19 2026-09-23 the EXIT trap reverted to the bare pgc_teardown, so the eight pgc_setup exits emit no accounting harness_selftest 590-a-declared-suite-must-account and nothing still arms the bare teardown 15;16;17;18;19 2026-09-23 the EXIT trap reverted to the bare pgc_teardown, so the eight pgc_setup exits emit no accounting harness_selftest 590-a-declared-suite-must-account and pgc_setup still calls pgc_summary on none of them 15;16;17;18;19 2026-10-12 lib.sh's pgc_setup calls pgc_summary before one of its exit 1 paths -harness_selftest 590-a-declared-suite-must-account every clean exit in a declared suite reaches its summary first 15;16;17;18;19 never - +harness_selftest 590-a-declared-suite-must-account every clean exit in a declared suite reaches its summary first 15;16;17;18;19 2026-10-13 a declared suite (ttl_expire.sh) gains a clean exit 0 that skips pgc_summary harness_selftest 590-a-declared-suite-must-account premise: declared suites do have clean exits of their own to check 15;16;17;18;19 never - harness_selftest 590-a-declared-suite-must-account premise: lib.sh is where the exits and the trap both live 15;16;17;18;19 2026-09-23 the EXIT trap reverted to the bare pgc_teardown, so the eight pgc_setup exits emit no accounting harness_selftest 590-a-declared-suite-must-account premise: pgc_setup still has the eight exits this covers 15;16;17;18;19 never - diff --git a/test/check_ledger_budget.txt b/test/check_ledger_budget.txt index 3d758c7eb..280ab7deb 100644 --- a/test/check_ledger_budget.txt +++ b/test/check_ledger_budget.txt @@ -1370,4 +1370,24 @@ suites_not_covered 247 # fresh runs on this tree: a clean run (1223/1223) and both 590 mutations, on # each of 15-19, merged with --mutation and --target. Those runs also re-observe # 20 of the other dated rows, whose last-observed-red date moves to 2026-10-13. -checks_never_observed_red 1684 +# +# #1236 follow-up (part 590's last two): 1684 -> 1683. +# 'every clean exit in a declared suite reaches its summary first' is dated by +# a declared suite (ttl_expire.sh) gaining a clean exit 0 that skips +# pgc_summary, run on all five majors and merged with --mutation and --target. +# Those logs predate #1313's renames, so the three old-name rows they carried +# back were removed again; orphan-scan against a clean run with today's names: +# orphans=0. +# +# 'the suite's own counters are restored after every driving block' STAYS +# never, and not for want of a mutation. Removing a restore reddens it on all +# five majors, but it also corrupts the run's own counters (measured: 1223 +# records against 'checks run: 30'), and the ledger refuses a log that does not +# reconcile as evidence about anything. Any real failure of the restore corrupts +# the counts the same way, so this arm can be seen red but never dated. +# +# ledger rows 1984 + 0 = 1984 +# never 1684 - 1 = 1683 +# dated 300 + 1 = 301 +# 1683 + 301 == 1984 +checks_never_observed_red 1683