Follow-up from #287 (see PR #288 review, finding D3).
The Solution proto service (proto/codefly/services/solution/v0/solution.proto) exposes Package (pushes an OCI artifact — network write) and Render (writes into a gitops repo — filesystem/git mutation) with no host-enforceable effect/network declaration, unlike provider.proto which binds a provider_method_policy (network mode + effect ceiling) to every RPC.
We deliberately did not add an enforcement extension in #287 because there is no host-side broker to enforce it yet — an unenforced policy annotation would be decorative (the exact smell finding D2 targeted). This issue tracks doing it for real:
Until then the RPC contract documents its side effects only in comments; nothing enforces them.
Follow-up from #287 (see PR #288 review, finding D3).
The
Solutionproto service (proto/codefly/services/solution/v0/solution.proto) exposesPackage(pushes an OCI artifact — network write) andRender(writes into a gitops repo — filesystem/git mutation) with no host-enforceable effect/network declaration, unlikeprovider.protowhich binds aprovider_method_policy(network mode + effect ceiling) to every RPC.We deliberately did not add an enforcement extension in #287 because there is no host-side broker to enforce it yet — an unenforced policy annotation would be decorative (the exact smell finding D2 targeted). This issue tracks doing it for real:
provider_method_policy.Create/Update/Package/Render) with its true effect.Until then the RPC contract documents its side effects only in comments; nothing enforces them.