With stderr closed, the wrapper's message write failed and set -e ended it
with status 2; with stderr a pipe whose reader had gone, the write killed it
with 141. Either replaced the failed step's own status. The message is now
written with SIGPIPE ignored and its failure ignored, after the step has run,
so the step still sees the default SIGPIPE. The header now states that an
interrupt removes nothing (it is not a build failure) and that a failed
check-censored --require-dist removes dist/ (a dist/ not cleared of the barred
name must not ship); neither behaviour changed. Also the README bullet's
missing period.
Model: opus-5-5
A failed release build no longer leaves a complete, loadable debug bundle in dist/ whose every wallet uses the publicly committed test recovery phrase. Each step of the release build runs through script/discard-dist-on-failure, which removes dist/ on failure, says on stderr that it did and why, and returns the step's own status. build-debug is deliberately unwrapped. script/verify-build is untouched.