Skip to content

refactor(api/base): name the message queue option topic_keys#264

Open
behinddwalls wants to merge 1 commit into
mainfrom
preetam/messagequeue-topic-keys
Open

refactor(api/base): name the message queue option topic_keys#264
behinddwalls wants to merge 1 commit into
mainfrom
preetam/messagequeue-topic-keys

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

Why?

The message queue topic-binding proto option was named topics, which reads as a concrete wire topic name. It is not — it carries a stable logical topic key. Each implementer maps the key to whatever topic name its broker/queue requires (subject to that backend's naming constraints); on our Go side the keys are consumer.TopicKey values, mapped to concrete names through TopicRegistry. The name topics invited the wrong mental model.

What?

Rename the google.protobuf.MessageOptions extension topicstopic_keys (field number 50001 unchanged, so the wire/extension layout is identical) and reframe its doc comment to say it carries a logical key, not a wire name. Regenerated messagequeue.pb.go (E_TopicsE_TopicKeys).

This is the base of a stack; the runway contract and the contract RFC that consume the option are updated in the branches stacked on top.

Test Plan

make proto — descriptor field renamed (name=topicsname=topic_keys), field number 50001 unchanged
./tool/bazel build //...

Issues

Stack

  1. @ refactor(api/base): name the message queue option topic_keys #264
  2. docs(rfc): add message queue contract RFC #259
  3. feat(api/runway): add external merge queue contract #260
  4. feat(orchestrator): make merge-conflict check asynchronous via runway #245
  5. feat(merge): make merge asynchronous via runway #247

The message queue topic-binding option carries a stable LOGICAL topic key, not a concrete wire name: each implementer maps the key to whatever topic name its broker/queue requires (subject to that backend's naming constraints), and our Go wiring maps it via consumer.TopicRegistry. Rename the option topics -> topic_keys (E_Topics -> E_TopicKeys) and reframe its doc accordingly. Field number 50001 is unchanged, so the wire/extension layout is identical.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant