thread-master/docs/product/opportunity-inbox/tasks/T811-mock-review-state-repo...

56 lines
1.4 KiB
Markdown
Raw Normal View History

2026-08-13 02:22:24 +00:00
# T811 — mock review state repository
> Status: `done`
> Milestone: `M1`
> Est. change: `~180 lines`
## Goal
完成後 mock repository 可對 pendingcompletedremoved 做完成、移除、復原與 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 維持 0mock repository 不產生計點事件)。
- [ ] 指令:
```bash
cd apps/web && npm run test -- radarRepo
```
## Notes
移除原因 `other` 必須要求 noteduplicate target 必須同 owner。