From 02979cb76fcf4a215bf884cb0f89ca8209d078d7 Mon Sep 17 00:00:00 2001 From: Hare Date: Thu, 11 Jun 2026 16:42:35 +0900 Subject: [PATCH] ticket: accept panel orchestration worktree --- .../artifacts/orchestration-plan.jsonl | 1 + .yoi/tickets/00001KTTHP8HE/item.md | 6 +- .yoi/tickets/00001KTTHP8HE/thread.md | 96 +++++++++++++++++++ 3 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 .yoi/tickets/00001KTTHP8HE/artifacts/orchestration-plan.jsonl diff --git a/.yoi/tickets/00001KTTHP8HE/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KTTHP8HE/artifacts/orchestration-plan.jsonl new file mode 100644 index 00000000..f64499eb --- /dev/null +++ b/.yoi/tickets/00001KTTHP8HE/artifacts/orchestration-plan.jsonl @@ -0,0 +1 @@ +{"id":"orch-plan-20260611-074227-1","ticket_id":"00001KTTHP8HE","kind":"accepted_plan","accepted_plan":{"summary":"Add Panel/launcher support for dedicated Orchestrator orchestration worktree creation/reuse under original workspace `.worktree/orchestration/`, populate TicketRoleLaunchContext roots so Orchestrator runtime workspace/Ticket backend root is the orchestration worktree while original/target roots point to the panel workspace, add safe reuse/diagnostics without destructive cleanup, and test naming/reuse/root population/spawn config/prompt context.","branch":"panel-orchestration-worktree","worktree":"/home/hare/Projects/yoi/.worktree/panel-orchestration-worktree","role_plan":"Orchestrator implements directly in a dedicated implementation worktree because live profile/delegation refresh limitations still make coder Pod write delegation unreliable. Use read-only reviewer, then continue through merge/close under standing merge authority if approved and validation passes."},"author":"orchestrator","at":"2026-06-11T07:42:27Z"} diff --git a/.yoi/tickets/00001KTTHP8HE/item.md b/.yoi/tickets/00001KTTHP8HE/item.md index d7ebf8ff..230cf272 100644 --- a/.yoi/tickets/00001KTTHP8HE/item.md +++ b/.yoi/tickets/00001KTTHP8HE/item.md @@ -1,9 +1,11 @@ --- title: 'Panel Orchestrator起動時に専用orchestration worktreeを自動作成・再利用する' -state: 'planning' +state: 'inprogress' created_at: '2026-06-11T05:15:14Z' -updated_at: '2026-06-11T05:15:14Z' +updated_at: '2026-06-11T07:42:27Z' assignee: null +queued_by: 'workspace-panel' +queued_at: '2026-06-11T07:41:37Z' --- ## 背景 diff --git a/.yoi/tickets/00001KTTHP8HE/thread.md b/.yoi/tickets/00001KTTHP8HE/thread.md index 2964d832..edac6bfb 100644 --- a/.yoi/tickets/00001KTTHP8HE/thread.md +++ b/.yoi/tickets/00001KTTHP8HE/thread.md @@ -5,3 +5,99 @@ LocalTicketBackend によって作成されました。 --- + + + +## Plan + +## Intake refinement + +Readiness: implementation_ready + +この Ticket は既存 Ticket `00001KTTB479X` の follow-up 境界として明確であり、Panel / workspace Orchestrator lifecycle で dedicated orchestration worktree を実際に作成・再利用し、その worktree を Orchestrator の runtime workspace / Ticket backend root として起動する具体的な work item になっている。 + +Orchestrator が routing できる判断材料: +- 目的、背景、要件、受け入れ条件、非目標が Ticket body に揃っている。 +- `role_workspace_root` / `original_workspace_root` / `implementation_worktree_root` / `merge_target_workspace_root` の binding boundary が明記されている。 +- implementation worktree は original workspace root 配下の `.worktree/` に置き、orchestration worktree の子にしないことが invariant として明確。 +- dirty / inconsistent / conflicting orchestration worktree は診断して止め、破壊的 cleanup や上書きをしないことが明確。 +- 既存 worktree reuse、root population、`SpawnConfig.workspace_root`、prompt root context、Panel diagnostics について testable な acceptance criteria がある。 + +Risk flags / reviewer focus: +- `git-worktree` +- `ticket-backend` +- `workspace-state` +- `authority-boundary` +- `persistence` +- `panel-ux` + +Open questions: +- blocking な未決定点はない。path / branch naming の具体実装、reuse validation helper の分割、UI diagnostic の表示場所は Ticket 内の制約を満たす範囲で implementation latitude として扱える。 + +Escalation conditions: +- Ticket backend を Git 外 store に移す必要が出た場合。 +- Orchestrator push automation、破壊的 cleanup、main workspace publication policy の全面設計が必要になった場合。 +- live conflicting Pod / inconsistent worktree の安全な診断だけでは足りず、人間判断が必要になった場合。 + +--- + + + +## Intake summary + +既存 Ticket を確認し、00001KTTB479X の closed follow-up として dedicated orchestration worktree を Panel/role launcher から作成・再利用し、Orchestrator の workspace root / Ticket backend root として起動する concrete work item と判断した。blocking な未決定点はなく、git-worktree / ticket-backend / workspace-state / authority-boundary / persistence / panel-ux を reviewer focus として残したうえで implementation_ready。実装は破壊的 cleanup、push automation、Git 外 Ticket store 移行、main workspace publication policy の全面設計を含めない。 + +--- + + + +## State changed + +Intake により要件・境界・受け入れ条件・risk focus が routing 可能な粒度まで確認されたため ready に遷移する。 + +--- + + + +## State changed + +Ticket を `workspace-panel` が queued にしました。 + + +--- + + + +## State changed + +Queue acceptance: relation query has no blockers, orchestration-plan query has no records, workspace has only this Ticket's panel queue update, and the Ticket is implementation_ready with concrete acceptance criteria for Panel Orchestrator lifecycle root separation. Standing merge-completion authorization is in effect after reviewer approval and safe-workspace checks. Implementation side effects may proceed after this recorded acceptance. + +--- + + + +## Plan + +Routing decision: implementation_ready + +Reason: +- Ticket is `queued`, user/panel authorized routing, relation query has no blockers, and orchestration-plan query has no existing records. +- Workspace dirty state before acceptance is limited to this Ticket's queue update. +- The Ticket has concrete requirements and acceptance criteria for Panel Orchestrator lifecycle dedicated orchestration worktree creation/reuse, root population, safe diagnostics, and tests. + +Evidence checked: +- Ticket body/thread/artifacts. +- `TicketRelationQuery`: no blockers. +- `TicketOrchestrationPlanQuery`: no records before this routing pass. +- Workspace/worktree/branch state: main worktree only before acceptance. +- Visible Pods: no active implementation child Pods; restorable Intake peers only. + +IntentPacket: +- Intent: make Panel Orchestrator launch create/reuse a dedicated orchestration worktree under the original workspace root and launch Orchestrator with that worktree as runtime workspace/Ticket backend root while preserving original/target roots for implementation worktree creation and merge-completion. +- Binding decisions / invariants: filesystem Ticket backend remains; no Git-external Ticket store; main workspace drafts are not implicit Orchestrator queue; implementation worktrees stay under original workspace `.worktree/` as siblings of orchestration worktree; do not destructively cleanup dirty/unknown orchestration worktrees; no push automation; `SpawnConfig.workspace_root` for Orchestrator must be orchestration worktree. +- Requirements / acceptance criteria: stable collision-safe path/branch naming; safe create/reuse/fail diagnostics; `TicketRoleLaunchContext` roots population; prompt root context remains visible; Panel diagnostics make Orchestrator/Ticket backend root visible; tests for naming/reuse/unsafe diagnostics/root population/spawn config/prompt. +- Implementation latitude: exact helper placement and UI diagnostic wording are flexible if safety and root semantics are preserved. +- Escalate if implementation requires changing Ticket backend authority, adding destructive cleanup, or introducing push automation. +- Validation: focused panel/client tests, `cargo fmt --check`, `git diff --check`, `target/debug/yoi ticket doctor`, and `nix build .#yoi`. + +---