fix(worker): block approve of a planning parent with an unfinished child, surface git stderr on ff failure

This commit is contained in:
mika kuns
2026-10-01 11:36:45 +02:00
parent a353897345
commit acd188bca9
5 changed files with 40 additions and 3 deletions
+2 -1
View File
@@ -23,7 +23,8 @@ There is no separate "Merge all" entry.
silently skipped there.
- **Everything else** — a childless task, or a parent whose children were absorbed into its unit
branch → `TaskMergeService.ApproveAndMergeAsync` on the task's own worktree. A conflict keeps
the task in `WaitingForReview`.
the task in `WaitingForReview`. A planning parent with any child not `Done` is `blocked` there
(`subtask X is not Done (status …)`, same as the orchestrator) — no half plan on the target.
- **Child of a unit** (parent has an `Active` worktree) → `ApproveAndMergeAsync` absorbs it into
the unit branch (`UnitBranchService.AbsorbChildAsync`, ff-only) instead of merging to the target.
- **No active worktree** (sandbox run) → straight to `Done`.