ticket: approve orchestration branch config

This commit is contained in:
Keisuke Hirata 2026-06-14 14:03:44 +09:00
parent fc075bc69e
commit 9ad87dda25
No known key found for this signature in database
2 changed files with 29 additions and 1 deletions

View File

@ -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']

View File

@ -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.
---
<!-- event: review author: hare at: 2026-06-13T19:05:48Z status: approve -->
## 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/<workspace-orchestrator-pod-name>`, 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.
---