async fn drain_stderr(stderr: ChildStderr) -> StringExpand description
Background drain for the subprocess stderr pipe. Reads lines as UTF-8 (lossy on invalid bytes) and logs each, so the pipe never blocks.
Returns the tail of what it drained, which Subprocess::close
attaches to Error::Process on a non-zero exit.