ticket: close panel focus model

This commit is contained in:
Keisuke Hirata 2026-06-13 00:09:23 +09:00
parent e330685ec3
commit 2e7ed31f87
No known key found for this signature in database
3 changed files with 110 additions and 2 deletions

View File

@ -1,8 +1,8 @@
--- ---
title: 'Workspace panel の focus model を composer target と row selection に整理する' title: 'Workspace panel の focus model を composer target と row selection に整理する'
state: 'done' state: 'closed'
created_at: '2026-06-11T14:48:26Z' created_at: '2026-06-11T14:48:26Z'
updated_at: '2026-06-12T15:08:11Z' updated_at: '2026-06-12T15:09:15Z'
assignee: null assignee: null
readiness: 'implementation_ready' readiness: 'implementation_ready'
risk_flags: ['tui-ux', 'input-safety'] risk_flags: ['tui-ux', 'input-safety']

View File

@ -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.

View File

@ -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 was merged into the Orchestrator branch, reviewer approved with no blockers, and post-integration validation passed. Cleanup and closure will be recorded next.
--- ---
<!-- event: implementation_report author: orchestrator at: 2026-06-12T15:08:59Z -->
## 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.
---
<!-- event: state_changed author: hare at: 2026-06-12T15:09:15Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-12T15:09:15Z status: 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.
---