thread-master/docs/product/opportunity-inbox/tasks/T821-query-plan-preview-moc...

56 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2026-08-13 02:22:24 +00:00
# T821 — query plan preview mock
> Status: `done`
> Milestone: `M2`
> Est. change: `~150 lines`
## Goal
完成後使用者可在探索前看到由 DemandMap 產生的 16 組使用者語言查詢與排除訊號,且純產品名不會單獨成組。
## Depends on
- T820
## Inputs
- `apps/web/src/components/radar/WatchSuggestPanel.tsx`
- `apps/web/src/data/mock/radarRepo.ts`
- Spec §4.2、驗收 #7
## Outputs
### 程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/components/radar/QueryPlanPreview.tsx` | add | 查詢組、來源 basis、排除訊號預覽 |
| `apps/web/src/data/mock/radarRepo.ts` | edit | deterministic query plan |
| `apps/web/src/components/radar/WatchSuggestPanel.tsx` | edit | 接 DemandMap 與 query plan |
### 行為變更
- 同義痛點分散查詢組;產品/品牌名稱只作輔助召回。
### API / 契約(若有)
- QueryPlan 保存 DemandInputVersion、DemandMapVersion 摘要。
## Out of scope
- 不改 Threads provider、不實作 live search。
## Acceptance
- [x] 任何查詢組至少含困擾、情境或期望結果之一。
- [x] 查詢組數遵守 16 與短詞規則。
- [ ] 指令:
```bash
cd apps/web && npm run test -- QueryPlanPreview WatchSuggestPanel
```
## Notes
預覽要能回答「系統會用什麼人話找人」,不是只列模型術語。