ticket: record panel and plugin followups

This commit is contained in:
Keisuke Hirata 2026-06-15 15:35:35 +09:00
parent 169f29e960
commit 6d4b700181
No known key found for this signature in database
25 changed files with 489 additions and 10 deletions

View File

@ -1,8 +1,8 @@
--- ---
title: 'Plugin distribution package format and discovery' title: 'Plugin distribution package format and discovery'
state: 'done' state: 'closed'
created_at: '2026-06-01T06:49:53Z' created_at: '2026-06-01T06:49:53Z'
updated_at: '2026-06-14T15:56:45Z' updated_at: '2026-06-15T06:33:50Z'
queued_by: 'workspace-panel' queued_by: 'workspace-panel'
queued_at: '2026-06-14T15:40:15Z' queued_at: '2026-06-14T15:40:15Z'
--- ---

View File

@ -0,0 +1,3 @@
Ticket `00001KT0Z4BK8` (`Plugin distribution package format and discovery`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。

View File

@ -375,4 +375,24 @@ Cleanup planned:
Reviewer approved, documentation/design implementation branch merged into the orchestration branch, and documentation-focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch. Reviewer approved, documentation/design implementation branch merged into the orchestration branch, and documentation-focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch.
---
<!-- event: state_changed author: hare at: 2026-06-15T06:33:50Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-15T06:33:50Z status: closed -->
## 完了
Ticket `00001KT0Z4BK8` (`Plugin distribution package format and discovery`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。
--- ---

View File

@ -1,8 +1,8 @@
--- ---
title: "Preserve active workflows across compaction" title: "Preserve active workflows across compaction"
state: 'done' state: 'closed'
created_at: "2026-06-07T02:23:28Z" created_at: "2026-06-07T02:23:28Z"
updated_at: '2026-06-14T16:26:01Z' updated_at: '2026-06-15T06:33:44Z'
queued_by: 'workspace-panel' queued_by: 'workspace-panel'
queued_at: '2026-06-14T15:23:07Z' queued_at: '2026-06-14T15:23:07Z'
--- ---

View File

@ -0,0 +1,3 @@
Ticket `00001KTFY8V80` (`Preserve active workflows across compaction`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。

View File

@ -414,4 +414,24 @@ Cleanup planned:
Reviewer approved after requested fixes, implementation branch merged into the orchestration branch, and focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch. Reviewer approved after requested fixes, implementation branch merged into the orchestration branch, and focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch.
---
<!-- event: state_changed author: hare at: 2026-06-15T06:33:44Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-15T06:33:44Z status: closed -->
## 完了
Ticket `00001KTFY8V80` (`Preserve active workflows across compaction`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。
--- ---

View File

@ -1,8 +1,8 @@
--- ---
title: 'Workspace panel: show Ticket-associated Intake Pods adjacent to Ticket rows' title: 'Workspace panel: show Ticket-associated Intake Pods adjacent to Ticket rows'
state: 'done' state: 'closed'
created_at: '2026-06-13T10:54:31Z' created_at: '2026-06-13T10:54:31Z'
updated_at: '2026-06-14T15:55:36Z' updated_at: '2026-06-15T06:33:52Z'
assignee: null assignee: null
readiness: 'implementation_ready' readiness: 'implementation_ready'
risk_flags: ['panel-ux', 'local-role-session-registry', 'pod-session-state'] risk_flags: ['panel-ux', 'local-role-session-registry', 'pod-session-state']

View File

@ -0,0 +1,3 @@
Ticket `00001KV09WYC6` (`Workspace panel: show Ticket-associated Intake Pods adjacent to Ticket rows`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。

View File

@ -244,4 +244,24 @@ Cleanup planned:
Reviewer approved, implementation branch merged into the orchestration branch, focused validation passed in the Orchestrator worktree, and cleanup is ready. Marking Ticket done in the orchestration branch. Reviewer approved, implementation branch merged into the orchestration branch, focused validation passed in the Orchestrator worktree, and cleanup is ready. Marking Ticket done in the orchestration branch.
---
<!-- event: state_changed author: hare at: 2026-06-15T06:33:52Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-15T06:33:52Z status: closed -->
## 完了
Ticket `00001KV09WYC6` (`Workspace panel: show Ticket-associated Intake Pods adjacent to Ticket rows`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。
--- ---

View File

@ -1,8 +1,8 @@
--- ---
title: 'Panel: invalid Ticket があっても Ticket 機能全体を無効化しない' title: 'Panel: invalid Ticket があっても Ticket 機能全体を無効化しない'
state: 'done' state: 'closed'
created_at: '2026-06-14T14:56:51Z' created_at: '2026-06-14T14:56:51Z'
updated_at: '2026-06-14T16:38:01Z' updated_at: '2026-06-15T04:12:40Z'
assignee: null assignee: null
readiness: 'implementation_ready' readiness: 'implementation_ready'
risk_flags: ['tui-panel', 'ticket-backend', 'partial-failure', 'diagnostics'] risk_flags: ['tui-panel', 'ticket-backend', 'partial-failure', 'diagnostics']

View File

@ -0,0 +1,3 @@
Ticket `00001KV3A5CNH` (`Panel: invalid Ticket があっても Ticket 機能全体を無効化しない`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。

View File

@ -351,4 +351,24 @@ Cleanup planned:
Reviewer approved after requested fixes, implementation branch merged into the orchestration branch, and focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch. Reviewer approved after requested fixes, implementation branch merged into the orchestration branch, and focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch.
---
<!-- event: state_changed author: hare at: 2026-06-15T04:12:40Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-15T04:12:40Z status: closed -->
## 完了
Ticket `00001KV3A5CNH` (`Panel: invalid Ticket があっても Ticket 機能全体を無効化しない`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。
--- ---

View File

@ -1,8 +1,8 @@
--- ---
title: '対象 TUI/Panel merge commit の挙動を現行 E2E で確認する' title: '対象 TUI/Panel merge commit の挙動を現行 E2E で確認する'
state: 'done' state: 'closed'
created_at: '2026-06-14T15:24:05Z' created_at: '2026-06-14T15:24:05Z'
updated_at: '2026-06-14T16:54:05Z' updated_at: '2026-06-15T06:33:44Z'
assignee: null assignee: null
readiness: 'implementation_ready' readiness: 'implementation_ready'
risk_flags: ['e2e', 'tui', 'panel', 'regression-evidence'] risk_flags: ['e2e', 'tui', 'panel', 'regression-evidence']

View File

@ -0,0 +1,3 @@
Ticket `00001KV3BQ7Q3` (`対象 TUI/Panel merge commit の挙動を現行 E2E で確認する`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。

View File

@ -235,4 +235,24 @@ Cleanup planned:
Reviewer approved, implementation/evidence branch merged into the orchestration branch, and E2E-focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch. Reviewer approved, implementation/evidence branch merged into the orchestration branch, and E2E-focused validation passed in the Orchestrator worktree. Marking Ticket done in the orchestration branch.
---
<!-- event: state_changed author: hare at: 2026-06-15T06:33:44Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-15T06:33:44Z status: closed -->
## 完了
Ticket `00001KV3BQ7Q3` (`対象 TUI/Panel merge commit の挙動を現行 E2E で確認する`) はすでに `state: done` に到達していたため、workspace Panel から close しました。
この Close action によって、実装作業、state 変更、Orchestrator/Companion launch、worker invocation は開始されていません。
--- ---

View File

@ -0,0 +1,21 @@
{
"version": 1,
"relations": [
{
"ticket_id": "00001KV4YAAVY",
"kind": "related",
"target": "00001KV072V89",
"note": "different scope: Panel row click selection vs single-Pod View text selection",
"author": "yoi ticket",
"at": "2026-06-15T06:09:16Z"
},
{
"ticket_id": "00001KV4YAAVY",
"kind": "related",
"target": "00001KV10SN02",
"note": "mouse behavior/E2E coverage may need follow-up",
"author": "yoi ticket",
"at": "2026-06-15T06:09:17Z"
}
]
}

View File

@ -0,0 +1,108 @@
---
title: 'single-Pod View Item text をマウスドラッグで選択・コピーできるようにする'
state: 'ready'
created_at: '2026-06-15T06:08:19Z'
updated_at: '2026-06-15T06:09:17Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['tui', 'mouse-input', 'selection', 'clipboard', 'single-pod-view']
---
## Background
single-Pod TUI の View では、端末ネイティブ選択に頼らず、Yoi 自身が View Item の表示テキストをマウスドラッグで選択できるようにする。
既存の `00001KV072V89``yoi panel` の View item / row click selection であり、この Ticket の対象ではない。この Ticket は Panel ではなく、通常の single-Pod conversation View に表示される Item text の選択・コピーを対象にする。
端末ネイティブ選択は不要。View 内でドラッグしたら自動的に Yoi の selection state に入り、`Esc` で解除、選択したまま `y` で copy & selection clear する。
## Requirements
- 対象は single-Pod TUI の View Item text。
- 主対象 Item は text-like なもの。
- UserItem
- SystemItem
- AssistantItem
- View 内の text-like Item 上で mouse drag すると、自動的に selection state に入る。
- drag start が anchor
- drag current/end が focus
- mouse release 後も selection は保持される
- 選択状態は View 上で highlight される。
- `Esc` で selection を解除する。
- selection がある状態で `y` を押すと、選択テキストを copy し、selection を解除する。
- Item を跨いだ selection を可能にする。
- text-like Item 間を跨ぐ selection は supported behavior とする。
- Item 間の copied text separator は読みやすく deterministic にする。基本は newline / blank line のどちらかを実装時に選び、test で固定する。
- 選択 text は model context / Pod history / session log / Ticket に記録しない。
- composer 入力、scroll、rewind picker、modal/popup、通常 key handling と衝突しない。
- View に mouse selection を妨げる mode は基本的に置かない。
- terminal-native text selection preservation はこの Ticket の goal ではない。
- View の drag 操作は Yoi text selection として扱う。
- 既存 Panel row click selection と混同しない。
- Panel row selection behavior を変更しない。
- single-Pod View Item text selection のみを対象にする。
## Tool / non-text Item handling
Tool 系 Item を selection range に含んだ場合のコピー仕様は未決定であり、実装前または実装中に明示判断する。
候補:
- tool系 Item を non-selectable gap として skip する
- tool系 Item は summary/placeholder text のみコピーする
- tool系 Item に selection が入ったら range boundary をそこで止める
この Ticket の必須範囲は、UserItem / SystemItem / AssistantItem の text-like Item selection である。Tool 系の扱いで設計判断が必要になった場合は、実装報告または decision comment に記録する。
## Copy target
`y` の copy target は実装時に既存 TUI/clipboard abstraction を確認して選ぶ。
優先:
- 既存 clipboard abstraction があればそれを使う。
- 無ければ最小の copy path を追加する。
OSC52 / system clipboard / internal copy buffer の選択は実装時に判断してよいが、以下を満たすこと:
- user-visible に copy 成功/失敗が分かる
- secret-like diagnostics を出さない
- selected text が model/history に混入しない
- tests で copy された text を検証できる
## Acceptance criteria
- single-Pod View の UserItem / SystemItem / AssistantItem text を mouse drag で選択できる。
- 選択範囲が View 上で highlight される。
- mouse release 後も selection が保持される。
- `Esc` で selection が解除される。
- `y` で selected text が copy され、selection が解除される。
- text-like Item を跨いだ selection が deterministic な text として copy される。
- Tool 系 Item を range に含んだ時の扱いが、実装または decision comment で明示されている。
- composer / scroll / rewind picker / modal / normal key handling の既存挙動が壊れない。
- Panel row mouse selection には regression がない。
- selection/copy state は Pod history、model context、session log、Ticket records に残らない。
- Focused tests cover:
- mouse coordinate -> View Item text point mapping
- drag start/update/release selection state
- multi-item text selection extraction
- Esc clear
- y copy + clear
- non-text/tool item handling decision
- Validation: focused `cargo test -p tui ...`, `cargo fmt --check` or `cargo fmt -p tui`, `cargo check -p tui --all-targets`, and `git diff --check`.
## Non-goals
- Panel Ticket/Pod row selection.
- Terminal-native text selection preservation.
- Generic terminal scrollback selection.
- Full rich text/HTML/markdown semantic selection.
- Double-click word selection / triple-click line selection.
- Selection in every TUI widget.
- Tool item rich output copy semantics beyond the explicit decision made for this Ticket.
## Related work
- `00001KV072V89` — Workspace panel の View item をマウスで選択できるようにする。Panel row click selection; not this Ticket's scope.
- `00001KV10SN02` — E2E critical path / mouse behavior coverage.
- `crates/tui/src/single_pod.rs` — single-Pod TUI View / mouse handling area.

View File

@ -0,0 +1,7 @@
<!-- event: create author: "yoi ticket" at: 2026-06-15T06:08:19Z -->
## 作成
LocalTicketBackend によって作成されました。
---

View File

@ -0,0 +1,83 @@
---
title: 'Panel composer で Alt+Enter 改行を SessionView と揃える'
state: 'ready'
created_at: '2026-06-15T06:27:36Z'
updated_at: '2026-06-15T06:27:36Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['tui-input', 'ux-consistency']
---
## Background
Panel の Composer でも、SessionView / 通常チャット composer と同じように `Alt+Enter` で改行できるようにする。
既存 Ticket `00001KTNS1AA8` で通常 TUI と workspace Panel の composer key handling を共有する方向が実装・完了済み。thread には shared editing が `Alt+Enter newline` を含む旨も記録されている。
一方、現行の Panel key handling では `KeyCode::Enter` の submit/open 分岐が `composer_edit_action(key)` より先に処理されているため、`Alt+Enter` が `InsertNewline` として到達せず、通常 Enter と同じ挙動になる可能性がある。Panel composer でも SessionView と同じ入力体験に揃える。
## Requirements
- Panel composer で `Alt+Enter` が draft 内の改行挿入として動作する。
- `Alt+Enter` は composer text の submit、Ticket Intake launch、Companion send、selected row open/dispatch を起こさない。
- 通常の bare `Enter` の既存 semantics は維持する。
- composer が空なら selected row / open / dispatch。
- composer に text があるなら current composer target への submit。
- 通常 SessionView 側の `Alt+Enter` 改行挙動を壊さない。
- 既存の shared `composer_keys` 方針を保ち、Panel 専用の ad-hoc key handling を増やしすぎない。
## Acceptance criteria
- `yoi panel` の composer に text がある状態で `Alt+Enter` を押すと、draft に newline が入る。
- composer が空、row selected、Ticket action selected などの Panel 状態でも、`Alt+Enter` は submit/open/dispatch ではなく改行編集として扱われる。
- bare `Enter` の Panel submit/open/dispatch behavior は regress しない。
- focused test で `Alt+Enter` が Panel composer newline を挿入し、submit action を返さないことを確認する。
- 既存 SessionView / normal TUI composer key tests が通る。
## Binding decisions / invariants
- `Alt+Enter` は composer editing key として扱い、Panel action key として扱わない。
- bare `Enter``Alt+Enter` の意味を明確に分ける。
- Panel composer は通常 TUI composer と同じ shared composer key handling 方針に従う。
- Panel row selection / Ticket action semantics、Companion / Ticket Intake target semantics は変更しない。
- bare letter shortcuts は復活させない。
## Implementation latitude
- `composer_edit_action(key)` を Enter submit/open 分岐より前に適用する、または `KeyCode::Enter` 分岐側で modifiers を明示的に見て `Alt+Enter` を除外するなど、実装方法は任せる。
- Existing tests に追加する形でも、新規 focused regression test を作る形でもよい。
- UI hint の更新は必要なら最小限に行う。主目的は key behavior の修正。
## Readiness
- readiness: implementation_ready
- priority: P2 相当
- risk_flags: [tui-input, ux-consistency]
- open_questions: none
## Escalation conditions
- terminal / crossterm が対象環境で `Alt+Enter` を識別できない場合は、実装可能範囲と制約を implementation report に明記する。
- `Alt+Enter` を先に composer edit として処理すると、既存 completion / target switching / row action の前提と衝突する場合は Orchestrator / reviewer に相談する。
- SessionView 側にも同様の問題がある場合は、Panel 固有 bug ではなく shared composer key handling の regression として扱う。
## Validation
- Focused test: Panel composer で `Alt+Enter` が newline を挿入し、submit/open/dispatch しない。
- Focused test: bare `Enter` の既存 Panel behavior が維持される。
- `cargo test -p tui composer_keys`
- `cargo test -p tui` または少なくとも該当 `multi_pod` / Panel focused tests
- `cargo fmt --check`
- `git diff --check`
- 必要に応じて `cargo check --workspace`
## Related work
- `00001KTNS1AA8` Improve workspace panel display and composer key handling
- `crates/tui/src/composer_keys.rs`
- `crates/tui/src/multi_pod.rs`
## Panel handoff
- workspace: `yoi`
- workspace_orchestrator_pod: `yoi-orchestrator`

View File

@ -0,0 +1,7 @@
<!-- event: create author: LocalTicketBackend at: 2026-06-15T06:27:36Z -->
## 作成
LocalTicketBackend によって作成されました。
---

View File

@ -0,0 +1,115 @@
---
title: 'Panel Ticket / Intake Pod row の視覚階層を改善する'
state: 'ready'
created_at: '2026-06-15T06:32:21Z'
updated_at: '2026-06-15T06:32:36Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['panel-ux', 'tui-layout', 'accessibility', 'row-selection']
---
## Background
Workspace Panel では、Ticket row が2行表示になり、Ticket に関連する Intake Pod row も Ticket の隣接 row として表示されるようになっている。
しかし現状では、以下の視覚的な区別が弱く、一覧として読んだときに情報の優先順位が掴みにくい。
- Ticket 本体の primary line と detail/gate line の強弱。
- Ticket row と associated Intake Pod row の親子関係。
- canonical state/title、gate/action/reason、Intake Pod status/open 導線の重要度差。
- 選択中 row/group と非選択 row/group の境界。
今回の作業は Panel 表示の visual hierarchy / readability 改善に限定する。Ticket lifecycle、local role/session registry、claim semantics、automatic launch/spawn policy は変更しない。
## Request snapshot
> 前やった Panel の2行レイアウトと、IntakePod の関連表示の件、表示の強弱がついてなくて見辛いから、改善したい。
Panel handoff:
- workspace: `yoi`
- workspace_orchestrator_pod: `yoi-orchestrator`
## Requirements
- Workspace Panel の Ticket 2行 row に視覚的な強弱を付ける。
- 1行目の canonical state + title は primary 情報として読みやすくする。
- 2行目の Ticket id / Gate / Action / reason は secondary 情報として、必要な時に読めるが主情報を邪魔しない表示にする。
- Ticket-associated Intake Pod row が、その Ticket の子/関連 row であると視覚的に分かるようにする。
- indentation、prefix、dim style、role/status chip、group marker など、既存 Panel UI と整合する方法でよい。
- 選択状態では、Ticket 2行 + associated Intake row の関係が崩れない。
- どの logical row / child row が選択されているかが分かる。
- Ticket 本体と Intake Pod row の操作対象が混同されない。
- live / restorable / stale など Intake Pod status の表示は残しつつ、Ticket title/gate より過剰に目立たないようにする。
- narrow terminal / short panel area でも破綻しない。
- truncate / ellipsis / bounded rendering を維持する。
- 色だけに依存しない表示にする。
- terminal theme や monochrome 環境でも、indentation / marker / text label で最低限の関係が分かる。
## Acceptance criteria
- Ticket 2行 row で、primary line と secondary line の視覚的な強弱が確認できる。
- Ticket-associated Intake Pod row が、隣接する Ticket の関連/子 row として認識できる。
- Intake Pod row が Ticket 本体や別 Ticket に見えない。
- selected Ticket row / selected Intake Pod row の見え方が明確で、操作対象が混同されない。
- `ready`, `planning`, `queued/inprogress`, `done/closed`, `ready+waiting` の Ticket row で可読性が維持される。
- Intake Pod の `live` / `restorable` / `stale` status が確認できる。
- pre-Ticket Intake Pod を誤って特定 Ticket の child row のように表示しない。
- mouse click / keyboard selection の既存 semantics を壊さない。
- Focused tests で row rendering contract または ViewModel/row ordering/selection contract が確認される。
## Binding decisions / invariants
- Ticket lifecycle state / relation gate semantics は変更しない。
- persisted `waiting` state や新しい Ticket schema は追加しない。
- local Pod assignment / Pod name / socket / claim state / runtime status を git-tracked Ticket metadata/frontmatter/thread に保存しない。
- automatic polling / automatic Intake spawn は追加しない。
- Ticket と Intake Pod の関係を 1:1 と仮定しない。
- selected arbitrary Pod direct-send UX を復活させない。
- 表示改善のために lifecycle action の authority boundary を緩めない。
## Implementation latitude
- exact な UI 表現は実装側判断でよい。
- dim / bold / color / prefix / indentation / separator / role chip / status chip など。
- 既存 `PanelRowKind::Ticket` / `PanelRowKind::TicketIntakePod` の rendering を調整してもよい。
- 必要なら shared row style helper を整理してよい。
- 色を使う場合でも、marker / label / indentation など非色要素で関係性が分かるようにする。
- Very small terminal で情報を減らす場合、primary state/title と action safety を優先する。
## Readiness
- readiness: implementation_ready
- risk_flags: [panel-ux, tui-layout, accessibility, row-selection]
- blocking open questions: none
## Escalation conditions
- Panel の selection model / keyboard semantics を大きく変える必要が出た場合。
- Ticket row と Intake Pod row の action identity が曖昧になり、誤操作リスクが出る場合。
- 色/装飾だけでは accessibility / terminal theme 上の問題を避けられない場合。
- Row rendering のために local role/session registry や Ticket schema の変更が必要になりそうな場合。
- bounded row rendering を維持できず、大量 Ticket/Pod で一覧が読みにくくなる場合。
## Validation
- `cargo test -p tui workspace_panel --lib`
- 関連箇所を触る場合:
- `cargo test -p tui multi_pod --lib`
- `cargo test -p tui row_hit_testing --lib`
- `cargo test -p tui mouse_click --lib`
- `cargo fmt --check`
- `git diff --check`
- 可能なら実際の `yoi panel` / PTY で目視確認、または既存 Panel E2E の更新。
## Related work
- `00001KV12W2RT` — Panel Ticket rows を2行表示にして gate 情報を分離する
- `00001KV09WYC6` — Workspace panel: show Ticket-associated Intake Pods adjacent to Ticket rows
- `00001KV3A5CNH` — Panel: invalid Ticket があっても Ticket 機能全体を無効化しない
Code areas:
- `crates/tui/src/workspace_panel.rs`
- `crates/tui/src/multi_pod.rs`
- `crates/tui/src/role_session_registry.rs`

View File

@ -0,0 +1,23 @@
<!-- event: create author: ticket-intake at: 2026-06-15T06:32:21Z -->
## 作成
LocalTicketBackend によって作成されました。
---
<!-- event: intake_summary author: ticket-intake at: 2026-06-15T06:32:36Z -->
## Intake summary
ユーザー承認に基づき、Panel Ticket 2行 row と Ticket-associated Intake Pod row の視覚階層改善を concrete Ticket として作成した。既存 Ticket `00001KV12W2RT` / `00001KV09WYC6` の follow-up であり、目的は visual hierarchy / readability 改善に限定される。Ticket lifecycle、relation gate semantics、local role/session registry、claim semantics、automatic launch/spawn policy は変更しない。readiness: implementation_ready。risk_flags: [panel-ux, tui-layout, accessibility, row-selection]。blocking open questions はない。
---
<!-- event: state_changed author: ticket-intake at: 2026-06-15T06:32:36Z from: planning to: ready reason: planning_ready field: state -->
## State changed
Intake で要件・受け入れ条件・binding decisions / invariants・implementation latitude・escalation conditions・validation が整理され、ユーザー承認済み。Orchestrator が routing 可能な ready 状態にする。
---