thread-master/docs/product/opportunity-inbox/tasks/T831-memory-review-audit-to...

1.6 KiB
Raw Permalink Blame History

T831 — memory review audit tombstone

Status: done Milestone: M3 Est. change: ~190 lines

Goal

完成後 memory repository 可原子保存 review transition、audit 與 removed source tombstone重複命中不建立新卡。

Depends on

  • T830

Inputs

  • apps/backend/internal/module/radar/repository/opportunity_memory.go
  • apps/backend/internal/module/radar/domain/opportunity_review.go
  • Spec §3.1§3.3、§10、驗收 #2#4

Outputs

程式變更(預期路徑)

路徑 動作 說明
apps/backend/internal/module/radar/repository/opportunity_memory.go edit review update、audit、tombstone merge
apps/backend/internal/module/radar/repository/opportunity_review_memory.go add review eventdedupe store
apps/backend/internal/module/radar/repository/opportunity_memory_test.go edit transition、owner、duplicate tests

行為變更

  • removed 再命中只合併 watchtermlast matched不新建、不恢復、不深判。
  • other note、duplicate target owner 與 idempotency 皆由 repository 邊界守住。

API / 契約(若有)

  • repository 回 domain error不得吞掉 audittombstone 寫入失敗。

Out of scope

  • 不接 Mongo、不改 HTTP handler。

Acceptance

  • 同來源併發只保留一筆 Opportunity。
  • review transition 會 append auditidempotent 重送不新增 event。
  • 指令:
cd apps/backend && go test ./internal/module/radar/repository -run 'Review|Tombstone|Opportunity' -count=1

Notes

沿用既有 ownerexternal identity unique semantics。