Skip to content

chore(proto): drop vendored Go/Python client stubs#728

Merged
lakhansamani merged 2 commits into
mainfrom
chore/drop-vendored-client-stubs
Jul 24, 2026
Merged

chore(proto): drop vendored Go/Python client stubs#728
lakhansamani merged 2 commits into
mainfrom
chore/drop-vendored-client-stubs

Conversation

@lakhansamani

Copy link
Copy Markdown
Contributor

Summary

Go and Python client stubs now live in dedicated, BSR-driven packages consumed as real versioned dependencies — authorizer-proto-go and authorizer-proto-python — so the vendored gen/go-client and gen/python trees in this repo are now dead weight and a fresh source of drift (the very drift behind #726). This removes them.

⚠️ Merge ordering

Merge after authorizerdev/authorizer-go#23 and authorizerdev/authorizer-py#9 land and authorizer-proto is published to PyPI. Until the SDKs cut over, these trees are their fallback.

Changes

  • Remove gen/go-client/ and gen/python/.
  • proto/buf.gen.clients.yaml: drop the go/python plugins + the now-dead go_package_prefix override; keep only the TS (protobuf-es) plugin.
  • Makefile + .github/workflows/buf.yml: retarget the client-stub staleness gate (proto-check-clients) to gen/ts only.

Why gen/ts stays

authorizer-js speaks GraphQL/REST (browsers can't do raw gRPC) and its public API is deliberately snake_case, while protobuf-es generates camelCase TS property names (not configurable). So authorizer-js keeps hand-typed transport and only reuses these generated message shapes — it is intentionally out of scope for the proto-package migration.

Not fixed here (pre-existing, unrelated)

gen/ts has a small pre-existing drift vs current BSR googleapis (google/api descriptor option bytes). It is orthogonal to this change and left untouched to keep the diff surgical.

Not self-merging — structural/CI change, leaving for review.

Go and Python client stubs now live in dedicated, BSR-driven packages
(authorizer-proto-go, authorizer-proto-python) consumed as real versioned
dependencies, so the vendored gen/go-client and gen/python trees are dead
weight and a fresh source of drift.

- Remove gen/go-client and gen/python.
- buf.gen.clients.yaml: drop the go/python plugins + go_package_prefix
  override; keep only the TS (protobuf-es) plugin that authorizer-js consumes.
- Makefile/buf.yml: retarget the client-stub staleness gate to gen/ts only.

gen/ts stays: authorizer-js speaks graphql/rest (not gRPC) and its surfaces
are snake_case, so it keeps hand-typed transport but reuses these message
shapes.

Merge AFTER authorizer-go#23 and authorizer-py#9 land and authorizer-proto
is published to PyPI — until then these trees are the SDKs' fallback.
buf.gen.clients.yaml dropped its managed-mode go_package_prefix override
(no longer needed - the Go/Python client generation blocks it applied to
are gone) but gen/ts itself was never regenerated under the resulting
config, leaving stale Go-specific metadata baked into its embedded
descriptors. make proto-check-clients now passes.
@lakhansamani
lakhansamani merged commit 4ec2864 into main Jul 24, 2026
6 checks 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