Commit 5dbbc2c
committed
docs(oseps): add OSEP-0016 resilient SDK transport
Propose a client-only resilience layer for all five SDKs (Python,
JavaScript, Kotlin, Go, C#) to survive routine infrastructure blips
without any server-side change.
The proposal defines a shared RetryPolicy contract, a retry decision
algorithm asymmetric across idempotent vs. non-idempotent methods,
decorrelated jitter, Retry-After handling with a bounded cap, and an
extended exception hierarchy with a machine-checkable is_retryable
accessor.
Non-idempotent methods (POST/PATCH) retry only on locally provable
side-effect-free conditions: pre-send transport failures (DNS, TCP
connect, TLS handshake, fresh-conn RST), 429, and 502. Idempotent
methods retry on the full transient set including 408, 425, 429, 500,
502, 503, 504 plus all transport errors.
No spec change, no wire-format change, no server change.1 parent b4011b3 commit 5dbbc2c
1 file changed
Lines changed: 711 additions & 0 deletions
0 commit comments