Part of #1115.
What
On bind, allocate a worktree for the chosen project and continue the same conversation there. This is the one genuinely new engineering piece in the epic.
Why it is the keystone
A run's project membership is structural, not a stored field: RunMeta has no project id or persisted cwd (store/run-store.ts:69-150) — a run simply is whichever .the-framework/ directory it lives in. The detached child is spawned with --cwd baked into argv and there is no re-homing anywhere today (daemon-runtime.ts:399-447).
Approach
Reuse the existing continue-run machinery (#762: continueWorkspace, --continue-run, --resume-session) to respawn the conversation in the newly allocated worktree, preserving the agent session so the chat continues unbroken.
Delta to validate during build
Continue-run today re-homes into the same project's worktree; a topic must continue into a newly chosen project. That is the load-bearing detail to prove out.
Part of #1115.
What
On bind, allocate a worktree for the chosen project and continue the same conversation there. This is the one genuinely new engineering piece in the epic.
Why it is the keystone
A run's project membership is structural, not a stored field:
RunMetahas no project id or persisted cwd (store/run-store.ts:69-150) — a run simply is whichever.the-framework/directory it lives in. The detached child is spawned with--cwdbaked into argv and there is no re-homing anywhere today (daemon-runtime.ts:399-447).Approach
Reuse the existing continue-run machinery (#762:
continueWorkspace,--continue-run,--resume-session) to respawn the conversation in the newly allocated worktree, preserving the agent session so the chat continues unbroken.Delta to validate during build
Continue-run today re-homes into the same project's worktree; a topic must continue into a newly chosen project. That is the load-bearing detail to prove out.