Documentation/Request lifecycle and module boundaries

Request lifecycle and module boundaries

Console :3000 ─┐
Application ──┴─> Gateway :4000
                  -> Auth / Authz / Limits
                  -> Router -> Dataplane -> Provider
                  -> Usage -> PostgreSQL
                           -> Redis queue (optional)

Follow one request

Stage Source Boundary
HTTP wiring gateway UI buttons do not authorize requests
Identity / authorization auth, authz Client metadata is not trusted identity
Candidate compilation router Cannot expand model scope
Upstream execution dataplane Cannot splice another provider after a partial stream
Protocol registration / conversion provider, llm A catalog entry does not prove executable support
Configuration / identity / accounting store, iam Current configuration must not rewrite historical ownership

Normal inference runs authentication, limits, guardrails, routing, execution and accounting. Native tasks use a separate lifecycle; chat cache and retry rules do not apply automatically.

Verification

go test ./internal/router ./internal/dataplane/... -count=1
go test ./internal/gateway -run 'TestVisibilityChain' -count=1

Runtime boundaries · Pricing · Test environment

Search full documentation: budgets, routing, Docker…