# 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` 任务;已删除行不可恢复。