fix(claude-do): fix(worker): Interaktive Session auf einem Nicht-Repo-Workin

Eine interaktive ("Quick") Session soll auf Pfaden, die kein Git-Repo sind, keinen Worktree erzwingen, sondern direkt im ausgewählten Ordner starten. Der User hat entschieden: BEIDE Einstiegspunkte prüfen — den task-gebundenen Pfad fixen, den Ad-hoc-Pfad verifizieren.

## Pfad 1 (der eigentliche Fix) — task-gebundene Session

- Einstieg: Kontextmenü der Task-Zeile "Open interactive session" — src/

ClaudeDo-Task: 15e126d564874973be2a5bbe7d796646
This commit is contained in:
mika kuns
2026-08-21 16:36:11 +02:00
parent 8dce2d0898
commit 0d1dd169ac
3 changed files with 142 additions and 25 deletions
+5 -4
View File
@@ -838,10 +838,11 @@ public sealed class WorkerHub : Microsoft.AspNetCore.SignalR.Hub
}
// Builds the launch spec an embedded ConPTY terminal (UI process) needs to open an
// interactive Claude session in a task's worktree -- same worktree prep as an
// autonomous run (session-skills seeding, run env vars), --resume if the task has a
// persisted session or a fresh-start spec otherwise. Guards: no running/queued task,
// and (once a worktree exists) it must be live on disk.
// interactive Claude session for a task -- same worktree prep as an autonomous run when
// the task's list points at a git repo (session-skills seeding, run env vars), or a
// worktree-less spec opening directly in the list's WorkingDir when it isn't a repo.
// --resume if the task has a persisted session or a fresh-start spec otherwise. Guards:
// no running/queued task, and (once a worktree exists) it must be live on disk.
public Task<LaunchSpec> GetInteractiveLaunchSpec(string taskId) => HubGuard(() =>
{
if (_interactiveLaunchSpec is null)