Indicates to who? Someone reading the code?

If we want to make this more obvious, we should have specs indicating that the thread died. We could also have a spec showing that in the case that the pipe dies, the exception is propagated to the caller of #run, to cover your concern about silent failure.

Re this intended exception silently killing the thread: we don't want it to be noisy!

Lets make sure there is a spec covering the thread terminating somehow, then lets discuss the method for terminating it.