# 代码审核问题 Checklist（给其他 AI）

完整说明见：`Doc/CODE_REVIEW_ISSUES_2026-05-29.md`

---

## P0

- [ ] **ISSUE-10** `SimpleLite/Persistence/Repositories/CarRepository.cs` — `CarTypeBinder` 白名单过严，可能拦 `System.String`/`System.Int32` 等，导致 `DeserializeObject(car)` 失败。修复：放宽安全 BCL 类型或缩小 `TypeNameHandling.Auto` 范围；用真实 DB 回归。

## P1

- [ ] **ISSUE-05** `SimpleLite/Web/ReflectionApiController.cs` — `SetProjectField` / `SetAppConfigField` 未检查 `[FieldMember].writableViaApi`，与 `MapObjectFactory.TryApplyField` 不一致。修复：writableViaApi=false → 403。

- [ ] **ISSUE-04** 未跟踪文件需 `git add`：`MiGu.Server/Launcher/*`、`WorkspaceToolbarApiController.cs`、`MonitorVisibilityConfig.cs`、`CurveControlPointDragService.cs`。

## P2（可选）

- [ ] **ISSUE-01** `AuthController.Login` — `MaybeStart` 仍可能阻塞 ~8s。
- [ ] **ISSUE-02** `Me`/`SwitchScope` — 复用外部 SimpleLite 时 RunMode 可能不准。
- [ ] **ISSUE-03** `appsettings.json` — 默认 admin 密码，生产需覆盖。
- [ ] **ISSUE-06** `GetMonitorConfig` — GET 写 `Configuration.conf.monitorVisibility`。
- [ ] **ISSUE-07** `PostMonitorConfig` — POST 即写 `simple.json`。
- [ ] **ISSUE-08** `WorkspaceToolbarApiController.GetState` — 响应格式与 `ReflectionEnvelope` 不一致。
- [ ] **ISSUE-09** MapEdit vs Toolbar 录制/图层 API 重复，易漂移。
- [ ] **ISSUE-11** `SimpleSceneRenderer` — 极端高频 redraw 竞态（观察）。
- [ ] **ISSUE-12** `Car.OnlineCar`/`OfflineCar` — Web 反射权限确认。
- [ ] **ISSUE-13** `WorkspacePickSession` — `realtime=true` 待 CycleGUI。
- [ ] **ISSUE-14** `WorkspaceViewModeService.TryBind2DPanOnly` — 依赖 CycleGUI 版本。
- [ ] **ISSUE-15** `WorkbenchTableRowUi` — 双击 400ms 模拟（低优）。
- [ ] **ISSUE-16** 底栏 CAD 已移除 — 产品确认。

---

## 推荐顺序

`ISSUE-10` → `ISSUE-05` → `ISSUE-04` → 其余 P2
