Skip to content

fix: refresh authenticated module viewer request bindings - #48

Draft
crisfiorini-oss wants to merge 2 commits into
codefly-dev:mainfrom
crisfiorini-oss:fix/authenticated-viewer-projection
Draft

crisfiorini-oss wants to merge 2 commits into
codefly-dev:mainfrom
crisfiorini-oss:fix/authenticated-viewer-projection

Conversation

@crisfiorini-oss

@crisfiorini-oss crisfiorini-oss commented Oct 29, 2026 •

Copy link
Copy Markdown

Summary

Refresh the SDK to the exact deployed host contract at 37b6003d4b21046916d53f8e94677a4b57beb2e3. Documents currently sends a viewer capability as its own module proof, and the host correctly rejects the call. The updated messages let consumers authenticate their module separately and pass the viewer in the request body.

Changes

Regenerate the complete SaaS schema with the existing pinned Buf/plugins and include the installation schema that SaaS now references. Record the exact source and keep generated diffs collapsed through .gitattributes. No host authorization rule is weakened and no SDK release is published.

Build or reuse: examined the existing SaaS SDK, the host-owned source-read SDK, the published proto and Documents main. Reuse the existing organization-scoped moduleauthority.Client and regenerate this SDK; importing both SDKs into the legacy consumer would register two copies of the same protobuf descriptors.

Testing

Focused module-credential cache regression and public API boundary check pass. Generation used the documented SDK Buf 1.73.0 procedure with unchanged plugin pins; released Codefly 0.1.221 rejected the external template/source layout. Full suites and real host-gateway conformance run in CI.

Open questions / Next steps

Draft pending CI. The legacy Documents consumer update and deployed browser acceptance are separate; this PR alone does not establish document access.

The Robin backport also needs Client.ForOrganization: a lightweight child using the existing transport with a separate credential cache, canonical organization validation and refusal to switch an already-bound client. Two-organization cache-isolation tests and the public API boundary test pass. Consumer: obin-ai/module-robin#626.

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