thread-master/docs/product/opportunity-inbox/tasks/T852-judge-structured-resul...

1.8 KiB
Raw Permalink Blame History

T852 — judge structured result cache

Status: done2026-08-11 Milestone: M5 Est. change: ~200 lines

Goal

完成後 AI 深判只處理 shortlist不確定候選輸出可驗證 evidencebasisrisk並以版本唯一鍵復用有效 acceptedrejected 結果。

Depends on

  • T850、T851、T843

Inputs

  • apps/backend/internal/module/radar/usecase/product_fit_ai.go
  • apps/backend/internal/module/radar/usecase/judge.go
  • apps/backend/internal/module/radar/domain/product_match.go
  • Spec §4.4、§5.3、驗收 #10、#16#18

Outputs

程式變更(預期路徑)

路徑 動作 說明
apps/backend/internal/module/radar/domain/judgment_result.go add versioned validinvalid result domain
apps/backend/internal/module/radar/repository/judgment_result_memory.go add memory cacheunique key
apps/backend/internal/module/radar/usecase/judge_pipeline.go add/edit shortlist、structured validation、reuse
apps/backend/internal/module/radar/usecase/judge_pipeline_test.go add validinvalidrejectedreuse tests

行為變更

  • provider公告純名不進 high完整 accepted 或 rejected 結果均可快取。
  • 無法驗證的 evidencebasis 不形成有效快取。

API / 契約(若有)

  • 唯一鍵 ownersourceproductinput/map versionjudge kind。

Out of scope

  • 不接每日 Sweep checkpoint、不做 Mongo cache migration。

Acceptance

  • 同候選跨 watchquery 重跑不再次呼叫 judge。
  • provider 結構成功但判定 rejected 正常計入有效結果。
  • 指令:
cd apps/backend && go test ./internal/module/radar/usecase -run 'Judge|Judgment' -count=1

Notes

AI 不能從品牌/產品名稱自行補痛點或作者背景。