Default ClaudeWrapper.DuplexSession.Adapter: a real claude
subprocess over an Erlang port.
The port is opened by (and delivers its {port, {:data, _}} /
{port, {:exit_status, _}} / {:EXIT, port, _} messages directly to)
the session process, which calls open/1 from its own init/1. The
returned handle is the port itself.