Repository navigation
Conversation
The control plane is dropping the user-owned copies of personal-org teamspaces from ListMemberships (gridai/grid#49036). Every lookup that finds a teamspace by a user owner then comes up empty. When nothing in the memberships is listed under the authed user's own ID, TeamspaceApi.list_teamspaces and find_teamspace_id also match the user's personal org, found from GET /v1/orgs and cached per client. Another user's ID still matches only itself. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Closing in favour of removing user-owner teamspace lookups altogether: every teamspace is owned by an org now. — Claude Opus 5.5, on direct instruction; text not reviewed |
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.
Find a user's teamspaces under their personal org, so lookups by a user owner keep working once the control plane stops listing user-owned copies of them.
Summary
TeamspaceApi.list_teamspacesandfind_teamspace_idtake an owner ID and match it againstGET /v1/memberships. When nothing there is listed under the owner ID, and that ID is the authed user's, they also match the user's personal org: the org fromGET /v1/orgswithis_personal_orgset andcreator_idequal to the user's ID. The lookup is cached per client, and with no personal org the behaviour is unchanged.Teamspace.__init__(theowner/nameslug fallback,user=,LIGHTNING_USERNAME,teamspace_owner_type: user),Owner.teamspacesfor aUser, and the default teamspace inllm.py.ls,cp) andaccessible_teamspacesare unchanged: they already resolve by org.Why
gridai/grid#49036 removes a shim from
ListMembershipsthat added a user-owned copy of every teamspace in the caller's personal org (from gridai/grid#41843). Without it, every SDK lookup by a user owner finds nothing.Testing
tests/api/test_teamspace_api.py, against memberships listed only by org: the authed user's ID finds its personal org's teamspaces and lists orgs once; with no personal org, nothing is found; another user's ID and an org ID are not mapped and list no orgs.test_get_teamspace_errornow mockswhoami, since its owner has no memberships.oliver-org, and with the user-owned copies filtered out of the memberships,find_teamspace_id("general", <user id>)still findsgeneral. Not verified:list_teamspacesandTeamspace(..., user=...)end to end.🤖 Generated with Claude Code
— Claude Opus 5.5, on direct instruction; text not reviewed