An optional onStderr hook receives every raw chunk, so long commands can stream progress while still getting the bounded result. Capture, truncation and termination are unchanged; existing callers pass no hook.