diff --git a/docs/superpowers/specs/2026-04-22-worktree-merge-design.md b/docs/superpowers/specs/2026-04-22-worktree-merge-design.md index f70ae35..2a4c4a3 100644 --- a/docs/superpowers/specs/2026-04-22-worktree-merge-design.md +++ b/docs/superpowers/specs/2026-04-22-worktree-merge-design.md @@ -173,7 +173,7 @@ User clicks Merge (Details island or DiffModal) | `list.WorkingDir` null | `("blocked", [], "list has no working directory")` | | Merge conflict | `("conflict", [files], null)` — target auto-restored | | Unknown git failure | `HubException` with stderr | -| Post-merge cleanup fails | Log a warning; merge already succeeded, state already `Merged`. Return `("merged", [], null)` with a note in `ErrorMessage`. | +| Post-merge cleanup fails | Log a warning; merge already succeeded, state already `Merged`. Return `("merged", [], "cleanup: {reason}")` — `Status=="merged"` with a non-null `ErrorMessage` means the merge went through but the worktree couldn't be removed. UI surfaces this as a yellow note, not a failure. | ## Testing