ADR 0001: HTTPX2 transport boundary#

Context#

The SDK needs pooling, streaming, timeouts, injection, sync/async parity, and testable retries.

Decision#

All remote access crosses provider-neutral HTTPX2 sync or async transports.

Alternatives#

Direct calls in fetchers and multiple HTTP libraries were considered.

Consequences#

Providers construct requests but never own clients or retry loops.

Rejected shortcuts#

Per-call clients, implicit global clients, and mixed HTTP dependencies are rejected.

Operational implications#

Applications tune four timeouts, pools, TLS, proxy, HTTP/2, rate, hooks, and bounded retries.