chore: complete tui-pod-restore-picker ticket

This commit is contained in:
Keisuke Hirata 2026-05-23 09:13:57 +09:00
parent 828004a5e2
commit 221b1edd92
No known key found for this signature in database
2 changed files with 0 additions and 74 deletions

View File

@ -15,7 +15,6 @@
- E2E テストハーネス(`tests/e2e/`、opt-in → [tickets/e2e-harness.md](tickets/e2e-harness.md) - E2E テストハーネス(`tests/e2e/`、opt-in → [tickets/e2e-harness.md](tickets/e2e-harness.md)
- TUI 拡充 - TUI 拡充
- TUI から任意タイミングで Compact を発火する system command → [tickets/tui-system-command-compact.md](tickets/tui-system-command-compact.md) - TUI から任意タイミングで Compact を発火する system command → [tickets/tui-system-command-compact.md](tickets/tui-system-command-compact.md)
- Session 直接 resume を廃止し Pod 単位の attach / restore に寄せる → [tickets/tui-pod-restore-picker.md](tickets/tui-pod-restore-picker.md)
- user manifest env override 時の spawn scope overlay 前提ズレ → [tickets/tui-user-manifest-env-overlay.md](tickets/tui-user-manifest-env-overlay.md) - user manifest env override 時の spawn scope overlay 前提ズレ → [tickets/tui-user-manifest-env-overlay.md](tickets/tui-user-manifest-env-overlay.md)
- Run 中の入力キューイング → [tickets/tui-input-queue.md](tickets/tui-input-queue.md) - Run 中の入力キューイング → [tickets/tui-input-queue.md](tickets/tui-input-queue.md)
- ユーザーマニフェストのモデル設定 wizard → [tickets/tui-user-model-setup.md](tickets/tui-user-model-setup.md) - ユーザーマニフェストのモデル設定 wizard → [tickets/tui-user-model-setup.md](tickets/tui-user-model-setup.md)

View File

@ -1,73 +0,0 @@
# TUI: Session 直接 resume を廃止し Pod 単位の attach / restore に寄せる
## 背景
Pod state 永続化と `--pod <name>` resume が入ったことで、TUI が `SessionId` / `SegmentId` を直接選んで復元する必要は薄くなった。現行の `tui -r` は session picker を開き、選択した `SegmentId` から `pod --session <UUID>` 相当の resume を行うが、これは Pod 単位の運用とズレる。
今後の TUI は、通常操作では Session を直接触らず、Pod 名 / Pod state を入口にする。
## 方針
- `tui <podname>` を Pod 名指定の主導線にする。
- 既に同名 Pod が live なら attach する。
- live でなければ、Pod state があれば restore する。
- Pod state がなければ、新規 Pod として作成する。
- `tui -r` / `tui --resume` は Session picker ではなく Pod picker にする。
- 稼働中 Pod と停止済み Pod state を一覧表示する。
- live Pod は attach、停止済み Pod は restore する。
- 最終アクティブ時刻の降順で sort する。
- `tui` 引数なしの場合のみ、現行の「Pod 名を入力して新規 spawn」導線を残す。
- 既存 name dialog は新規作成用として維持する。
- `--session <UUID>` は互換用に残すか、非推奨扱いにする。
- 少なくとも TUI の通常導線からは外す。
- 完全削除する場合は別途明示判断する。
## Pod picker の表示要件
各 row には最低限以下を表示する。
- Pod name
- live / stopped / corrupt などの状態
- 最終アクティブ時刻
- active `SessionId` / `SegmentId` の短縮表示debug 用。主表示は Pod 名)
- preview text取得できる場合のみ
最終アクティブ時刻は、Pod state に持つか、active segment log の最新 timestamp から算出する。実装時に既存 metadata との整合を確認して決める。
## 要件
- `tui <podname>` が以下を満たす。
- live socket reachable なら attach。
- socket が無い / 到達不能で Pod state があるなら `pod --pod <name>` 経路で restore。
- Pod state が無ければ同名の新規 Pod を spawn。
- `tui -r` が Pod picker を表示し、選択した Pod に attach / restore できる。
- `tui -r` は Session 一覧ではなく Pod 一覧を表示する。
- `tui` 引数なしは新規 Pod 名入力 dialog のままにする。
- TUI の通常導線では Session / Segment を直接選ばせない。
- 既存 `--pod <name>` / `--session <UUID>` の CLI 互換を壊さない。
## 完了条件
- live Pod を `tui <podname>` で attach できる。
- stopped Pod state を `tui <podname>` で restore できる。
- unknown Pod name を `tui <podname>` で新規作成できる。
- `tui -r` で live / stopped Pod が最終アクティブ時刻順に出る。
- `tui -r` で選択した live Pod に attach できる。
- `tui -r` で選択した stopped Pod を restore できる。
- TUI の picker / spawn tests を更新する。
- `cargo fmt --check`
- `cargo check --workspace`
- `cargo test -p tui -p pod -p session-store`
## 範囲外
- LLM tool としての任意 Pod 管理 API。
- Pod state の可視性 / capability 制御。
- fork tree 可視化。
- session / segment 単位の新しい TUI UX。
- transcript 全文検索。
## 関連
- `tickets/pod-discovery-restore-tools.md`
- Pod state backend / lifecycle write-through / Pod 名 resume