From 2e7ed31f8733d25df6c497c2f6182387c542a53a Mon Sep 17 00:00:00 2001 From: Hare Date: Sat, 13 Jun 2026 00:09:23 +0900 Subject: [PATCH] ticket: close panel focus model --- .yoi/tickets/00001KTVJFT6F/item.md | 4 +- .yoi/tickets/00001KTVJFT6F/resolution.md | 38 +++++++++++++ .yoi/tickets/00001KTVJFT6F/thread.md | 70 ++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 .yoi/tickets/00001KTVJFT6F/resolution.md diff --git a/.yoi/tickets/00001KTVJFT6F/item.md b/.yoi/tickets/00001KTVJFT6F/item.md index 35f5614e..376de799 100644 --- a/.yoi/tickets/00001KTVJFT6F/item.md +++ b/.yoi/tickets/00001KTVJFT6F/item.md @@ -1,8 +1,8 @@ --- title: 'Workspace panel の focus model を composer target と row selection に整理する' -state: 'done' +state: 'closed' created_at: '2026-06-11T14:48:26Z' -updated_at: '2026-06-12T15:08:11Z' +updated_at: '2026-06-12T15:09:15Z' assignee: null readiness: 'implementation_ready' risk_flags: ['tui-ux', 'input-safety'] diff --git a/.yoi/tickets/00001KTVJFT6F/resolution.md b/.yoi/tickets/00001KTVJFT6F/resolution.md new file mode 100644 index 00000000..182e8483 --- /dev/null +++ b/.yoi/tickets/00001KTVJFT6F/resolution.md @@ -0,0 +1,38 @@ +Workspace panel の focus model を composer target と row selection に整理した。 + +実装概要: +- `yoi panel` の user-visible focus 表示から `item action focus` / `Right action focus` / `global composer` / `PanelFocus` / `ItemAction` 系の不要な focus model を除去した。 +- composer target は送信先、row selection は空 composer 時の navigation / Enter 対象として扱う表示・挙動へ整理した。 +- 非空 composer では composer draft / target を優先し、`Enter` は composer send / Intake 起動に向く。 +- 空 composer では selected row が `Enter` 対象になり、既存 Ticket action dispatch / Pod open 経路を使う。 +- `Tab` は composer target の切替のみで selected row と draft を保持する。 +- `Esc` は row selection を解除し、composer draft と target は保持する。 +- `Left` / `Right` は Panel focus 切替ではなく composer cursor 操作として扱う。 +- Ticket action dispatch、Pod open、Intake launch、Companion send の authority / safety semantics は維持した。 + +Review / integration: +- Implementation commit: `c5ef6f79 tui: clarify panel composer target and row selection` +- Reviewer: `yoi-reviewer-panel-focus-model` が approve。 +- Orchestrator merge commit: `d6166c72 merge: panel focus composer row selection` +- Ticket completion commit: `e330685e ticket: mark panel focus done` + +Validation: +- `cargo test -p tui selected_ticket_row_with_non_empty_composer_shows_composer_enter_behavior`: pass +- `cargo test -p tui multi_esc_clears_row_selection_without_quitting_and_preserves_draft`: pass +- `cargo test -p tui multi_composer_target_switch_preserves_typed_text`: pass +- `cargo test -p tui multi_blank_ticket_intake_enter_uses_selected_row_and_preserves_input`: pass +- `cargo fmt --check`: pass +- `git diff --check HEAD~1..HEAD`: pass +- `./result/bin/yoi ticket doctor`: `doctor: ok` +- `nix build .#yoi`: pass + +Known unrelated validation failure: +- `cargo test -p tui multi_ --lib` still includes pre-existing failure `multi_pod::tests::orchestrator_launch_context_uses_orchestration_root_for_runtime_workspace`; this was verified on the Orchestrator branch before merge and reviewed as unrelated to this Ticket. + +Cleanup: +- coder/reviewer Pods stopped。 +- child worktree `/home/hare/Projects/yoi/.worktree/panel-focus-composer-row-selection` removed。 +- branch `ticket/panel-focus-composer-row-selection` deleted。 + +Non-blocking risks: +- Reviewer found none for this Ticket. \ No newline at end of file diff --git a/.yoi/tickets/00001KTVJFT6F/thread.md b/.yoi/tickets/00001KTVJFT6F/thread.md index a3ede57d..d68be364 100644 --- a/.yoi/tickets/00001KTVJFT6F/thread.md +++ b/.yoi/tickets/00001KTVJFT6F/thread.md @@ -292,3 +292,73 @@ Remaining risks: Implementation was merged into the Orchestrator branch, reviewer approved with no blockers, and post-integration validation passed. Cleanup and closure will be recorded next. --- + + + +## Implementation report + +Cleanup completed. + +- Stopped coder Pod: `yoi-coder-panel-focus-model` +- Stopped reviewer Pod: `yoi-reviewer-panel-focus-model` +- Removed child worktree: `/home/hare/Projects/yoi/.worktree/panel-focus-composer-row-selection` +- Deleted implementation branch: `ticket/panel-focus-composer-row-selection` +- Orchestrator worktree status after cleanup: clean + +Cleanup was limited to child implementation worktree/branch and related child Pods. Root/original workspace was not touched. + +--- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +Workspace panel の focus model を composer target と row selection に整理した。 + +実装概要: +- `yoi panel` の user-visible focus 表示から `item action focus` / `Right action focus` / `global composer` / `PanelFocus` / `ItemAction` 系の不要な focus model を除去した。 +- composer target は送信先、row selection は空 composer 時の navigation / Enter 対象として扱う表示・挙動へ整理した。 +- 非空 composer では composer draft / target を優先し、`Enter` は composer send / Intake 起動に向く。 +- 空 composer では selected row が `Enter` 対象になり、既存 Ticket action dispatch / Pod open 経路を使う。 +- `Tab` は composer target の切替のみで selected row と draft を保持する。 +- `Esc` は row selection を解除し、composer draft と target は保持する。 +- `Left` / `Right` は Panel focus 切替ではなく composer cursor 操作として扱う。 +- Ticket action dispatch、Pod open、Intake launch、Companion send の authority / safety semantics は維持した。 + +Review / integration: +- Implementation commit: `c5ef6f79 tui: clarify panel composer target and row selection` +- Reviewer: `yoi-reviewer-panel-focus-model` が approve。 +- Orchestrator merge commit: `d6166c72 merge: panel focus composer row selection` +- Ticket completion commit: `e330685e ticket: mark panel focus done` + +Validation: +- `cargo test -p tui selected_ticket_row_with_non_empty_composer_shows_composer_enter_behavior`: pass +- `cargo test -p tui multi_esc_clears_row_selection_without_quitting_and_preserves_draft`: pass +- `cargo test -p tui multi_composer_target_switch_preserves_typed_text`: pass +- `cargo test -p tui multi_blank_ticket_intake_enter_uses_selected_row_and_preserves_input`: pass +- `cargo fmt --check`: pass +- `git diff --check HEAD~1..HEAD`: pass +- `./result/bin/yoi ticket doctor`: `doctor: ok` +- `nix build .#yoi`: pass + +Known unrelated validation failure: +- `cargo test -p tui multi_ --lib` still includes pre-existing failure `multi_pod::tests::orchestrator_launch_context_uses_orchestration_root_for_runtime_workspace`; this was verified on the Orchestrator branch before merge and reviewed as unrelated to this Ticket. + +Cleanup: +- coder/reviewer Pods stopped。 +- child worktree `/home/hare/Projects/yoi/.worktree/panel-focus-composer-row-selection` removed。 +- branch `ticket/panel-focus-composer-row-selection` deleted。 + +Non-blocking risks: +- Reviewer found none for this Ticket. + +---