# T863 — live repository inbox integration

> Status: `done`（2026-08-11）
> Milestone: `M6`
> Est. change: `~190 lines`

## Goal

完成後 Phase B 頁面切換 live repository 後，收件匣、DemandMap、CostPreview、Sweep 結果與 mock 行為一致，形成 P0 跨層閉環。

## Depends on

- T833、T843、T862

## Inputs

- `apps/web/src/data/live/radarRepos.ts`
- `apps/web/src/pages/RadarOpportunitiesPage.tsx`
- `apps/web/src/pages/RadarWatchesPage.tsx`
- `apps/web/src/pages/ProductRadarLiveFlow.test.tsx`
- Plan M6、Spec §7.4、驗收 #1–#22、#24

## Outputs

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

| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/data/live/radarRepos.ts` | edit | review/map/preview/sweep mappers |
| `apps/web/src/pages/RadarOpportunitiesPage.tsx` | edit | live actions、errors、partial、empty |
| `apps/web/src/pages/RadarWatchesPage.tsx` | edit | live map／preview／sweep flow |
| `apps/web/src/pages/ProductRadarLiveFlow.test.tsx` | edit | cross-layer contract flow |

### 行為變更

- loading、not-ready、conflict、quota、partial、empty reason 與 mock 一致。
- 產品資料→DemandMap→preview→sweep→收件匣處理→usage 可連續驗證。

### API / 契約（若有）

- 不在 mapper 偷補缺失資料；後端 error 原樣轉為可理解 UI。

## Out of scope

- 不做品質標註、不刪舊 today／dismiss endpoint。

## Acceptance

- [x] live／mock 使用同一組 fixtures 可完成 P0 flow。
- [x] 任一未實作 endpoint 不顯示成功空結果。
- [ ] 指令：

```bash
cd apps/web && npm run test -- ProductRadarLiveFlow RadarOpportunitiesPage RadarWatchesPage && npm run build
```

## Notes

完成後停在 P0 live 驗收，先不進 M7。
