Expand description
Canonical error model (RFC §18).
Two layered types:
ErrorCode— the wire-level taxonomy from §18.2 as a#[non_exhaustive]enum. Exists so the runtime, the client, and external code can pattern-match on a single source of truth.ARCPError— the in-processResult<_, _>error returned from library APIs. Each variant maps onto anErrorCodeviaARCPError::codeand carries enough context to reconstruct an error envelope (§18.1) without a second lookup.
The ARCPError::retryable method follows the RFC §18.3 default
taxonomy. Callers MAY override per-call via the returned envelope’s
retryable field, but the in-process default is what retryable()
reports.