放置worktreeの棚卸し — work-item状態を先に戻してから削除する
AIエージェントがworktreeを作成してタスクに着手すると、対応するwork-itemが in-progress に遷移する。PRを作らず中断したworktreeが溜まると、work-itemが実態と合わない状態で残り続ける。
仕組み:
- worktreeの一覧を取得し、各ブランチの状態(PRの有無、未マージコミット、mainとの差分)を確認する
- PRなし+mainと同一 → 安全に削除可能
- PRなし+未マージコミットあり → 内容を確認して判断(大抵は中途半端な実装で再実装可能)
in-progress/in-reviewのwork-itemをreadyに戻す- その後worktreeとブランチを削除する
棚卸しの手順:
- 全worktreeを列挙し、各ブランチのPR有無・未マージコミット・mainとの差分を確認する
- タスク管理の状態を実態に合わせて復元する(in-progress → ready 等)
- その後にworktreeとブランチを削除する
順序が重要で、2→3の順でないとタスク管理側に不整合が残る。
やってみてどうだったか:
- 9つのworktreeが溜まっており、5件のwork-itemの状態修正が必要だった。エージェントが自律的にworktreeを作るプロジェクトでは、定期的な棚卸しが要る
- 「worktree削除」と「work-item状態の復元」を別々にやると不整合が残る。状態を戻すのが先、削除は後の順序が重要
- 次はworktree作成時にタイムアウトや自動クリーンアップの仕組みを入れたい