ticket: approve 00001KVSMJJNV implementation

This commit is contained in:
Keisuke Hirata 2026-06-23 22:53:20 +09:00
parent c0f4c184ca
commit cca073f8aa
No known key found for this signature in database
2 changed files with 27 additions and 1 deletions

View File

@ -2,7 +2,7 @@
title: 'TUI Console: Paused 中の Ctrl+X で中断ターンをキャンセルできるようにする' title: 'TUI Console: Paused 中の Ctrl+X で中断ターンをキャンセルできるようにする'
state: 'inprogress' state: 'inprogress'
created_at: '2026-06-23T07:02:07Z' created_at: '2026-06-23T07:02:07Z'
updated_at: '2026-06-23T13:49:36Z' updated_at: '2026-06-23T13:53:16Z'
assignee: null assignee: null
readiness: 'implementation_ready' readiness: 'implementation_ready'
risk_flags: ['tui-keybinding', 'pod-lifecycle'] risk_flags: ['tui-keybinding', 'pod-lifecycle']

View File

@ -225,3 +225,29 @@ Next:
- Reviewer に再 review を依頼する。 - Reviewer に再 review を依頼する。
--- ---
<!-- event: review author: reviewer-00001KVSMJJNV-ctrlx-cancel at: 2026-06-23T13:53:16Z status: approve -->
## Review: approve
Review result: approve
Findings:
- なし。
Validation performed by Reviewer:
- `cargo test -p session-store paused_turn_abandoned -- --nocapture` — passed
- `cargo test -p pod paused_cancel_abandons_resume_and_next_input_is_fresh_run -- --nocapture` — passed
- `cargo test -p tui ctrl_x -- --nocapture` — passed
- `git diff --check 5954021c..HEAD` — passed
- `cargo fmt --check` — passed
- `git status --short` — clean
Rationale:
- prior blocker は解消済み。`Pod::cancel_paused_turn()` は fake `RunCompleted { Finished, interrupted: false }` ではなく `LogEntry::PausedTurnAbandoned` を記録する。
- typed lifecycle entry は session log schema / replay に含まれ、`last_run_interrupted` を clear するため restore 後も resume 不可になる。
- tests は JSON kind `paused_turn_abandoned`、replay semantics、explicit lifecycle log、fake normal-finished run が残らないことを確認している。
- TUI acceptance criteria も満たしている。Paused `Ctrl+X``Method::Cancel`、Idle `Ctrl+X` は shutdown のまま、Running cancel は queued input clear を含む既存 behavior を維持している。
- controller test は Paused 到達、cancel 後 Idle、resume rejection、cancel/resume で追加 LLM request が発生しないこと、次入力が fresh run になることを確認している。
---