feat(mcp): update_task kann isManual setzen + List-Handler stellt seinen Task auf Review

Teil A: update_task bekommt einen optionalen isManual-Parameter (null =
unveraendert); TaskDto/TaskRefDto spiegeln IsManual zurueck.

Teil B: neuer submit_task_for_review MCP-Tool (LifecycleMcpTools) laesst
einen Handler-Task selbst auf WaitingForReview gehen -- fuer einen
worktree-losen Task wird HandlerHeadCommit vom aktuellen HEAD gestempelt,
sonst werden offene Aenderungen committet. Die Submit-Logik ist aus
WorkerHub.SubmitTaskForReview in InteractiveReviewSubmissionService
extrahiert; der Hub ruft sie jetzt nur noch auf. Der Merge-Prompt-Default
weist die Endzweige (merge ohne Rerun, merge_final) an, den eigenen
Handler-Task nach der Summary einzureichen.
This commit is contained in:
mika kuns
2026-08-21 16:51:18 +02:00
parent 36720d33ae
commit ea2271cc3e
9 changed files with 325 additions and 76 deletions
+3 -3
View File
@@ -530,9 +530,9 @@ public static class PromptFiles
## Handoff / end
- If you started any reruns: call handoff_list_handler(taskId, <the rerun task ids>, nextPhase: "wait_final"), then stop your turn immediately do not merge anything yet that you just restarted.
- If your own phase was "merge_final": never start a rerun, no matter how tempting just merge what you can, report the rest, and print the summary below.
- Otherwise (no reruns started, phase was "merge"): print the summary below and stop; there is nothing left to hand off.
- If you started any reruns: call handoff_list_handler(taskId, <the rerun task ids>, nextPhase: "wait_final"), then stop your turn immediately do not merge anything yet that you just restarted. Do NOT submit this run for review yet the chain isn't finished.
- If your own phase was "merge_final": never start a rerun, no matter how tempting just merge what you can, report the rest, print the summary below, then call submit_task_for_review(taskId) on this session's own handler task id so its diff becomes reviewable.
- Otherwise (no reruns started, phase was "merge"): print the summary below, then call submit_task_for_review(taskId) on this session's own handler task id there is nothing left to hand off.
## Phase 5 Summary
Print one line per task from the brief: