- Expose a mountable Axum router. Listener binding, server lifecycle, and shared inbound middleware belong to `gateway` - Own endpoint paths, request parsing, model alias resolution, and API-specific response and SSE error formats. Delegate hosted call execution and HTTP body delivery to host-http - Delegate inference execution to the `inference-` crates and provider transformations and authentication to `llms` and the auth crates. Do not duplicate them in handlers - Let the `inference-` crates validate inference fields and supported features, then map their errors to HTTP responses. Do not add gateway checks for temporary inference limitations - Use injected deployments, HTTP pools, settings, and secret sources. Do not load process configuration or construct independent clients in handlers - Test HTTP contracts here, including status codes, forwarded headers, error envelopes, and streaming behavior. Keep inference and provider tests in their owning crates