# T015 — Scout UI 文案與回歸案例

> Status: `done`
> Milestone: `M1`
> Est. change: `~60 prod + 150 test lines`

## Goal

完成後，批次計數、不足原因、時間及狀態文案完整中英文化，Phase B 行為有整體回歸證據。

## Depends on

- T014

## Inputs

- 讀取 / 依賴：
  - 檔案：`apps/web/src/lib/i18n/messages.ts`、`apps/web/src/pages/ScoutPage.test.tsx`
  - 既有能力 / API：i18n、Badge、EmptyState
  - Spec 段落：§2.2、§4 流程 D/E

## Outputs

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

| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/lib/i18n/messages.ts` | edit | 新增 run status、目標／實得、shortfall、時間與刷新文案。 |
| `apps/web/src/pages/ScoutPage.test.tsx` | edit | 覆蓋 mock workflow、雙 pager、時間與不足提示。 |

### 行為變更

- 不直接顯示 shortfall reason code；所有已知原因都有中文與英文文案。

### API / 契約（若有）

- 未知 reason 使用安全 fallback，不隱藏 shortfall_count。

## Out of scope

- 不重新設計全站視覺、不新增 UI library。

## Acceptance

- [x] mock workflow 通過 Spec #8、#10–#16 對應案例。
- [ ] 指令：

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

驗收結果：ScoutPage tests、lint、build 通過（既有 lint warnings 不影響 exit code）。

## Notes

保持 Harbor Desk 現有元件與排版語言。
