test(seed): pin the two unguarded terms of the torn-clone condition #9

Merged
claude merged 3 commits from test/pin-clone-guards into main 2026-08-24 19:49:21 +00:00
Showing only changes of commit 31b4113a26 - Show all commits
+4 -3
View File
@@ -414,9 +414,10 @@ Where more than one guard could catch a fault, a scenario should assert
green because a sibling fires in its place. Scenarios 8a to 8d and 10 of the green because a sibling fires in its place. Scenarios 8a to 8d and 10 of the
seed suite do, and each is reddened by exactly one mutation of the clone's seed suite do, and each is reddened by exactly one mutation of the clone's
checks. Scenario 9 does not, and a mutation still survives it: with its source checks. Scenario 9 does not, and a mutation still survives it: with its source
unreadable, `cp -al` leaves the staging directory at mode `000`, so the unreadable, `cp -al` leaves the staging directory at mode `000`, so deleting
unshare pass aborts the clone before the copy's own exit status is ever the exit-status check does not change the outcome — the unshare pass aborts
consulted, and the assertion is satisfied down a path it was not written for. the clone instead, and the assertion is satisfied down a path it was not
written for.
That is the standing hazard here, and it is not hypothetical. Two guards that That is the standing hazard here, and it is not hypothetical. Two guards that
can each catch the same fault mask each other, so **neither** is individually can each catch the same fault mask each other, so **neither** is individually