60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
|
|
# 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。
|