# 2026-06-08 — sync_logs 30 天自动清理

## 背景

设计标准 `design-standards.md` 规定 `sync_logs` 保留 30 天；代码仅有手动 `reconcile-stale-logs`，无自动 purge，表会无限增长。

## 方案

1. `SyncLogRepositoryImpl.purge_older_than(retention_days=30)` — 按 `started_at` 批量 DELETE（每批 1000 行）。
2. `sync_log_purge_loop` — primary worker 启动后立即执行一次，之后每 24h 重复。

## 涉及文件

- `server/infrastructure/database/sync_log_repo.py`
- `server/background/sync_log_purge.py`
- `server/main.py`

## 测试

```bash
pytest tests/test_sync_log_purge.py -q
bash scripts/local_verify.sh
```

## 回滚

移除 `main.py` 中 `sync_log_purge` 任务；已删除行不可恢复。
