# T811 — mock review state repository > Status: `done` > Milestone: `M1` > Est. change: `~180 lines` ## Goal 完成後 mock repository 可對 pending/completed/removed 做完成、移除、復原與 tombstone 再命中,且所有操作零點數。 ## Depends on - T801、T810 ## Inputs - `apps/web/src/data/mock/radarRepo.ts` - `apps/web/src/data/fixtures/**` - Spec §3.1–§3.3、驗收 #2–#4 ## Outputs ### 程式變更(預期路徑) | 路徑 | 動作 | 說明 | |------|------|------| | `apps/web/src/data/mock/radarRepo.ts` | edit | review state transition、reason、previous state、tombstone | | `apps/web/src/data/mock/radarRepo.test.ts` | add/edit | idempotency、復原與不扣點測試 | | `apps/web/src/data/fixtures/radarInbox.ts` | add | inbox 固定資料集 | ### 行為變更 - removed 再次命中只更新 matched metadata,不建立第二張卡、不恢復、不重判。 ### API / 契約(若有) - Mock method 形狀與 T800 的 review-state API 一致。 ## Out of scope - 不做 live repository、不做 AI 調校。 ## Acceptance - [x] 完成、移除、復原、重送操作結果穩定。 - [x] 所有 review 操作 credits_used 維持 0(mock repository 不產生計點事件)。 - [ ] 指令: ```bash cd apps/web && npm run test -- radarRepo ``` ## Notes 移除原因 `other` 必須要求 note;duplicate target 必須同 owner。