Upstream contribution · steipete/poltergeist
poltergeist · Reporting signal-terminated build commands as failures
Problem
A child process killed by a signal closes with a null exit code. Poltergeist converted that value to zero, allowing a terminated build or hook command to look like a success.
Engineering response
The upstream consolidation includes the reported command-runner fix alongside lifecycle and watch fixes. A signal-terminated process produces a failure status, including exit 143 for SIGTERM on the tested platform. Callers that allow nonzero exits still receive that status.
Evidence and scope
The original PR includes macOS arm64 receipts using the compiled runner and owned child processes. The baseline returns zero, the candidate returns 143, and the healthy control returns zero. The co-authored consolidation records 13 failing baseline regressions and passing exact-head Linux, macOS and Windows CI.