Skip to content

chore(definitions): delete the vendored protos and their codegen - #1326

Merged
bmc08gt merged 1 commit into
code/cashfrom
chore/remove-vendored-protos
Aug 25, 2026
Merged

chore(definitions): delete the vendored protos and their codegen#1326
bmc08gt merged 1 commit into
code/cashfrom
chore/remove-vendored-protos

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #1325. With :services:opencode and :services:flipcash compiling against com.flipcash:{ocp,flipcash2}-client-protocol, the four :definitions:* modules generate output nobody depends on.

Nothing outside definitions/ referenced them — the models modules were consumed only by the services, and the protos modules only by their own models — so the whole directory goes, along with scripts/fetch-protos.sh, which pulled the .proto copies that are no longer here.

That leaves the protobuf Gradle plugin and the protovalidate plugin applied nowhere, so their catalog aliases and the protobuf-plugin version go too. The protobuf, grpc-kotlin, and protovalidate-kt versions stay: the runtime artifacts they pin are still dependencies of the services and libs/encryption.

Docs

/fetch-protos and docs/architecture/13 described a workflow that no longer exists — fetch upstream .protos, run protoc here, build :definitions:*:models. Both are rewritten around what actually happens now: find the release, bump the pin, diff the contract between tags with gh api .../compare, build the service module. The skill keeps its scaffolding half, which is unaffected by any of this.

Smaller edits follow the same thread through CLAUDE.md, the root README, the architecture docs' module tables and dependency graphs, the glossary, both service READMEs, proto-change-tracer, and the definitions/** globs in the PR labeler.

:services:opencode and :services:flipcash now compile against
com.flipcash:{ocp,flipcash2}-client-protocol (#1325), so the four :definitions:*
modules generate output nobody depends on. Nothing outside definitions/ referenced
them — the models modules were consumed only by the services, and the protos
modules only by their own models — so the whole directory goes, along with
scripts/fetch-protos.sh, which pulled the .proto copies that are no longer here.

That leaves the protobuf Gradle plugin and protovalidate plugin applied nowhere,
so their catalog aliases and the protobuf-plugin version go too. The protobuf,
grpc-kotlin, and protovalidate-kt versions stay: the runtime artifacts they pin
are still dependencies of the services and libs/encryption.

Docs and the /fetch-protos skill described a workflow that no longer exists —
fetch upstream .protos, run protoc here, build :definitions:*:models. Rewritten
around what actually happens now: find the release, bump the pin, diff the
contract between tags, build the service module. The skill keeps its scaffolding
half, which is unaffected. 13-protobuf-and-codegen.md is largely rewritten.

Verified on device: 603 opencode and 220 flipcash unit tests pass, the debug APK
builds and installs, and the launched app reaches a signed-in session with live
balances over real RPCs.
@bmc08gt
bmc08gt requested a review from jeffyanta as a code owner August 25, 2026 16:35
@github-actions github-actions Bot added type: chore Maintenance, config, CI/CD area: network gRPC, connectivity, API, exchange rates area: build-system Gradle, convention plugins, build-logic labels Aug 25, 2026
@bmc08gt
bmc08gt merged commit 6da2e6d into code/cash Aug 25, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the chore/remove-vendored-protos branch August 25, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build-system Gradle, convention plugins, build-logic area: network gRPC, connectivity, API, exchange rates type: chore Maintenance, config, CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant