a73x

4e8641a1

test: the third backticked word inside an unquoted heredoc

a73x   2026-09-04 10:16

Commit message
test: the third backticked word inside an unquoted heredoc

87b720f0 fixed two of these and missed this one, because the detector used
then required the heredoc's delimiter to end the line and this opener has
a trailing space after it. The agent group hung for its whole 600 s budget
again, in the flip leg this time, on a comment that quoted the expect verb
in backticks: in an unquoted heredoc the shell runs a backquoted word as a
command substitution wherever it stands, macOS has an expect program, and
it read the rest of the heredoc as its own script.

Swept again with a detector that matches the opener anywhere on its line
and skips only a quoted delimiter. Every unquoted heredoc body in test/ is
backtick-free. Nothing gates it, which is the third time that has cost a
gate run.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SakwJEwD9dXBoRP5kWbemW

test/e2e_10_agent.sh
Old New
@@ -448,13 +448,20 @@ expect $FPA 20000
448 send echo flip-now\n 448 send echo flip-now\n
449 expect $FPB 25000 449 expect $FPB 25000
450 send exit\n 450 send exit\n
451 # Empty wall, then the picker: see the first agent leg — and `expect` on 451 # Empty wall, then the picker: see the first agent leg, and an expect verb
452 # the popup's own legend, never a settle. The picker opens on the host 452 # on the popup's own legend, never a settle. The picker opens on the host
453 # POLL (up to a second after the last session dies) while a settle fires a 453 # POLL (up to a second after the last session dies) while a settle fires a
454 # fixed time after the last output byte; a picker that opened between the 454 # fixed time after the last output byte; a picker that opened between the
455 # settle and the `\x1b` would eat the `d` that follows (every byte is the 455 # settle and the Esc would eat the d that follows (every byte is the
456 # popup's while it is up) and this leg would fail at waitexit on a change 456 # popup's while it is up) and this leg would fail at waitexit on a change
457 # nobody made. 457 # nobody made.
458 #
459 # No backticks below the heredoc opener, comments included, for the reason
460 # written above the first agent leg's script: in an unquoted heredoc the
461 # shell runs a backquoted word as a command substitution wherever it
462 # stands, and this comment used to quote the expect verb that way. There is
463 # an expect program on macOS, so the shell started it, it read the rest of
464 # the heredoc as its own script, and the gate hung for its whole budget.
458 expect c new session 20000 465 expect c new session 20000
459 send \x1b 466 send \x1b
460 settle 300 20000 467 settle 300 20000