# T832 — mongo review fields migration indexes

> Status: `done`
> Milestone: `M3`
> Est. change: `~180 lines`

## Goal

完成後 Mongo 能保存 review 欄位與 audit／查詢索引，舊文件可在無回填情況下被讀取。

## Depends on

- T830、T831

## Inputs

- `apps/backend/internal/module/radar/repository/opportunity_mongo.go`
- `apps/backend/generate/database/mongo/`
- 既有 owner＋external identity index
- Spec §3.2、§3.3、§10

## Outputs

### 程式變更（預期路徑）

| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/backend/internal/module/radar/repository/opportunity_mongo.go` | edit | review fields、audit、tombstone merge 與 filters |
| `apps/backend/generate/database/mongo/000016_opportunity_inbox_review.*.json` | add | 可重跑 migration／索引 |
| `apps/backend/internal/module/radar/repository/opportunity_mongo_test.go` | edit | legacy／index query tests |

### 行為變更

- list 以 review state、posted range、priority sort server-side 穩定分頁。

### API / 契約（若有）

- UTC unix ns 比對；pagination total 與 list 一致。

## Out of scope

- 不做資料全庫回填、不改 ProductMatch index。

## Acceptance

- [x] migration up/down 可重複，舊 document decode 不失敗。
- [x] review／tombstone／audit 索引加入既有 owner＋external identity，list 以索引欄位查詢。
- [ ] 指令：

```bash
cd apps/backend && go test ./internal/module/radar/repository -run 'Mongo|Index' -count=1
```

## Notes

只新增本功能必要索引，避免破壞現有去重索引。
