ADR-018: OpenAPI-first API contracts
Context
Context
Substantially revised 2026-06-20: adds the by-domain folder layout, the three-tier contract model, interface/adapter naming, the service+adapters layering, the error model, and principal handling.
Companion to ADR-020 (which covers the contract tiers, structure, naming, and layering).
Auto-generated code reference for internal APIs
End-to-end guide from Protobuf schema to Kotlin handler to TypeScript client