rebuild(stage-15): complete governance and handoff

This commit is contained in:
leefer
2026-07-30 08:46:12 +08:00
parent fa7a8dde06
commit d1b3b977d2
14 changed files with 498 additions and 13 deletions
+47
View File
@@ -0,0 +1,47 @@
# 阶段 15 总验收
## 产品覆盖
- 《小白复盘完整产品规格说明书》第25节85个固定案例已逐项映射,见`../../final/spec-coverage.md`
- 权限、账号隔离、算法、数据质量、日期、失败语义由单元/API测试验证;布局、交互、主题、响应式和移动端由真实Playwright流程与阶段截图验证。
- 16个工作区、策略跟踪内部页、账户/会员/系统管理及全局搜索、弹窗、主题、提醒均有可达证据。
## 减法结果
- 旧运行时代码:55个文件、61,793行;重建运行时代码:206个职责文件、25,151行。
- 运行时代码净减少36,642行,约59.3%;迁移/备份工具、测试和文档未混入运行时比较。
- 唯一浏览器API、数据网关、LLM网关、弹窗Host、设计令牌和移动规则均通过扫描。
- LLM网关原有3个账户领域具体类型反向导入已改为最小Protocol,未增加第二套服务。
- 超过章程建议行数的算法、Provider和CSS已逐项登记保留原因及拆分触发条件,见`../../final/subtraction-audit.md`
## 维护与回退演练
- 已在真实迁移库副本执行schema 10 -> 9 -> 10,完整性及外键检查通过;明确验证数据回退只能在副本执行。
- 演练发现并修复`tools.database status`对已有migration误报未知版本的问题;状态查询现在只读,真实副本返回`schema_version=10`
- 人工维护入口、常见改动路径、数据源标准、故障定位与复杂度红线见`../../final/maintenance-guide.md`
- NAS切换、观察和回退动作见`../../final/cutover-checklist.md`;正式容器未变更。
## 安全与性能
- npm生产依赖审计:0个已知漏洞。
- Python `requirements.txt`审计:0个已知漏洞。
- 生产响应统一设置CSP、`nosniff`、拒绝Frame、Permissions Policy、Referrer PolicyHTTPS增加HSTS。
- CSP保留Vue动态宽度样式所需的`style-src 'unsafe-inline'`,脚本仍只允许同源。
- 静态哈希资源长期缓存,SPA入口不缓存;未知API不被SPA接管。
- 真实迁移库副本市场摘要中位数20.90ms、P95 23.55ms;前端生产JS 279.23KB、CSS 89.25KB(未压缩)。
## 最终门禁
- Ruff:通过。
- pytest99项通过。
- Vue TypeScript:通过。
- Vitest3个文件、7项通过。
- Vite生产构建:通过。
- Playwright17项通过,单worker,最后一轮耗时约1分钟。
- `git diff --check`和已知敏感值扫描:通过。
- Docker:本机未安装,未虚报实构建;列为NAS切换前阻断项。
## 结论
从零重建、数据迁移工具、备份恢复、结构治理、移动端、性能安全和人工维护资产已经完成。
当前代码具备进入独立NAS预发布验证的条件,但未经用户最终确认不会替换正式容器。