diff --git a/.yoi/tickets/00001KV09X0XC/item.md b/.yoi/tickets/00001KV09X0XC/item.md index 45ae6159..bfeb9f41 100644 --- a/.yoi/tickets/00001KV09X0XC/item.md +++ b/.yoi/tickets/00001KV09X0XC/item.md @@ -2,7 +2,7 @@ title: 'Panel から ready Ticket を指示付きで planning に戻して Intake を再開できるようにする' state: 'inprogress' created_at: '2026-06-13T10:54:34Z' -updated_at: '2026-06-13T19:01:36Z' +updated_at: '2026-06-13T19:07:43Z' assignee: null readiness: 'implementation_ready' risk_flags: ['panel-action', 'ticket-lifecycle', 'role-session', 'authority-boundary'] diff --git a/.yoi/tickets/00001KV09X0XC/thread.md b/.yoi/tickets/00001KV09X0XC/thread.md index 36499fb8..b07325f6 100644 --- a/.yoi/tickets/00001KV09X0XC/thread.md +++ b/.yoi/tickets/00001KV09X0XC/thread.md @@ -104,4 +104,30 @@ Residual risks: - The existing Panel composer model exposes this via Ticket Intake target + selected ready row + non-empty text, rather than adding a new visible button/menu surface. +--- + + + +## Review: approve + +Evidence reviewed: +- Inspected `git diff c4465a04..HEAD`; source changes are confined to `crates/tui/src/multi_pod.rs` plus Ticket record/report updates. +- Panel dispatch now has a separate `ReturnReadyTicketToPlanning` path for non-empty composer text when the composer target is Ticket Intake and the selected row action is `Queue`/ready. +- The mutation path reloads the Ticket from `LocalTicketBackend`, rejects non-`ready` current state, and records a typed `ready -> planning` `state_changed` event with author `workspace-panel`, reason `panel_return_to_planning`, and the user instruction in the thread body. +- The follow-up paths are Intake-only: launch when unclaimed, notify live claimed Intake, open/restorable claimed Intake, or diagnose stale claim without duplicate launch. I did not find calls to queue dispatch, `queued -> inprogress`, worktree creation, Orchestrator/Coder/Reviewer spawn in this path. +- Tests cover successful planning return, stale-state rejection, dispatch separation from Queue/generic Intake launch, state-before-launch follow-up, and launched-claim registry handling. Existing queue action coverage remains present. + +Validation run: +- `cargo test -p tui planning_return` — pass (4 tests) +- `cargo test -p tui intake_registry` — pass (4 tests) +- `cargo test -p tui workspace_panel` — pass (12 tests) +- `cargo test -p ticket` — pass (68 tests + doctests) +- `cargo fmt --check` — pass +- `git diff --check c4465a04..HEAD` — pass + +Residual notes: +- No real terminal/PTTY Panel E2E was run; this remains a unit/action-path review only. +- Discoverability depends on the existing composer target model: select a ready Ticket row, switch to Ticket Intake, type non-empty refinement instructions, then Enter. The implementation makes this visible in status/actionbar text; no separate button/menu was added. + + ---