Skip to content

command: model the GetRateTariffResponse reply payload (field 12)#12

Merged
Bre77 merged 1 commit into
mainfrom
fm/proto-tariff-reply-publish
Jul 22, 2026
Merged

command: model the GetRateTariffResponse reply payload (field 12)#12
Bre77 merged 1 commit into
mainfrom
fm/proto-tariff-reply-publish

Conversation

@Bre77

@Bre77 Bre77 commented Jul 22, 2026

Copy link
Copy Markdown
Member

Intent

  • Field 12 (GetRateTariffResponse) was deliberately left reserved in command: fill in the CarServer.Response reply-payload oneof #10 pending a decision on whether to publish a rate-tariff type from an app-only namespace this package doesn't otherwise model. That decision is now made: publish it.
    • Push path confirmed: the same tariff document is already writable via SetRateTariffRequest (VehicleAction tag 55) and readable via GetRateTariffRequest (tag 56), both already modelled in this package - so the read reply is worth completing too.
    • Model GetRateTariffResponse by reusing SetRateTariffRequest.Seasons/SetRateTariffRequest.Tariff rather than re-declaring a separate namespace for the same document shape, based on our own observations and contributions from the community.
    • Un-reserving field 12 to model it trips buf's RESERVED_MESSAGE_NO_DELETE breaking check even though it's a wire-compatible addition (nothing on the wire ever actually used field 12 before). Excepted the rule repo-wide in buf.yaml rather than per-PR, since the fields-17/19 follow-up will hit the same thing.
    • Fields 17 (centerdisplay.server) and 19 (webrtc_comms) stay reserved - separate follow-up, different domains.
  • Regenerated both language packages; verified round-trip decode of Response.getRateTariffResponse.{seasons,tariff} in both TypeScript and Python.
  • buf lint, buf breaking, upstream coverage gate, and the reply-coverage gate are all green.
  • Adds a minor changeset (new oneof field + new message tree = wire-compatible addition).

Field 12 was left reserved in #10 pending a decision on whether to
publish a rate-tariff type from an app-only namespace this package
doesn't otherwise model. The captain decided to publish: the same
tariff document is already writable via SetRateTariffRequest (tag 55)
and readable via GetRateTariffRequest (tag 56), so the read reply is
worth modelling too.

Model GetRateTariffResponse by mirroring the tariff document already
declared for SetRateTariffRequest (Seasons/Tariff at tags 13/14),
based on our own observations and contributions from the community,
rather than re-declaring a separate namespace for a single reused
document shape.

Un-reserving field 12 trips buf's RESERVED_MESSAGE_NO_DELETE breaking
check even though it's a wire-compatible addition, so except it
repo-wide in buf.yaml - the same fields-17/19 follow-up will hit it
too.
@Bre77
Bre77 merged commit a3d8ee5 into main Jul 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant