Commitc20fe5feRecorded25 Aug 2026Repositoryfolio
test: re-anchor sabotage T5 -- (else is no longer unique after the fixes
Message
The containment fix and the depth-unbounded sweep each added an (else line to manifest.sgl, so T5's blunt 's/(else$/.../' now matches two sites and the count guard setup-fails it. Re-anchored on the proof loop's own first cond test (unique), which achieves the same 'proof always passes -> recovery proceeds over the corrupt temp' defect. Dry- verified: lands once, formats clean.
Changed
test/sabotage-f3b.sh | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)Diff
test/sabotage-f3b.shmodified
@@ -183,13 +183,15 @@ restore_all || exit 3
183
echo "SAB-F3B LEG T5: recovery TOLERATES the unprovable (the first-pass proof" 184
echo " always passes) -- gate arm 5's driver must observe recovery proceeding" 185
echo " over a corrupt temp instead of refusing to a human"−186
sed -i 's/(else$/(#f ;; SAB-T5/' src/folio/doc/manifest.sgl−187
if ! grep -q "SAB-T5" src/folio/doc/manifest.sgl; then+186
# Anchor on the proof loop's own first cond test (unique in the file): making+187
# it always true means every entry is 'proven' finishable, so recovery+188
# proceeds over the corrupt temp. A bare `(else` anchor is NOT unique -- the+189
# containment fix and the sweep added more of them.+190
sed -i 's/((equal? cur (mentry-post-rev e)) #t)/((begin (quote sab-t5) #t) #t)/' src/folio/doc/manifest.sgl+191
if ! grep -q "sab-t5" src/folio/doc/manifest.sgl; then 192
setup_failed_leg T5 "plant did not land (anchor moved)" 193
else−190
# The blunt anchor above may hit several (else lines; use git to re-verify−191
# only ONE landed where intended, else refuse the leg.−192
count=$(grep -c "SAB-T5" src/folio/doc/manifest.sgl)+194
count=$(grep -c "sab-t5" src/folio/doc/manifest.sgl) 195
if [ "$count" -ne 1 ]; then 196
setup_failed_leg T5 "anchor matched $count sites; the plant is not the plant" 197
restore_all || exit 3