Repository navigation
fix(companions): take proto 0.0.18 and qualify Python streaming against the published image - #1168
Merged
Merged
Conversation
…st the published image Core moves the proto companion to 0.0.18 (codefly-dev/core#838) so the streaming Python facade ships under a tag no machine has cached; 0.0.17 names two images. This pins that core. The companions workflow's standing verify job (daily and on release) now runs TestGenerateClientPythonStreaming against the companion pulled fresh on the runner, and names the image's digest when it fails. A tag republished with different content passes the registry presence check and fails here. Moving core past 200e819 (#836) needs two adaptations: ProtobufProcedures takes the endpoint, and the module-contract kit's new roles-grant- bindings fixture needs its documents and replica audiences supplied. Both resolve to documents: a role's spelled-out scope is held at the one audience that underwrites it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #1161 and codefly-dev/core#837. Also covers r46's major on #1161.
Why
proto:0.0.17names two images: the first has the old Python facade plugin, which renders every RPC asunary, and the republished one streams. A machine that cached the first keeps it. codefly-dev/core#838 moves the companion to 0.0.18, so the streaming facade ships under a fresh tag. Core also gains a CI check that refuses an unbumped companion change.Change
9386c6bf(v0.19.7-0.20261025230614-9386c6bf7521). Onlygo get, no tidy; go.sum gains the two new lines..github/workflows/companions.yaml, verify job ("Verify embedded companion tags": daily at 06:00 and on release):CODEFLY_GENERATE_QUALIFY=1 go test ./cmd/generate -count=1 -run '^TestGenerateClientPythonStreaming$'against the companion pulled fresh on the runner;docker images --digestsforghcr.io/codefly-dev/proto, so the run names the image it qualified.A tag republished with different content passes the registry presence check before it and fails here.
actionlintis clean.cmd/generate/contract_surface.go:composition.ProtobufProceduresnow takes the endpoint (it also checks the endpoint's package).pkg/gitops/wire_kits_test.go: core's new kit fixtureroles-grant-bindingsreadsassistant/documents-audienceandassistant/replica-audience. The kit's environment now supplies both, asdocuments. That fixture holds a role's spelled-out scope at the one audience that underwrites it. With two different audiences the derivation refuses it as ambiguous (I checked:role installer grants documents:read, which is underwritten at documents and model-gateway), sodocumentsfor both is the faithful value.Order
core_ref= that merge commit, to publishproto:0.0.18.9386c6bfstays reachable either way).The new verify step runs on schedule and release only, so it does not run on this PR.
Evidence
go build ./...,go vet ./...,go test ./cmd/generate/ ./pkg/...pass locally.pkg/gitopswas red on the bumped core before the kit edit and green after; it is green on main with the old core.0.0.18, which is not published yet.TestGenerateClientPythonStreamingpassed locally against the published0.0.17(sha256:46e8b398) when test(generate): a Python client streams all four RPC shapes through the companion #1161 landed.Classification
Fix. Version discipline lives in core (#838); this repo takes the version and qualifies the published image on its standing gate. The two adaptations follow core's API change and fixture; neither works around one.
🤖 Generated with Claude Code