@ -42,7 +42,8 @@ In addition, the following conventions should be followed:
* Consuming code will break and require source change to match the changes.
* Non-frozen fields should be tagged with `[#not-implemented-hide:]`, `[#not-implemented-warn:]`, `[#proto-status: draft]` or `[#proto-status: experimental]`.
* Non-frozen fields should be tagged with `[#not-implemented-hide:]`, `[#not-implemented-warn:]`,
`[#proto-status: draft]` or `[#proto-status: experimental]`.
* Every proto directory should have a `README.md` describing its content. See
for example [envoy.service](envoy/service/README.md).
@ -93,6 +94,13 @@ In addition, the following conventions should be followed:
pattern forces developers to explicitly choose the correct enum value for
their use case, and avoid misunderstanding of the default behavior.
* Proto fields should be sorted logically, not by field number. For large protos, place a comment
at the top that specifies the next free field number. E.g.,
```
// [#comment:next free field: 28]
```
## Package organization
API definitions are layered hierarchically in packages from top-to-bottom: