# 审计 — 2026-06-29 宝塔 bootstrap 跳过无意义 reload **Changelog**: `docs/changelog/2026-06-29-btpanel-bootstrap-skip-reload.md` ## Step 3 规则扫描 | 文件 | 规则 | 结论 | |------|------|------| | `ssh_bootstrap.py` | 有变更才 reload;仍原子写 api.json | PASS | | `test_btpanel_ssh_bootstrap.py` | 远程脚本含 `if actions:` 先于 reload | PASS | ## Closure | 项 | 状态 | 说明 | |----|------|------| | 重复 bootstrap 踢面板会话 | FIXED | `actions` 空则跳过写盘与 reload | | 首次对接须 reload | OK | 新 token / 开 API / 加白名单仍 reload | ## 文件清单 - `server/infrastructure/btpanel/ssh_bootstrap.py` - `tests/test_btpanel_ssh_bootstrap.py` - `docs/design/specs/2026-06-20-btpanel-module-design.md` ## DoD - [x] Step 3 规则扫描 - [x] Closure 表 - [x] 文件清单与本次改动对齐 - [x] `pytest tests/test_btpanel_ssh_bootstrap.py` 16 passed - [x] 生产 rsync + Docker upgrade