daemon-tui-r1-01 — 恢復分頁 TUI 並修正鍵盤選取捲動
Plan: sha256:91bd91c404960e3df9294d7d0bbc45ebf5b22275ded6a661e01900e383a54f00
Cycle: 2026-W37
Priority: 1
Risk: medium
Token ceiling: 12000
Goal
以 roc-it daemon 在前景同時執行 scheduler 與 Welcome、Tasks、Memories、Token Usage 四分頁 TUI,支援登入引導、任務監看、已存上下文及目前週期用量,退出時一併停止。
Problem
現有 tui 只開啟任務看板,沒有歡迎頁或共用分頁導覽。 原任務 #95 的實作被獨立 Review 拒絕,因為長列表中切換鍵盤選取會重設捲動,令選中任務離開畫面。
Desired outcome
roc-it tui 開啟歡迎頁,使用者可切換到任務頁;task board 仍直接開啟純監看的任務頁。 長列表中以 J/K 或上下方向鍵切換選取時,選中的卡片保持可見。
Scope
- 沿用現有終端 session 與看板 renderer,建立可加入 Memories 和 Token Usage 的分頁導覽;本項先交付 Welcome 與 Tasks。
- 參考提供的截圖,以頂部分頁、突出提醒區塊、清楚邊框與留白呈現終端介面。
- 保留任務階段、最近已記錄活動、受阻原因、驗收結果及 Issue/PR 詳情;提供鍵盤與滑鼠分頁切換、刷新和窄視窗布局。
- 從 sourceCommit 還原已修正並經本地檢查的完整 Welcome/Tasks 實作;核對現有主分支並由 Roc 對最終 commit 重新進行獨立 Review。
- 只在選中卡片超出可視範圍時調整捲動;保留 PgUp/PgDn 手動翻頁、滑鼠點選及列表首尾循環選取。
Non-goals
- 啟動 scheduler、任務啟停或重試操作。
- 網頁介面、完整配色主題系統或像素級還原截圖。
Acceptance criteria
- tui 預設顯示 Welcome;task board 直接顯示 Tasks,兩者均不啟動執行。
- 沒有 Roc 設定或 GitHub 登入時仍可開啟 Welcome,顯示待設定狀態而非退出。
- 切換分頁或縮放視窗不遺失選中任務;GitHub 刷新失敗保留上一份資料並標示過期或錯誤。
- 原有 task board 的非 TTY 輸出仍可使用;退出或終端錯誤後恢復終端狀態。
- 在 80×24 和 40×24 終端顯示 12 個任務,連按六次 J 後第七個任務及其狀態保持可見;寬版多欄布局同樣成立。
- 翻頁後再使用 J/K 或上下方向鍵,以及從首項/末項循環選取時,選中卡片重新可見;手動翻頁本身不被強制拉回選取位置。
Validation
- 執行 bun run check。
- 以終端 I/O fixtures 驗證導覽、任務詳情、縮放、刷新失敗及終端恢復;手動檢查 80 欄與窄視窗。
- 執行 bun test test/cli/task-board-session.test.ts test/cli/task-board-renderer.test.ts test/cli/tui-renderer.test.ts test/cli/help.test.ts,驗證 40、80、120 欄下的長列表、翻頁後選取、箭頭鍵、首尾循環及滑鼠命中位置。
Dependencies
daemon-tui-r1-01 — 恢復分頁 TUI 並修正鍵盤選取捲動
Plan: sha256:91bd91c404960e3df9294d7d0bbc45ebf5b22275ded6a661e01900e383a54f00
Cycle: 2026-W37
Priority: 1
Risk: medium
Token ceiling: 12000
Goal
以 roc-it daemon 在前景同時執行 scheduler 與 Welcome、Tasks、Memories、Token Usage 四分頁 TUI,支援登入引導、任務監看、已存上下文及目前週期用量,退出時一併停止。
Problem
現有 tui 只開啟任務看板,沒有歡迎頁或共用分頁導覽。 原任務 #95 的實作被獨立 Review 拒絕,因為長列表中切換鍵盤選取會重設捲動,令選中任務離開畫面。
Desired outcome
roc-it tui 開啟歡迎頁,使用者可切換到任務頁;task board 仍直接開啟純監看的任務頁。 長列表中以 J/K 或上下方向鍵切換選取時,選中的卡片保持可見。
Scope
Non-goals
Acceptance criteria
Validation
Dependencies