ticket-takedown: start and finish its worktree via /os:worktree #957

Closed
opened 2026-10-05 17:02:55 +00:00 by jared · 2 comments
Owner

Problem

plugins/os-sdlc/skills/ticket-takedown/SKILL.md has no worktree step and no cleanup step. Only os-sdlc:implement calls /os:worktree finish (implement/SKILL.md:163). When implement is blocked (cc-os #864/#859), a takedown run falls back to freeform TDD and nothing removes the worktree.

Evidence: cc-plugins session 262f79ce (2026-10-05) ran takedowns for tickets #83, #86, #87. It made worktrees by hand (git worktree add -q -b ticket-$n-impl "$wt" origin/main), merged via a subagent with plain git rebase main + git merge --no-ff, told it "Do not remove worktrees", and reported finished. Three merged worktrees remained at /home/jared/dev/cc-plugins-wt/ticket-{83,86,87}. Two held uncommitted docs/takedown/scratch-* files, which became the reason to keep them.

Approach

ticket-takedown calls /os:worktree start before implementation and /os:worktree finish after merge, whichever path the run takes (pipeline or freeform). Agents never create worktrees by hand. Scratch files are committed or deleted; they are not a reason to keep a worktree.

Required work: none beyond the acceptance criteria.

Acceptance criteria

  1. After a takedown run, git worktree list shows no worktree for the ticket.
  2. After a takedown run, the ticket branch is merged and deleted.

Discoverer: /home/jared/dev/cc-plugins, session 6b76ee92-4cf9-4498-b0ba-06ee55ac21b0, 2026-10-05. Takedown runs in session 262f79ce left merged worktrees behind because ticket-takedown has no worktree start/finish step.

## Problem `plugins/os-sdlc/skills/ticket-takedown/SKILL.md` has no worktree step and no cleanup step. Only `os-sdlc:implement` calls `/os:worktree finish` (implement/SKILL.md:163). When implement is blocked (cc-os #864/#859), a takedown run falls back to freeform TDD and nothing removes the worktree. Evidence: cc-plugins session 262f79ce (2026-10-05) ran takedowns for tickets #83, #86, #87. It made worktrees by hand (`git worktree add -q -b ticket-$n-impl "$wt" origin/main`), merged via a subagent with plain `git rebase main` + `git merge --no-ff`, told it "Do not remove worktrees", and reported finished. Three merged worktrees remained at /home/jared/dev/cc-plugins-wt/ticket-{83,86,87}. Two held uncommitted docs/takedown/scratch-* files, which became the reason to keep them. ## Approach ticket-takedown calls `/os:worktree start` before implementation and `/os:worktree finish` after merge, whichever path the run takes (pipeline or freeform). Agents never create worktrees by hand. Scratch files are committed or deleted; they are not a reason to keep a worktree. Required work: none beyond the acceptance criteria. ## Acceptance criteria 1. After a takedown run, `git worktree list` shows no worktree for the ticket. 2. After a takedown run, the ticket branch is merged and deleted. -------- **Discoverer:** /home/jared/dev/cc-plugins, session 6b76ee92-4cf9-4498-b0ba-06ee55ac21b0, 2026-10-05. Takedown runs in session 262f79ce left merged worktrees behind because ticket-takedown has no worktree start/finish step.
Author
Owner

Related: #864, #859. These block the os-sdlc implement pipeline. While they are open, a takedown run falls back to freeform TDD, never reaches the /os:worktree finish step in implement, and leaves its worktree behind. This ticket removes that dependency by giving ticket-takedown its own start and finish steps.

Related: #864, #859. These block the os-sdlc implement pipeline. While they are open, a takedown run falls back to freeform TDD, never reaches the `/os:worktree finish` step in implement, and leaves its worktree behind. This ticket removes that dependency by giving ticket-takedown its own start and finish steps.
Author
Owner

Resolution

Done: ticket-takedown SKILL.md step 4 now states the worktree hand-off: on the pipeline path /os-sdlc:implement runs /os:worktree start and finish; on the freeform path the skill runs start before the first edit and finish after merge-ready; scratch files are committed or deleted; done when no ticket worktree remains and the branch is merged.

Evidence: Commit aed4a605 (merged to main a059ba70). Takedown run on #1004 (docs/takedown/1004-20261014-124517) plus implementation 44: after worktree finish, git worktree list shows no worktree and git branch shows no branch for 1004; prism-architect merged into main. Limit: the run used the persistent prism-architect worktree, so the freeform-path text was not exercised; the edited skill loads from the next session.

Follow-ups: none

## Resolution **Done:** ticket-takedown SKILL.md step 4 now states the worktree hand-off: on the pipeline path /os-sdlc:implement runs /os:worktree start and finish; on the freeform path the skill runs start before the first edit and finish after merge-ready; scratch files are committed or deleted; done when no ticket worktree remains and the branch is merged. **Evidence:** Commit aed4a605 (merged to main a059ba70). Takedown run on #1004 (docs/takedown/1004-20261014-124517) plus implementation 44: after worktree finish, git worktree list shows no worktree and git branch shows no branch for 1004; prism-architect merged into main. Limit: the run used the persistent prism-architect worktree, so the freeform-path text was not exercised; the edited skill loads from the next session. **Follow-ups:** none
jared closed this issue 2026-10-14 17:40:33 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#957
No description provided.