Repository navigation
test: date twenty never-red checks and rename three fixture facts (#1236) - #1284
Conversation
Second commit, eec3199: four more suites
The two One arm is named for something it does not check. Under the parallel mutation, Census: 1633 -> 1624 -> 1613. 🤖 Generated with Claude Code |
) Rebuilt onto c1e253f after #1285 landed. Same content as eec3199. The ledger rows come from the same mutation logs, merged again by a script; that script run on be31874 reproduces eec3199's ledger byte for byte. Ten parts no longer hold a never-red check: harness_selftest 570, 190, 290, 560 and 580, rewrite_storage_oid, catalog_delete_index, catalog_plan_index, projection_scan_cost and projection_parallel. Twenty checks are dated from mutation runs on all five majors, one worktree per mutation per major, merged one log at a time with --mutation and --target. Three checks that only describe their own fixture are renamed premise:, the owner's decision of 2026-10-12. The never-red census moves 1671 -> 1651. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
eec3199 to
0019286
Compare
|
Rebuilt onto c1e253f after #1285 landed; the head is now 0019286. Nothing in the content changed. The ledger rows come from the same mutation logs, merged again by a script, and that script run on be31874 reproduces eec3199's ledger byte for byte. The census is now 1671 -> 1651 because the base moved: the same 20 checks are dated. The CHANGELOG entries are carried over unchanged. 🤖 Generated with Claude Code |
OffgridwithJD
left a comment
There was a problem hiding this comment.
Approving 00192864.
Reproduced one of the new dates independently, in my own worktree at this head on PG 16. The mutation is #1210's src/ change reverted (git show f5451fa -- src | git apply -R):
control catalog_plan_index 27 passed + 0 failed
mutant catalog_plan_index 24 passed + 3 failed
planning over the newest columnar table did not sequentially scan pgcolumnar.storage got [1] want [0]
the newest columnar table costs no more catalog work than the oldest got [-4] want [1]
the planned cost does not depend on which storage row the heap returns first got [43.86] want [301.29]
Those are exactly the three rows this PR moves from never to 2026-10-12, and none of them is a borderline value.
The ledger is self-consistent at this head: based on current main (c1e253f), 1859 rows, 1651 never-red, and the budget census is 1651. CI is 15/15 green.
One cosmetic note: the description still describes the first batch (11 checks, 1633 -> 1624). The head carries the second batch too (catalog_delete_index, catalog_plan_index; 20 checks; 1671 -> 1651). The CHANGELOG and budget are right; it's only the PR body.
The three premise: renames follow the owner's kind-2 rule. Your raw-cat measurement for part 190 is the right kind of evidence that nothing but the check itself can redden it.
…five majors (#1236) The #1236 follow-up for parts 540 and 590. Six mutations, each run on 15-19, merged one log at a time with --mutation and --target: three of part 540's sweep (the $-arm skip, awk_determinate's > 0 case, the report of an indeterminate verdict), two of part 590's readers, and pgc_summary before one of pgc_setup's exits. They date 6 checks in 540, 3 in 590 and 12 in part 390. Census 1693 -> 1672; rows unchanged at 1943. The logs were run on c1e253f. Since then the three parts are unchanged and lib.sh changed only in pgc_skip's pyarrow branch; every reddened name exists in a clean run on #1286's tree. Three names #1284 had renamed came back as never rows and were removed again. orphan-scan: orphans=0. Part 540 is now clear (9 of 11 dated, the 2 never rows premises). Part 390 joins the reading list: 61 never-red checks beside 12 dated ones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…five majors (#1236) The #1236 follow-up for parts 540 and 590. Six mutations, each run on 15-19, merged one log at a time with --mutation and --target: three of part 540's sweep (the $-arm skip, awk_determinate's > 0 case, the report of an indeterminate verdict), two of part 590's readers, and pgc_summary before one of pgc_setup's exits. They date 6 checks in 540, 3 in 590 and 12 in part 390. Census 1693 -> 1672; rows unchanged at 1943. The logs were run on c1e253f. Since then the three parts are unchanged and lib.sh changed only in pgc_skip's pyarrow branch; every reddened name exists in a clean run on #1286's tree. Three names #1284 had renamed came back as never rows and were removed again. orphan-scan: orphans=0. Part 540 is now clear (9 of 11 dated, the 2 never rows premises). Part 390 joins the reading list: 61 never-red checks beside 12 dated ones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…five majors (#1236) The #1236 follow-up for parts 540 and 590. Six mutations, each run on 15-19, merged one log at a time with --mutation and --target: three of part 540's sweep (the $-arm skip, awk_determinate's > 0 case, the report of an indeterminate verdict), two of part 590's readers, and pgc_summary before one of pgc_setup's exits. They date 6 checks in 540, 3 in 590 and 12 in part 390. Census 1693 -> 1672; rows unchanged at 1943. The logs were run on c1e253f. Since then the three parts are unchanged and lib.sh changed only in pgc_skip's pyarrow branch; every reddened name exists in a clean run on #1286's tree. Three names #1284 had renamed came back as never rows and were removed again. orphan-scan: orphans=0. Part 540 is now clear (9 of 11 dated, the 2 never rows premises). Part 390 joins the reading list: 61 never-red checks beside 12 dated ones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Part of #1236. Takes ten parts off the reading list: five selftest parts,
rewrite_storage_oid,catalog_delete_index,catalog_plan_index,projection_scan_costandprojection_parallel. 20 checks dated, 3 renamed. Rebuilt onto c1e253f after #1285; the census at this head is 1671 -> 1651. The tables below cover the first ten mutations; the second commit's comment covers the rest.@OffgridwithJD, this needs your review. I will not merge it without your approval on the head commit.
What changed
harness_selftest/570premise:harness_selftest/190premise:harness_selftest/290harness_selftest/560harness_selftest/580control:arms)rewrite_storage_oidThe never-red census at this head moves 1671 -> 1651 (it read 1633 -> 1613 before the rebuild onto #1285).
How each date was measured
Every mutation ran on all five majors, in its own worktree per major, so no two builds shared an object tree or an install prefix. Each log was merged one at a time with
--mutationand--target. For every selftest mutation the failed set was identical on all five majors, and every log reconciles at 1213 checks._ck_patrelaxed to\.gitand unfolded it is invisible…built N of Mline replaced byfinished…says how many it builtyesand a directory that is not there holds nonepgc_build_and_install's stamp branch becomeselif falseand it still consults the stamp…rebuild.shrewordsno such pg_configcontrol: with the exemption present…pgc_symbol_is_toolchaindeleted fromlib.shcontrol: and it does NOT blame the exemption,premise: the symbol exemption is exposed…rewrite_storage_oid:CreateTableAsStmtout of the repair gatea matview created WITH DATA…rewrite_storage_oid:RefreshMatViewStmtout of the repair gateand REFRESH still leaves it…The WITH DATA arm is green on 15 and 16 under its mutation, and that is correct. On those majors a new matview is filled in place, so the orphaned storage row cannot happen. The 15 and 16 logs were merged as plain green runs, without the mutation.
The three renames
The owner decided on 2026-10-12 that a check which only describes its own fixture is renamed
premise:, not kept as an arm or deleted.printf >just wrote is a regular file and exists. That is POSIX, not pgcolumnar.printfjust wrote. Measured, not argued: with the arm's strip replaced by a rawcat, all 1213 selftest checks stayed green on every major. Nothing but the check itself can redden it.Each rename touches the part and its ledger row. Selftest parts have no pytest twin and no
TESTS.mdline.One mistake on my side, and why no result depends on it
My first attempt ran several mutants on one major at once, and then several majors in one worktree at once. The harness refused the first (
the installed library is not the one this tree built) and the second failed to load (undefined symbol). I discarded every log from both, and nothing in this PR comes from them. Part 570's mutant logs overlapped one stray run on PG16. I checked all five: 1213 checks each, the same five reds, no guard or symbol message.Not verified locally
I did not run a clean control of this branch locally, because my mutation queues hold the install prefixes. CI's full matrix is the control, including the ledger gate and the orphan scan.
🤖 Generated with Claude Code