背景
autopilot の implement フェーズは worktree を develop から分岐し、PR も --base develop 固定で作る。
EPIC のサブ Issue を親 epic ブランチに積みたいケース(例: #827 → topic/koshien-epic-738)では、
implement の Claude が Issue 本文の宣言を読んでたまたま正しい base を選べたが、保証が無かった。
やること(防御的対応)
Issue 本文で base ブランチが明示されていれば、autopilot が確実にその base を使う:
parseBaseBranch(body)(純粋関数)で base を抽出:
autopilot-base: <branch> ディレクティブ(最優先、HTML コメント可)
- 「## ベースブランチ」/「base branch」セクション直後のバッククォート囲みブランチ
- 宣言が無ければ null(= 既定 develop)
- daemon が新ブランチを切るフェーズ(implement)で base を解決し、
bin/autopilot-worktree に
base-ref として渡す + skill へ AUTOPILOT_BASE_BRANCH で渡す。
bin/autopilot-worktree は非 develop base のブランチを fetch して origin/<branch> に正規化。
- implement スキルは
gh pr create --base "${AUTOPILOT_BASE_BRANCH:-develop}"。
受け入れ条件
背景
autopilot の implement フェーズは worktree を develop から分岐し、PR も
--base develop固定で作る。EPIC のサブ Issue を親 epic ブランチに積みたいケース(例: #827 →
topic/koshien-epic-738)では、implement の Claude が Issue 本文の宣言を読んでたまたま正しい base を選べたが、保証が無かった。
やること(防御的対応)
Issue 本文で base ブランチが明示されていれば、autopilot が確実にその base を使う:
parseBaseBranch(body)(純粋関数)で base を抽出:autopilot-base: <branch>ディレクティブ(最優先、HTML コメント可)bin/autopilot-worktreeにbase-ref として渡す + skill へ
AUTOPILOT_BASE_BRANCHで渡す。bin/autopilot-worktreeは非 develop base のブランチを fetch してorigin/<branch>に正規化。gh pr create --base "${AUTOPILOT_BASE_BRANCH:-develop}"。受け入れ条件
parseBaseBranchの node:test を追加