pa-02 — References
Contracts & compatibility
- Protocol Buffers docs — field numbers, reserved fields, proto3 semantics, the rules behind safe evolution. https://protobuf.dev/programming-guides/proto3/
- buf —
buf breaking(the compatibility-rule engine modeled here). https://buf.build/docs/breaking/overview - Confluent Schema Registry — Avro/Protobuf/JSON compatibility modes (BACKWARD / FORWARD / FULL) for event schemas (pa-03/04). https://docs.confluent.io/platform/current/schema-registry/
- Google API Improvement Proposals (AIP) — resource-oriented REST, pagination, idempotency, versioning. https://google.aip.dev/
- Designing Data-Intensive Applications (Kleppmann) — ch. 4, encoding and schema evolution.
Idempotency & pagination
- Stripe — Idempotent requests (the canonical idempotency-key design). https://docs.stripe.com/api/idempotent_requests
- "Pagination: offset vs cursor/keyset" writeups (Slack, Shopify engineering blogs) — why opaque cursors beat offsets.
API styles
- gRPC docs (pairs with gw-02 for the HTTP/2 wire). REST: Richardson maturity model, RFC 9110 semantics. Event APIs: AsyncAPI spec.
- Consumer-Driven Contracts (Pact) — testing contracts from the consumer's side (a testing strategy, pa-10).
Cross-lab links
- pa-01 (boundaries), pa-03/04 (event schemas as contracts), pa-05 (idempotent consumers), pa-10 (compat check as a fitness function), gw-02 (gRPC wire), gw-06/gw-12 (retries / version deprecation as migration).