Problema
O case_run do gate_test invoca o gate com o literal bash (scripts/gate_test.sh:137-138). Nos casos cujo PATH é - (bad-path, empty, js-green, js-test-only, js-red, js-bad-json e os wd-*), o interpretador do gate.sh sai do PATH do runner — no job macOS isso pode ser o bash do Homebrew, não o /bin/bash 3.2 que o job existe para testar. O test.sh já resolve certo para a suíte em si; o furo é só na invocação interna do gate. O job imprime a versão do bash mas não a verifica.
Etapas
Problema
O
case_rundo gate_test invoca o gate com o literalbash(scripts/gate_test.sh:137-138). Nos casos cujo PATH é-(bad-path, empty, js-green, js-test-only, js-red, js-bad-json e os wd-*), o interpretador do gate.sh sai do PATH do runner — no job macOS isso pode ser o bash do Homebrew, não o /bin/bash 3.2 que o job existe para testar. O test.sh já resolve certo para a suíte em si; o furo é só na invocação interna do gate. O job imprime a versão do bash mas não a verifica.Etapas
bash "$GATE"por"${BASH:-bash}" "$GATE"no case_run (mesma técnica do test.sh)./bin/bashnão reportar 3.2 (asserção dura da premissa de plataforma).