Skip to content

Reject workspace scope mismatches and release 26.10.4 - #84

Merged
ancongui merged 3 commits into
mainfrom
release/26.10.4
Oct 14, 2026
Merged

ancongui merged 3 commits into
mainfrom
release/26.10.4

Conversation

@ancongui

Copy link
Copy Markdown
Contributor

Workspace creation currently reaches PostgreSQL with a body id that can disagree with X-Workspace-Id. Under the production RLS role, that request fails as HTTP 500. Reject the mismatch at the controller boundary with 400 workspace_scope_mismatch, before storage or lifecycle-event publication. Matching creation retains 201 and its existing WorkspaceSpec response.

Update the workspace reference and Python/Java SDK instructions to match the actual header scope, list behavior and not-found code. Align server and SDK release metadata at 26.10.4; the locked dependency graph, RLS policies, SDK methods and wire schemas remain unchanged.

Validation: 1,219 native unit tests and 52 integration tests pass; three optional backend integrations are skipped. The release metadata passes 23 focused controller/OpenAPI tests, 61 Python SDK tests, 62 Java SDK tests, Ruff and Pyright. Fresh installed-server checks use a non-bypass PostgreSQL role and actual HTTP. Both the published Python SDK 26.10.3 and staged 26.10.4 pass creation, scope, credential and error checks. A separate SDK-only installation verifies 201, persisted reads, 400, foreign-tenant 404, newest-first tenant listing through the configured admin connection, and the SDK version header.

Lifecycle events retain their existing best-effort delivery after a successful workspace write. The platform key remains trusted operator authority; this patch does not add tenant-bound key grants.

@ancongui
ancongui merged commit 5ae3ca8 into main Oct 14, 2026
7 checks passed
@ancongui
ancongui deleted the release/26.10.4 branch October 14, 2026 23:52
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