Files

4.6 KiB
Raw Permalink Blame History

GOV-011 开发总结

  • 功能编号:GOV-011
  • 日期:2026-08-17
  • 当前状态:已随 v0.0.9 发布

原始开发需求

用户要求 Node.js 和 MySQL 不绑定具体小版本:Node.js 使用 22.x,MySQL 使用完整 5.7.x,不设置最低补丁版本。utf8mb4、utf8mb4_general_ci 和东八区时区等既有严格约束继续保留;历史证据中的实际版本不得改写。

需求与范围变化

  • Node 生产判断原本已经按主版本 22 校验,本次只补充系列内/外特征测试,没有改写生产逻辑。
  • MySQL 服务端从精确 5.7.42 调整为合法 5.7.x,客户端和 mysqldump 原有 5.7.x 约束保持不变。
  • 健康详情从硬编码 patch 改为服务端元数据中的三段版本;-log 等附加文本不回显。
  • 现行架构、开发规范、本地/Ubuntu 部署手册统一为系列口径;v0.0.8 CHANGELOG、历史 QA、Schema manifest 和已发布档案继续保存真实 5.7.42、22.11.0、22.22.0。
  • 用户确认当前开发库无业务结构并授权本次跳过 v0.0.8 Schema 备份。该决定只形成 GOV-011 一次性例外,不增加通用跳过开关。

实际完成需求

需求 状态 实际结果
Node.js 22.x 系列约束 已完成 覆盖 22.0.0、常规 22.x、带后缀 22.x 与 21/23 边界;生产判断保持 major === 22。
MySQL 服务端完整 5.7.x 已完成 Schema 元数据接受 5.7.0、5.7.41、5.7.42-log,拒绝 5.6、8.0 和无效格式。
健康检查实际版本 已完成 5.7.41-log 返回 MySQL 5.7.41 / ...;DTO 与查询结构不变。
字符规则和时区保持严格 已完成 utf8mb4、utf8mb4_general_ci、库名和 +08:00 失败用例全部保留并扩充。
当前规范统一系列口径 已完成 架构、开发规范、本地开发、Ubuntu 生产和说明性代码注释已更新。
历史证据保持原样 已完成 未批量改写历史功能档案、QA、Schema 基线或 v0.0.8 发布事实。

修复缺陷

  • 修复 Schema 服务端校验把开发机实际 5.7.42 当作唯一合法 patch 的约束错误。
  • 修复 API 健康检查拒绝其他合法 5.7.x 且成功详情硬编码 5.7.42 的问题。
  • 修复当前架构、开发规范和部署手册将补丁版本误写成跨环境强制基线的问题。
  • 完整 Schema 回归发现一处测试仍断言旧错误文案,已同步为 5.7.x 并重新验证。

未完成与延期项

  • 本功能没有数据库结构、迁移或数据变更,因此不存在数据回滚或真实 Schema 导出结果。
  • v0.0.8 Schema 基线没有生成。verify:release、schema:verify 和 governance:finish 会在该缺失条件失败;这是用户已接受的追溯风险,不代表其他测试通过,也不会延伸到后续功能。
  • 不建立 MySQL 各 patch 的自动兼容矩阵;未来遇到特定补丁缺陷时通过独立功能或 ADR 决定是否提高最低版本。

关键提交

提交 中文摘要 推送状态
426870b docs(GOV-011): 制定运行时系列版本实施计划 已推送 Gitea
c8277ef test(GOV-011): 补充 Node 22 系列边界验证 已推送 Gitea
54499f0 fix(GOV-011): 放宽 MySQL 服务端为完整 5.7 系列 已推送 Gitea
dc8da80 fix(GOV-011): 支持 MySQL 5.7 系列健康检查 已推送 Gitea
cce77aa docs(GOV-011): 统一运行时系列版本口径 已推送 Gitea
7478a96 docs(GOV-011): 完成系列版本验证与审查 已推送 Gitea
88e2fdf chore(GOV-011): 发布 v0.0.9 系列版本约束 已推送 Gitea,v0.0.9 指向该提交

验证证据

  • TDD:Schema 的 5.7.0/5.7.41 成功用例先被旧精确判断拒绝;健康检查的 5.7.41-log 用例先被旧实现拒绝,随后最小修改转绿。
  • 排除已授权严格发布基线用例后,Schema 28/28;runtime 3/3、governance 10/10、MySQL 2/2、环境 10/10、契约 3/3、边界 16/16、部署 6/6、Web 11/11、Server 30/30、API 预检 2/2。
  • lint、格式、类型检查、OpenAPI 契约、Web/Server 构建、Playwright 4/4 和源码发布验证通过。
  • GitNexus 相对 v0.0.8 检测为 23 个文件、70 个符号、11 条受影响流程、HIGH;运行流仅落在既定 Schema 与健康检查边界,详见 gitnexus/。
  • 依赖审计为 0 已知漏洞,Redis 返回 PONG;两张视觉截图无溢出或控制台错误。
  • Gitea refs/heads/main 与发布提交 88e2fdffc8c71dd682405c148a81953a8dcee9d6 一致;带注释标签对象为 4d1553b68587a6218416bf0279494d720bb37161,解引用后指向同一发布提交。