async fn resolve_ua(binary: &'static str) -> Result<String, String>Expand description
One claude --version round-trip, formatted as the UA. The
shell-out runs under spawn_blocking so a slow binary lookup never
parks a tokio worker; split from the cached AgentHost::user_agent
so the exec and its failure class are drivable without resolving a
real binary.