Case
TorError.startFailed(_:)
Tor’s tor_run_main() returned non-zero during start or the start pipeline threw before the control socket became reachable.
case startFailed(String)
Discussion
The payload carries Tor’s own diagnostic text (e.g. port collision, missing data-directory permissions, malformed torrc). Not retryable without a config change. Surfaces as TorState.failed(_:).