Stop long runs reading a rewritten script and log notifier output
just lab up --base omnibus failed late with syntax error ... simulation.sh: line 4793, and bash -n on the file was clean. bash reads a script as it runs: the file had 4792 lines when up started and 4816 after it was rewritten in place, so when the dispatcher returned, bash read on from the old offset of the new bytes. Every entry script that ends in a case dispatcher or a guarded main now ends it with exit on the same command, so bash parses the exit and reads nothing further (ten scripts plus simulation.sh and aws/openshift-sno.sh).
SIM_NOTIFY_CMD was also silent on two rigs. Its output went to /dev/null, so a notifier that declines with exit 0 (a rate limit answered in a JSON body, reproduced locally with a second call inside the window) looked like a notice sent. up and the SNO lane now log what the command printed and its exit status when it failed, and still never fail on it. operations.md says so.
Tests in tests/run.sh: the in-place rewrite fixtures, a tail check over every authored script, and four notifier cases.
printf 'main(){ case "$1" in run) sleep 2; echo ran;; esac; }\nif [[ "${BASH_SOURCE[0]}" == "$0" ]]; then\n main "$@"\nfi\n' > s.sh
(bash s.sh run &) ; sleep 0.7; { echo '# a'; cat s.sh; } > t; cat t > s.sh
# ran, then: s.sh: line 6: syntax error near unexpected token `fi' (with "; exit" after main: ran, rc 0)