diff --git a/.yoi/tickets/00001KV0X254D/item.md b/.yoi/tickets/00001KV0X254D/item.md index e56c51f7..46c3a732 100644 --- a/.yoi/tickets/00001KV0X254D/item.md +++ b/.yoi/tickets/00001KV0X254D/item.md @@ -2,7 +2,7 @@ title: 'Panel Orchestrator の orchestration branch 名を ticket.config.toml で設定可能にする' state: 'inprogress' created_at: '2026-06-13T16:29:25Z' -updated_at: '2026-06-13T18:59:21Z' +updated_at: '2026-06-13T19:05:48Z' assignee: null readiness: 'implementation_ready' risk_flags: ['config-schema', 'git-worktree', 'panel-orchestration'] diff --git a/.yoi/tickets/00001KV0X254D/thread.md b/.yoi/tickets/00001KV0X254D/thread.md index 6e977161..b814830a 100644 --- a/.yoi/tickets/00001KV0X254D/thread.md +++ b/.yoi/tickets/00001KV0X254D/thread.md @@ -108,4 +108,32 @@ Residual risks: - Branch validation is implemented as an internal Git-ref compatible validator rather than invoking `git check-ref-format`, so it is intentionally conservative (for example, rejects spaces and full `refs/...` names) before any worktree Git operation. +--- + + + +## Review: approve + +Approve. + +Evidence: +- `crates/ticket/src/config.rs` adds typed `[orchestration] branch = "..."` via `TicketOrchestrationConfig` and `GitBranchName`, with `deny_unknown_fields` preserved and scaffold documentation limited to the Ticket config surface. Missing config leaves `orchestration.branch_name() == None`, preserving the existing default. +- `crates/tui/src/multi_pod.rs` resolves the Panel Orchestrator branch once through `resolved_orchestration_worktree_layout`, falling back to `orchestration/`, and uses that layout for create/reuse, restore preparation/validation/diagnostics, and Queue handoff preflight/sync notices. +- Invalid configured branches fail during Ticket config loading / branch resolution before `.worktree` creation; existing dirty, unknown, wrong-branch, or unrelated-repo paths remain diagnostic-only and are not checked out, deleted, reset, or repaired. +- No hidden prompt/Profile injection or unrelated config surface drift was found; the change stays in typed Ticket config plus Panel orchestration worktree handling. +- Tests cover default resolution, configured branch creation/restore, invalid branch rejection before worktree operations, mismatched branch diagnostics without checkout, and Queue paths using the resolved branch. + +Validation performed: +- `git diff --check c4465a04..HEAD` — passed. +- `cargo fmt --check` — passed. +- `cargo test -p ticket config --lib` — passed (23 tests). +- `cargo test -p tui orchestration_worktree --lib` — passed (3 tests). +- `cargo test -p tui configured_orchestration_branch --lib` — passed (3 tests). +- `cargo test -p tui ticket_queue_action --lib` — passed (5 tests). +- `cargo test -p tui orchestration --lib` — failed only on the known unrelated `multi_pod::tests::orchestrator_launch_context_uses_orchestration_root_for_runtime_workspace` stale assertion; the branch/config-focused cases in that run passed. + +Residual risk: +- Branch validation is an internal git-ref-compatible validator rather than an invocation of `git check-ref-format`; reviewed as acceptable and conservative for this Ticket. + + ---