4.2 KiB
4.2 KiB
GOV-011 开发总结
- 功能编号:GOV-011
- 日期:2026-08-17
- 当前状态:已完成实现与验证,等待版本发布封存
原始开发需求
用户要求 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 |
验证证据
- 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;两张视觉截图无溢出或控制台错误。