fix: 备份覆盖补全(动作库/系统配置入清单)+ 覆盖自检与未登记表告警;发布流程/红线文档更新

问题(2026-09-10 用户反馈):动作库"没有备份"。实测导出 zip 里 agent_action 数据其实在
(导出是 users.db 全库快照),但清单/预览没列它 → 看起来像没备份。同类还有 app_meta。

修复(core/system_backup.py):
- SUMMARY_TABLES 补 agent_action(动作库) 与 app_meta(系统配置) + 中文标签;
- 导出侧**覆盖自检**:登记表若在快照缺失 → manifest.coverage_missing + 日志告警;
- 导入侧**反向自检**:备份含未登记表 → 预览告警提示登记(extra_tables);
- 顶部注释写明新增持久化表必须登记(红线)。

其余:
- monitor.html:数据备份面板文案改为明列全部业务表 + 指引(预览见表行数 / 新增表须登记);
- doc/DEPLOY.md §3.5:新增「备份覆盖清单(红线)」小节(含清单与两侧自检说明);
- doc/DEVELOPMENT.md:§5.6 增「备份覆盖红线」;§6 发布流程重写为分支流程
  (本机建分支 → 用户确认 → 合 dev → dev 整体就绪 → 合 main → 220 部署,附部署命令);
- doc/ARCHITECTURE.md §3.6:补备份覆盖登记提示。

实测:导出清单 12 表(含动作库 3 行、系统配置 8 行),coverage_missing 空;上传预览同样显示、
extra_tables 空。
This commit is contained in:
2026-09-10 21:03:41 +08:00
parent 4b5b836d31
commit d40c867d6f
5 changed files with 65 additions and 12 deletions
+4 -3
View File
@@ -911,9 +911,10 @@ body{background:var(--bg);font-family:var(--body);color:var(--text);font-size:14
<!-- 子分栏 1:数据备份 -->
<div class="sub-panel active" id="system-sub-backup">
<div class="help">
<b>导出</b>当前系统数据为 zip:含 <code>users.db</code>(用户 / 任务计划 / 设备分组 / 自定义动作 /
设备池 / AI 会话 / 经验库等全部表,SQLite 在线一致快照)+ 可选的 <code>apks/</code> 应用文件。
恢复用:换机 / 整库迁移 / 出问题前留底。
<b>导出</b>当前系统数据为 zip:含 <code>users.db</code> 在线一致快照(<b>全部业务表</b>:用户 / 任务计划 / 设备分组 /
自定义动作 / APK 记录 / 设备池 / 待连接设备 / AI 会话 / 经验库 / 经验巡检 / <b>动作库</b> / 系统配置)+ 可选的
<code>apks/</code> 应用文件。恢复用:换机 / 整库迁移 / 出问题前留底。
<br><span class="text-muted">清单见预览的「表数据行数」;新增持久化表须登记进备份覆盖清单(红线,见 doc/DEPLOY.md §3.5)。</span>
</div>
<div class="toolbar" style="gap:8px">
<label style="display:inline-flex;align-items:center;gap:4px;margin:0 6px">