Baseline expectations
- Prefer small, reviewable changes.
- Keep public contracts stable (or version them).
- Document behavior that affects users or integrators.
Service-level standards
Follow the closest authoritative standard for the code you are changing:- Go services: see
internal/engineering/standards/go-standards - Rust services: see
internal/engineering/standards/rust-standards - Python services: see
internal/engineering/standards/python-standards - TypeScript services: see
internal/engineering/standards/typescript-standards - Protobuf schemas: see
internal/engineering/standards/proto-standards
Contracts and schemas
When you change:- REST behavior: update OpenAPI and regenerate/verify docs reference output.
- Events: update protobuf in
shared/protoand ensure downstream consumers remain compatible.
Verifying standards in practice
- Run the service’s existing tests or checks (see its
Makefile/README.md). - If you touched an integration surface, ensure docs reflect the behavior:
- HTTP: OpenAPI updated and reference drift check passes
- Events: protobuf updated and compatible with consumers