# T061 — Scout live 載入與完成提示 > Status: `done` > Milestone: `M6` > Est. change: `~170 lines` ## Goal 完成後,ScoutPage 使用 live run APIs,job 完成只提示新批次且不下載全部 posts 或打斷目前頁面。 ## Depends on - T014、T060 ## Inputs - 讀取 / 依賴: - 檔案:`apps/web/src/pages/ScoutPage.tsx`、`JobLiveContext.tsx` - 既有能力 / API:listRuns、listRunPosts、jobsRevision - Spec 段落:§4 流程 D/E、§9 #12/#13 ## Outputs ### 程式變更(預期路徑) | 路徑 | 動作 | 說明 | |------|------|------| | `apps/web/src/pages/ScoutPage.tsx` | edit | 移除剩餘全量 refreshPostsOnJobRevision,接 live page loading 與 new-run banner。 | | `apps/web/src/pages/ScoutPage.test.tsx` | edit | 以 live-shaped fake 驗證 job 完成、手動 refresh 與選取保持。 | ### 行為變更 - job revision 不自動切批次;running run 顯示進度、不顯示半套 posts。 ### API / 契約(若有) - run result 只在選取 run/page 改變時請求。 ## Out of scope - 不改全域 JobsPage 或 websocket/polling 架構。 ## Acceptance - [x] 監看測試 call log,沒有 listPosts 全量呼叫或非目前 run 的 result request。 - [x] 指令: ```bash cd apps/web && npm test -- src/pages/ScoutPage.test.tsx ``` ## Notes TodayPage 可繼續呼叫舊 listPosts,不在本 task 遷移。