feat(server): merge projects atomically and stop phantom cwd projects - #12
Merged
Merged
Conversation
- Auto-bootstrap looked up projects by the server process cwd only; a pnpm-filtered start (cwd=apps/server) silently created a duplicate project named after the subdirectory, splitting threads across projects - Bootstrap now checks the exact cwd first, then falls back to the cached repository-root lookup before creating anything, so an existing repo-root project is always reused - Add thread.project.set and project.merge commands through the decider so a project's threads can move atomically in one transaction, guarded against unrelated workspace roots; t3 project merge <src> <tgt> wraps it - Client thread reducer applies thread.project-set so open threads track their new project live Built by Claude Fable 5 via Claude Code with GPT-5.6-Sol via Codex CLI.
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.
What Changed
project mergesupport to move active threads into another project and delete the source atomically.Why
Project merges previously required inconsistent manual updates and could leave thread projections out of sync. This change makes project consolidation transactional, preserves workspace-root safety, and prevents startup from registering duplicate or phantom cwd projects.
UI Changes
No UI changes.
Checklist