2.4 KiB
2.4 KiB
完了しました。
実施内容:
- Panel Orchestrator spawn path で、original workspace root 配下に専用 orchestration worktree を自動作成・再利用するようにしました。
- path:
<original-workspace-root>/.worktree/orchestration/<workspace-orchestrator-pod-name> - branch:
orchestration/<workspace-orchestrator-pod-name>
- path:
- clean な既存 orchestration Git worktree は reuse します。
- unsafe state は削除せず diagnostic で拒否します。
- path が directory でない
- Git worktree でない
- expected branch でない
- original workspace と Git common dir が異なる
- inherited parent worktree で expected path 自体が worktree top-level でない
- dirty orchestration worktree
- Orchestrator の
SpawnConfig.workspace_rootは orchestration worktree root になります。 TicketRoleLaunchContextには original workspace root / target workspace root を渡し、prompt 上でも original / implementation / target roots が見える形を維持します。- Panel diagnostic に created/reused worktree path/branch または failure reason を出すようにしました。
- tests を追加・更新しました。
- stable layout naming
- root population
- invalid existing path no-cleanup
- create/reuse
- dirty reuse refusal
- wrong branch refusal
- unrelated repo refusal
- inherited parent worktree refusal
- existing client prompt/spawn root behavior
Merge:
- Branch:
panel-orchestration-worktree - Implementation commit:
00e11b3d feat: launch orchestrator from worktree - Merge commit:
735b0c04 merge: panel orchestration worktree
確認:
- Branch-local reviewer
reviewer-panel-orchestration-worktreeが2回 request_changes 後、修正済み branch を approve。 cargo fmt --checkpassed。cargo test -p tui orchestration --libpassed。cargo test -p tui existing_ --libpassed。cargo test -p tui inherited_parent_worktree_directory_is_rejected_without_cleanup --libpassed。cargo test -p client ticket_role --libpassed。git diff --checkpassed。target/debug/yoi ticket doctorpassed。- typed
TicketDoctorは 0 errors / 3 pre-existing diagnostics。 nix build .#yoipassed。
残作業:
- なし。今後の改善として、Panel 表示上の orchestration worktree status をより詳細に常時表示することは follow-up として扱えます。