fix(workspaces): persist durable workspace identity - #2
Merged
Conversation
Add projection-backed workspace records and repair workspace grouping when threads move between branch, local, and worktree contexts. Harden desktop dev sandbox startup so the workspace layout can be verified reliably.
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.
Summary
Workspace grouping now stays stable when chats move between local, branch, and worktree contexts. A chat that moves into a concrete worktree gets its own durable workspace identity instead of relabeling sibling chats that still belong to the original branch.
The desktop sandbox also starts reliably enough to verify the workspace layout end-to-end: dev launches sanitize stale environment state, register the dev protocol correctly, tolerate broken stdout/stderr pipes, and allow the dev app origin through server CORS.
Details
WorkspaceIds and workspace metadata in snapshots.dev:sandboxavoids stale launcher/env state and no longer crashes on broken pipe logging during local verification.Validation
pnpm exec vp test apps/server/src/orchestration/Layers/ProjectionPipeline.test.ts apps/server/src/orchestration/projector.test.ts apps/web/src/components/ChatView.logic.test.ts apps/web/src/components/Sidebar.logic.test.tspnpm exec vp run typecheckpnpm exec vp checkdev:sandboxwith Node 24 and verified migration34_RebuildProjectionWorkspacesrepaired the sandbox DB: oldfeat/enhancementschats remained underfeat/enhancements, while the moved chat stayed undert3code/handle-greeting.