# 审计 — 2026-06-04 Code Review P1/P2 批次 2

## Step 3 规则扫描

| H | 规则 | 结论 |
|---|------|------|
| H1 | WebSSH tv | FIXED auth_service + webssh |
| H2 | retry 重复执行 | FIXED SKIP LOCKED |
| H3 | schedule 重复触发 | FIXED FOR UPDATE |
| H4 | Agent fail-open | FIXED agent.py |
| H5 | Bing DoS | FIXED cache-only GET + admin POST sync |
| H6 | install status 侦察 | FIXED 404 when locked |
| H7 | FE 静默失败 | FIXED 5 处 snackbar |

## Closure

| H | 判定 | 依据 |
|---|------|------|
| H1-H7 | FIXED | 见 changelog 与对应文件 diff |

## 改动文件清单

见 `docs/changelog/2026-06-04-code-review-p1-p2-batch2.md`

## DoD

- [x] ruff 零错误
- [x] import server.main
- [x] pytest 28 passed
- [x] vue-tsc 通过
- [x] changelog ≥10 行
