yoi/.yoi/tickets/00001KV4ZDMV1/thread.md

88 lines
4.4 KiB
Markdown

<!-- event: create author: LocalTicketBackend at: 2026-06-15T06:27:36Z -->
## 作成
LocalTicketBackend によって作成されました。
---
<!-- event: state_changed author: workspace-panel at: 2026-06-15T06:37:01Z from: ready to: queued reason: queued field: state -->
## State changed
Ticket を `workspace-panel` が queued にしました。
---
<!-- event: decision author: yoi-orchestrator at: 2026-06-15T06:39:02Z -->
## Decision
Routing decision: implementation_ready
Reason:
- Panel Queue により routing が明示的に許可され、Ticket は `queued`
- Ticket body / thread / relations / OrchestrationPlan / Orchestrator workspace state を確認した。blocking relation はなく、planning に戻す concrete missing information はない。
- 既存 shared composer key handling 方針があり、主な不確実性は Panel の Enter 分岐順序/修飾キー処理の local fix と regression coverage に閉じている。
- 同時 queued の `00001KV4YAAVY` は single-Pod View selection で主対象が異なるため並行開始可能。`00001KV4ZPAD3` は Panel row rendering surface と重なるため待機に回す。
Evidence checked:
- Ticket body/thread: Background、requirements、acceptance criteria、binding decisions、validation、related work を確認。
- Ticket relations: blocker なし。
- OrchestrationPlan: 既存 record なし。
- Orchestrator workspace: `/home/hare/Projects/yoi/.worktree/orchestration` は clean、`f0de8413` 上。
- Visible Pods: implementation child Pod なし。
- Bounded code map: `crates/tui/src/composer_keys.rs`, `crates/tui/src/multi_pod.rs`, relevant Panel composer tests。
IntentPacket:
Intent:
- Workspace Panel composer で `Alt+Enter` を SessionView / shared composer key handling と同じ改行挿入として扱い、submit/open/dispatch を起こさないようにする。
Binding decisions / invariants:
- `Alt+Enter` は composer editing key。Panel action key ではない。
- bare `Enter``Alt+Enter` の意味を明確に分離する。
- Panel composer は shared `composer_keys` 方針に従う。
- Panel row selection / Ticket action semantics、Companion / Ticket Intake target semantics は変更しない。
- bare letter shortcuts は復活させない。
Requirements / acceptance criteria:
- Panel composer に text がある状態で `Alt+Enter` が draft newline を挿入する。
- composer empty / row selected / Ticket action selected でも `Alt+Enter` は submit/open/dispatch しない。
- bare `Enter` の existing submit/open/dispatch behavior は維持される。
- SessionView 側の `Alt+Enter` newline behavior は壊さない。
- focused test で Panel `Alt+Enter` newline and no action を確認する。
Implementation latitude:
- `composer_edit_action(key)` を Enter action 分岐より前に適用するか、Enter 分岐で modifiers を除外するかは実装判断。
- Existing tests への追加または新規 focused regression test のどちらでもよい。
- UI hint update は必要なら最小限。
Escalate if:
- terminal/crossterm が対象環境で `Alt+Enter` を識別できない。
- edit-first 処理が completion / target switching / row action 前提と衝突する。
- SessionView 側にも同根の regression が見つかる。
Validation:
- `cargo test -p tui composer_keys`
- Panel focused tests / `cargo test -p tui multi_pod --lib` など変更箇所に応じた subset。
- `cargo fmt --check`
- `git diff --check`
Critical risks / reviewer focus:
- `Alt+Enter` が action dispatch に落ちないこと。
- bare `Enter` semantics の regression。
- shared composer key handling 方針から外れた ad-hoc 実装になっていないこと。
- Panel target / row selection action identity が変わらないこと。
---
<!-- event: state_changed author: yoi-orchestrator at: 2026-06-15T06:39:16Z from: queued to: inprogress reason: orchestrator_acceptance field: state -->
## State changed
Routing decision と accepted implementation plan を記録済み。blocking relation / unresolved OrchestrationPlan blocker はなく、Panel Alt+Enter bugfix は同時に開始する single-Pod View selection work と主対象が異なるため、implementation side effects の前に `queued -> inprogress` acceptance を記録する。Panel visual hierarchy work `00001KV4ZPAD3` は conflict/capacity 理由で queued のまま待機させる。
---