diff --git a/.yoi/tickets/00001KV04NJ8D/item.md b/.yoi/tickets/00001KV04NJ8D/item.md index 82042c4c..ec73b7e3 100644 --- a/.yoi/tickets/00001KV04NJ8D/item.md +++ b/.yoi/tickets/00001KV04NJ8D/item.md @@ -2,7 +2,7 @@ title: 'TUI rewind picker の Enter 後に live 表示が巻き戻らない問題を調査・修正する' state: 'inprogress' created_at: '2026-06-13T09:23:07Z' -updated_at: '2026-06-13T10:56:45Z' +updated_at: '2026-06-13T11:14:26Z' assignee: null readiness: 'implementation_ready' risk_flags: ['tui', 'pod-protocol', 'persistence', 'history-rewind'] diff --git a/.yoi/tickets/00001KV04NJ8D/thread.md b/.yoi/tickets/00001KV04NJ8D/thread.md index 18195ed8..5336c084 100644 --- a/.yoi/tickets/00001KV04NJ8D/thread.md +++ b/.yoi/tickets/00001KV04NJ8D/thread.md @@ -186,4 +186,29 @@ Critical risks / reviewer focus: Ticket evidence、relations、orchestration plan、関連 closed Ticket、bounded code map、Orchestrator worktree clean state を確認した。blocking relation はなく、rewind live refresh の要件・invariants・escalation conditions は実装可能な粒度で記録済み。実装 side effect の前に routing decision / IntentPacket / accepted plan を記録したため、専用 child worktree と Coder delegation に進む。 +--- + + + +## Implementation report + +Implementation report for commit 949ceb5a (fix: refresh tui after rewind) + +Files changed: +- crates/tui/src/app.rs: added rewind apply-pending state, post-rewind live-update fence, authoritative RewindApplied restore path that always clears/replays retained entries, actionbar-visible failure handling, and focused rewind refresh tests. +- crates/tui/src/single_pod.rs: route Esc through cancel_rewind_picker so submitted rewinds stay visibly pending until the Pod responds. +- crates/tui/src/ui.rs: show an applying/waiting state in the rewind picker header while RewindTo is pending. + +Validation: +- cargo test -p tui rewind_refresh_tests: PASS (4 tests). +- cargo test -p tui single_pod::tests::rewind_picker: PASS (2 tests). +- cargo fmt --check: PASS. +- git diff --check: PASS. +- cargo test -p tui: ATTEMPTED; unrelated failures remain in multi_pod::tests::orchestrator_launch_context_uses_orchestration_root_for_runtime_workspace and spawn::tests::{profile_choices_include_builtin_and_project_default_marker, profile_choices_use_project_registry_default}. The rewind-focused tests above passed. + +Residual risks: +- The stale-update fence is intentionally short-lived and clears on authoritative Status/Snapshot after RewindApplied; it drops queued display-mutating live events during that window to avoid re-polluting the restored session tail. +- No protocol or Pod persistence changes were made. + + ---