# T014 — 新批次提示與刪除收斂

> Status: `done`
> Milestone: `M1`
> Est. change: `~150 lines`

## Goal

完成後，背景 job 更新不會打斷目前閱讀位置，刪除 run／post 後也不會停在失效空白頁。

## Depends on

- T013

## Inputs

- 讀取 / 依賴：
  - 檔案：`apps/web/src/pages/ScoutPage.tsx`、`apps/web/src/data/JobLiveContext.tsx`
  - 既有能力 / API：jobsRevision、removeRun、removePost
  - Spec 段落：§4 流程 D/F、§9 #12–#15

## Outputs

### 程式變更（預期路徑）

| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/pages/ScoutPage.tsx` | edit | 加入新批次提示、主動 refresh、刪除後頁碼與選取收斂。 |
| `apps/web/src/pages/ScoutPage.test.tsx` | edit | 驗證 job revision 不跳頁、run/post 刪除最後項目。 |

### 行為變更

- job 完成只提示；使用者主動刷新才更新 run page。

### API / 契約（若有）

- running run 的 409 不得當成刪除成功。

## Out of scope

- 不改 jobs 全域列表或取消流程。

## Acceptance

- [x] 新 run 完成後目前 run/page/current post 保持不變。
- [ ] 指令：

```bash
cd apps/web && npm test -- src/pages/ScoutPage.test.tsx
```

驗收結果：`npm run build`、ScoutPage 2 tests passed。

## Notes

空頁收斂以 server 新 total 計算，不以樂觀 list.length 猜測。
