57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
|
|
# T841 — baseline version and query planner
|
|||
|
|
|
|||
|
|
> Status: `done`(2026-08-11)
|
|||
|
|
> Milestone: `M4`
|
|||
|
|
> Est. change: `~180 lines`
|
|||
|
|
|
|||
|
|
## Goal
|
|||
|
|
|
|||
|
|
完成後系統可從最新 Brand/Product 建立免費 baseline,正確區分實質 input version,並產生 1–6 組合法使用者語言 QueryPlan。
|
|||
|
|
|
|||
|
|
## Depends on
|
|||
|
|
|
|||
|
|
- T840
|
|||
|
|
|
|||
|
|
## Inputs
|
|||
|
|
|
|||
|
|
- `apps/backend/internal/module/radar/usecase/product_context.go`
|
|||
|
|
- `apps/backend/internal/module/radar/usecase/suggest.go`
|
|||
|
|
- Spec §4.1–§4.2、驗收 #6、#7、#21、#22
|
|||
|
|
|
|||
|
|
## Outputs
|
|||
|
|
|
|||
|
|
### 程式變更(預期路徑)
|
|||
|
|
|
|||
|
|
| 路徑 | 動作 | 說明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `apps/backend/internal/module/radar/usecase/demand_map_baseline.go` | add | Product truth→baseline、完整度與 fingerprint |
|
|||
|
|
| `apps/backend/internal/module/radar/usecase/query_plan.go` | add | 多組短詞與 exclude 產生 |
|
|||
|
|
| `apps/backend/internal/module/radar/usecase/query_plan_test.go` | add | 口語、純名稱、版本 table tests |
|
|||
|
|
|
|||
|
|
### 行為變更
|
|||
|
|
|
|||
|
|
- 產品名稱/圖片修改不改 input version;痛點、情境、能力、排除修改會改版。
|
|||
|
|
- incomplete 產品阻擋新巡邏,不回成功空 Sweep。
|
|||
|
|
|
|||
|
|
### API / 契約(若有)
|
|||
|
|
|
|||
|
|
- QueryPlan 保存 input/map version 摘要,遵守 1–6 組短詞規則。
|
|||
|
|
|
|||
|
|
## Out of scope
|
|||
|
|
|
|||
|
|
- 不呼叫 provider、不做 AI enrichment。
|
|||
|
|
|
|||
|
|
## Acceptance
|
|||
|
|
|
|||
|
|
- [x] baseline 五類映射可回指產品 basis。
|
|||
|
|
- [x] 純品牌/產品名不能獨立成 query。
|
|||
|
|
- [ ] 指令:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd apps/backend && go test ./internal/module/radar/usecase -run 'DemandMap|QueryPlan|Baseline' -count=1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Notes
|
|||
|
|
|
|||
|
|
自訂 phrase 保留但在實質產品改版後標記待確認。
|