Address review feedback (non-blockers), keeping the blocking and non-blocking
initiate paths consistent:
- Classify a transport failure from RequestAppRegistration as a typed
NetworkError (SubtypeNetworkTransport) at the boundary, and pass it through
unchanged from both initiate paths instead of mislabeling it invalid_client.
- resume: pass an already-typed poll error (e.g. the missing-credentials
ConfigError) through unchanged instead of downgrading it to
authentication/unknown.
- drift check: surface a genuine config-load failure (permission/corruption)
as a typed storage error instead of silently reading it as config drift; a
missing config (first-time setup) is still fine.
- test: assert the non-terminal hint names both --no-wait and --device-code.