To differentiate errors at a more fine-grained level than gRPC status codes, we should migrate to the richer error model defined in protobuf. Doing so would also allow us to return more stable, structured error metadata when we want to.
This change would be backward compatible with our current error model since the only feature we consider stable of our current errors is the gRPC status code, which can be kept the same for the same errors.
To differentiate errors at a more fine-grained level than gRPC status codes, we should migrate to the richer error model defined in protobuf. Doing so would also allow us to return more stable, structured error metadata when we want to.
This change would be backward compatible with our current error model since the only feature we consider stable of our current errors is the gRPC status code, which can be kept the same for the same errors.