# 审计 — 全量对齐部署（batch 回收 / sync purge / agent 跳过）

**Changelog**: `docs/changelog/2026-06-08-full-align-deploy.md`

## 变更文件

`main.py` · `servers.py` · `server_batch_common.py` · `server_batch_service.py` · `server_batch_store.py` · `server_batch_job_repo.py` · `sync_log_repo.py` · `server_batch_reconcile.py` · `sync_log_purge.py` · `agent_version.py` · `test_agent_version.py` · `test_server_batch_reconcile.py` · `test_sync_log_purge.py`

## Step 3

| 项 | 结论 |
|----|------|
| 启动回收仅 primary worker，无静默吞错 | PASS |
| sync_logs purge 批量 DELETE，retention=30d | PASS |
| 批量安装跳过：版本 SSOT 来自 agent.py，SSH 探测有超时 | PASS |
| install 跳过不计入失败，lower 版本仍执行 install.sh | PASS |

## Closure

Gate 7/7 PASS · 生产全量对齐部署

## DoD

- [x] pytest 新增用例通过
- [x] local_verify 26/26
- [x] 生产 /health + /app/ 200
- [x] 容器内 recover_orphaned / sync_log_purge 标记存在
