thread-master/docs/product/opportunity-inbox/tasks/T843-demand-map-enrichment-...

1.7 KiB
Raw Blame History

T843 — demand map enrichment metering byok

Status: done2026-08-11 Milestone: M4 Est. change: ~190 lines

Goal

完成後使用者確認 CostPreview 後才可用 AI 擴充 DemandMap成功才切換版本並正確記錄 platformBYOK 用量。

Depends on

  • T840、T841、T842

Inputs

  • apps/backend/internal/module/radar/usecase/suggest.go
  • apps/backend/internal/module/usage/domain/**
  • apps/backend/internal/logic/radar/**
  • Spec §4.1、§5.1§5.3、驗收 #17、#20、#22

Outputs

程式變更(預期路徑)

路徑 動作 說明
apps/backend/internal/module/radar/usecase/demand_map_enrich.go add preview gate、AI output validation、merge
apps/backend/internal/logic/radar/enrich_demand_map_logic.go add authenticated action
apps/backend/internal/module/radar/usecase/demand_map_enrich_test.go add success、invalid output、retry、BYOK
apps/backend/internal/module/usage/** edit 沿用 meter、source=radar.demand_map

行為變更

  • provider 未完成有效結構時不切 current map依既有失敗退點規則處理。
  • BYOK platform credits=0count/source 仍增加。

API / 契約(若有)

  • POST enrichment 必須帶 preview_id、credit_ceiling、context version。

Out of scope

  • 不做每日 sweep、不改產品真相、不新增第五 meter。

Acceptance

  • enrichment 成功、失敗、重試與版本衝突行為可對帳。
  • AI token 不回前端。
  • 指令:
cd apps/backend && go test ./internal/module/radar/... ./internal/module/usage/... -run 'DemandMap|Enrich|Meter' -count=1

Notes

AI phrases 必須帶 basis不得把模型推測當產品承諾。