feat(chat): resolve org-chat mentions in their owner workspace and let chat tag a whole workspace - #8310
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 16 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
…t chat tag a whole workspace
…r each owned kind
…rt its control route by outcome
65b9955 to
fa5a114
Compare
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
Summary
resolveInvocationWorkspace(once per workspace, however many tags share it), and is prefixedWorkspace <id>:like skills and resource tabs already wereWorkspaceOwnedowner field and oneisWorkspaceOwnedContextguard (lib/mothership/chat/context-ownership.ts) used by both the prompt editor and the server — replaces the untypedworkspaceIdspreadworkspacecontext kind: each workspace submenu in the org+menu now opens with the workspace itself as an attachable first row (same pattern as a folder's self-row). The server describes it through the existingreadWorkspaceContextdiscovery use case, so a tag reveals nothing discovery wouldn't; an inaccessible or out-of-org workspace resolves to nothing. No worker contract change — the mention tells the model which workspace id to target; every tool call is still explicitly scoped and re-authorizeduseOrderedWorkspacesQuery, and show the workspaceIdentityTileType of Change
Testing
Type-check,
lint:check,check:audits(49 audits), block registry, and docs manifest pass. New process-contents tests: owner-workspace resolution and the workspace mention fail on the pre-fix code; the unauthorized-owner and unknown-workspace guards fail when authorization is bypassed. Not yet exercised in a running org chat.Checklist
test-auditauthoring gate)