Structured errors in operations.proto - UserDeleteTags
This is one in a series of issues to migrate all RPCs in operations.proto
to return structured errors. There is a separate issue per-RPC as they need to be implemented with client-side changes and the deprecation cycle in mind.
See the parent epic &11645 for more information.
Context
Not all methods in operations.proto return structured errors. For example, UserRevertResponse embeds error information as fields in a successful response. This has the potential to create observability issues.
Proposal
Modify the affected RPC to return structured errors instead of inline errors. Once modified, the error fields in the original message should be reserved like this to prevent reuse.
UserDeleteBranchError is an example of a structured error used by the UserDeleteBranch RPC. The structured error is returned alongside a corresponding gRPC error code. You can see this in action in this snippet.