Flow

Toolchain

The stack each service uses and why each piece was chosen.

PieceRole
Go 1.26Single module; services under services/<name>/
Postgres 18Source of truth per service
pgx + sqlcTyped queries from hand-written SQL
gooseMigrations embedded in binaries
HumaHTTP routing and OpenAPI generation
oapi-codegenGo client generation from each service's OpenAPI spec
CedarAuthorization policies embedded at startup
Azure Service BusEvent delivery from the transactional outbox (emulator locally)
Docker ComposeLocal Postgres and the Service Bus emulator only

Services run with go run locally; Compose does not wrap the Go binaries.

OpenAPI specs are generated from handler types (-openapi flag) and checked in. The merged platform spec at the repo root includes deployed services only.

Generated service clients describes generation, construction, and how compilation checks consumers.

Full detail: docs/toolchain.md.