ticket: record cwd workspace followups
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: 'Workspace panel の focus model を composer target と row selection に整理する'
|
||||
state: 'ready'
|
||||
created_at: '2026-06-11T14:48:26Z'
|
||||
updated_at: '2026-06-11T14:48:31Z'
|
||||
assignee: null
|
||||
readiness: 'implementation_ready'
|
||||
risk_flags: ['tui-ux', 'input-safety']
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
`yoi panel` の現行 focus 表示は `global composer` / `selected row` / `item action` の3状態だが、実際の操作モデルは composer 入力状態と selected row に強く依存している。
|
||||
|
||||
特に `item action focus` は Enter の挙動を実質的に変えないため、ユーザーには「focus が移った」ように見える一方で、何が変わったのか分かりづらい。Panel の主な操作対象は composer target と selected row であり、focus 概念がそれ以上に増えることで UX が不明瞭になっている。
|
||||
|
||||
関連する broad design Ticket として `00001KSKBPPMR`「TUI: navigation mode / block focus の設計」があるが、本 Ticket は `yoi panel` の現行 focus UX を具体的に整理する実装単位とする。
|
||||
|
||||
## Requirements
|
||||
|
||||
- `yoi panel` の user-visible focus model を縮小し、composer target と row selection を中心に整理する。
|
||||
- composer target は focus ではなく、送信先表示として扱う。
|
||||
- selected row は、composer が空のときの navigation / Enter 対象として扱う。
|
||||
- `item action focus` は廃止するか、少なくとも user-visible focus として表示しない。
|
||||
- `Right action focus` / `Left` の段階的 focus 移動は、必要性を再評価して簡略化する。
|
||||
- status line / actionbar / key hints が、実際の Enter・矢印・Esc・Tab の挙動と一致するようにする。
|
||||
- composer に入力済みのテキストを誤って壊したり、暗黙に row action へ送ったりしない。
|
||||
- Ticket action / Pod open / Companion composer / Ticket Intake target の既存 authority と明示操作は維持する。
|
||||
- single-Pod TUI の transcript / block navigation はこの Ticket では扱わない。
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- Panel 上で composer target と selected row の意味が分かりやすく表示される。
|
||||
- `global composer` / `selected row` / `item action` のような user-visible focus 表示が、実際の操作以上に状態を増やして見せない。
|
||||
- 空 composer と非空 composer で Enter が何をするか、actionbar/status から誤解しにくい。
|
||||
- `↑/↓`, `Left`, `Right`, `Esc`, `Tab`, `Enter` の key hints が実装と一致している。
|
||||
- `Right action focus` が残る場合は user-visible focus ではなく、実際に意味のある操作として説明される。不要なら削除・無効化される。
|
||||
- composer 入力保護が維持される。
|
||||
- 既存の Ticket action dispatch / Pod open / Intake launch / Companion send の安全性を落とさない。
|
||||
|
||||
## Binding decisions / invariants
|
||||
|
||||
- `yoi panel` の改善に限定する。
|
||||
- 通常の single-Pod TUI transcript / block focus navigation は範囲外。
|
||||
- composer に文字が入っている状態では、通常入力を最優先で保護する。
|
||||
- composer target は focus ではなく送信先である。
|
||||
- row selection は、空 composer 時の navigation / Enter 対象である。
|
||||
- `item action focus` を user-visible focus model から外す。
|
||||
- Panel は durable state authority にならず、既存の Ticket / Pod authority を維持する。
|
||||
- Ticket の `ready -> queued` などの明示 user action semantics は変更しない。
|
||||
|
||||
## Implementation latitude
|
||||
|
||||
- `PanelFocus` の状態名・数・遷移は変更してよい。
|
||||
- `ItemAction` 相当の状態は削除してよい。
|
||||
- `Right` / `Left` の扱いは、実装後の単純な model に合わせて削除・no-op・案内表示のいずれかにしてよい。
|
||||
- `Esc` の詳細挙動は input safety を満たす範囲で調整してよい。
|
||||
- status line / actionbar / row hints の文言は、実装後の挙動に合わせて整理してよい。
|
||||
- UX 改善は最小実装でよく、フル navigation mode や vim-like 操作体系は不要。
|
||||
|
||||
## Readiness
|
||||
|
||||
- readiness: implementation_ready
|
||||
- risk_flags: [tui-ux, input-safety]
|
||||
|
||||
## Escalation conditions
|
||||
|
||||
- composer 入力保護と row navigation のどちらを優先するかについて、現行 invariant を超える判断が必要になった場合。
|
||||
- Ticket lifecycle action の明示性や authority boundary を変える必要が出た場合。
|
||||
- Panel だけでなく single-Pod TUI の navigation model 変更が必要だと判明した場合。
|
||||
|
||||
## Validation
|
||||
|
||||
- `crates/tui/src/multi_pod.rs` 周辺の focused tests を追加・更新する。
|
||||
- focus/key handling/status/actionbar の unit tests を通す。
|
||||
- `cargo test -p tui multi_` またはより focused な同等テストを通す。
|
||||
- TUI 変更なので完了時に `nix build .#yoi` も確認する。
|
||||
|
||||
## Related work
|
||||
|
||||
- `00001KSKBPPMR` — TUI: navigation mode / block focus の設計
|
||||
@@ -0,0 +1,23 @@
|
||||
<!-- event: create author: LocalTicketBackend at: 2026-06-11T14:48:26Z -->
|
||||
|
||||
## 作成
|
||||
|
||||
LocalTicketBackend によって作成されました。
|
||||
|
||||
---
|
||||
|
||||
<!-- event: intake_summary author: intake at: 2026-06-11T14:48:31Z -->
|
||||
|
||||
## Intake summary
|
||||
|
||||
Panel focus UX の不満を `yoi panel` 専用の concrete Ticket として整理した。合意済み方針は、user-visible focus model を増やさず、composer target を送信先、selected row を空 composer 時の navigation / Enter 対象として扱い、`item action focus` を user-visible focus から外すこと。既存 Ticket / Pod authority と composer 入力保護は維持する。
|
||||
|
||||
---
|
||||
|
||||
<!-- event: state_changed author: intake at: 2026-06-11T14:48:31Z from: planning to: ready reason: intake_ready field: state -->
|
||||
|
||||
## State changed
|
||||
|
||||
Intake clarified the panel focus request and recorded an implementation-ready concrete Ticket. Human can queue it from the panel when ready.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user