# 审计 — 推送后台化 + 422 中文化 + 隐藏 CSV 导出（2026-06-08）

**Changelog**:
- `docs/changelog/2026-06-08-push-async-background.md`
- `docs/changelog/2026-06-08-validation-error-loc-zh.md`
- `docs/changelog/2026-06-08-servers-hide-csv-export.md`

## 审计范围

| 文件 | 状态 |
|------|------|
| `server/background/sync_push_runner.py` | ☑ |
| `server/api/sync_v2.py` | ☑ |
| `server/utils/validation_errors_zh.py` | ☑ |
| `frontend/src/composables/push/usePushProgress.ts` | ☑ |
| `frontend/src/components/push/PushToolbar.vue` | ☑ |
| `frontend/src/pages/PushPage.vue` | ☑ |
| `frontend/src/utils/validationErrorFormat.ts` | ☑ |
| `frontend/src/api/index.ts` | ☑ |
| `frontend/src/utils/apiError.ts` | ☑ |
| `frontend/src/pages/ServersPage.vue` | ☑ |
| `tests/test_validation_errors_zh.py` | ☑ |

## Step 3

| 项 | 结论 |
|----|------|
| 推送后台任务独立 DB 会话 | PASS |
| 422 loc_zh 不泄露内部路径 | PASS |
| 隐藏 CSV 仅 UI 移除 | PASS |

## Closure

Gate 7/7 待跑 · 0 FINDING

## DoD

- [x] 推送按钮不长时间 loading
- [x] 校验错误显示「每页条数：不能大于 200」
- [x] 服务器页无导出 CSV 按钮
- [ ] 生产部署与健康检查
