Default runner: System.cmd/3 for one-shot calls and a /bin/sh
Port for NDJSON streaming.
This is the execution path the library has always used. On a timeout
it shuts down the Task (one-shot) or closes the port (streaming),
which closes the pipes but sends no signal to the OS process. The CLI
and any subprocess it spawned may keep running until they next touch a
closed pipe. For strict termination, use ClaudeWrapper.Runner.Forcola
(see ClaudeWrapper.Runner and #185).