-
Notifications
You must be signed in to change notification settings - Fork 16
A task typed on Home can land in another project's repository #1466
Copy link
Copy link
Open
Labels
area:chatThe v3 surface a person sits in front of (internal/tui3)The v3 surface a person sits in front of (internal/tui3)area:sessionThe engine — turns, tasks, the toolbelt, checkpointsThe engine — turns, tasks, the toolbelt, checkpointsbugSomething the code does that it should notSomething the code does that it should notsev:criticalData loss, money spent wrongly, a false done, or the merge queue blockedData loss, money spent wrongly, a false done, or the merge queue blocked
Description
Activity
Metadata
Metadata
Assignees
Labels
area:chatThe v3 surface a person sits in front of (internal/tui3)The v3 surface a person sits in front of (internal/tui3)area:sessionThe engine — turns, tasks, the toolbelt, checkpointsThe engine — turns, tasks, the toolbelt, checkpointsbugSomething the code does that it should notSomething the code does that it should notsev:criticalData loss, money spent wrongly, a false done, or the merge queue blockedData loss, money spent wrongly, a false done, or the merge queue blocked
Seen on
dev@debffabf6.What happened
On 2026-09-24, a
/tasktyped directly on Home while Home showed project B opened a conversation attached to project A's still-running engine. The task commit landed in A; B was untouched. The same result occurred on #1410's merge-base. A plain message typed on Home stayed in B. One run also showedcould not start the task · the engine did not answer in timedespite the task having started elsewhere; that notice was observed once, not independently reproduced.Replication
Deterministic (no model). None yet: both launches need a conversation with a live engine, which today means a model.
Field (real models).
OPENROUTER_API_KEY,deepseek/deepseek-v4-flash,tmux; a few minutes and a few cents.cd "$A" && codeaf chat, send any message, then close the window. A's engine stays up.cd "$B" && codeaf chat. Home's seam readsproject:with B's folder./task write h0.txt containing h0and press enter.Today the conversation opens in A (its
meta.jsonworkspaceis A) and the committask: write h0.txt containing h0lands in A;git -C "$B" logis unchanged. Control: a plain message typed on Home in step 3 opens in B.Where
internal/tui3/home.go:3396atdev@debffabf6,homeStart, begins Home submissions;homeStartWithProjectat:3406delegates to target opening. Search/taskdispatch through that path and the hosted engine selection.The fix
Bind the Home draft's project to the new conversation and its engine before dispatching
/task. Refuse visibly if that binding cannot be established; never let an existing engine from another project answer it.Acceptance
codeaf chatin tmux, a Home/taskissued while A's engine lives creates and commits only in B; the conversation workspace field names B.invalidates.