# API、基础模块与业务示例验收 本轮将 API 项目生成与数据库、存储、日志选项组合,新增可运行的用户管理示例。 源码及 CLI 目标版本为 v0.7.0-preview。 ## 本地结果 - 框架 `GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -p=2 -count=1 -timeout=300s ./...`:39 个有测试包通过。 - 包含 10 种 API 组合(none/mysql × none/local/s3/r2/oss)及既有 10 种 CRUD 模块组合;生成项目实际编译并运行测试。 - `go vet ./...`、`go build ./...`、`git diff --check` 通过。 - API 基础回归:starter 与契约项目,在 nethttp/native 共 54 项检查通过。 - 独立用户示例:nethttp/native 共 30 项业务、存储和生命周期检查通过。 - MySQL 真实事务:提交、错误回滚、panic 回滚、context 取消回滚;业务增/改/删在审计写入失败时整体回滚。 - 通过 CLI 显式应用数据库迁移;数据库停机 readiness=503,恢复后重新就绪;进程重启数据仍在。 - 本地初轮 28 份开发者拥有的文件在重生成后保持原字节,包括业务实现、配置、迁移和测试。 - 存储初始化失败关闭此前打开的数据库连接,Close 可重复调用,关闭后不能重开存储。 数据库容器只绑定 localhost,限制 1 CPU / 768 MiB,使用随机临时密钥,退出删除容器及卷。 所有服务器进程都是本机临时子进程;未使用业务服务器。OSS/R2 仍不包含云账号实测。 ## 证据 - [完整框架测试](apiWorkflowTests.txt) - [本地业务报告](apiWorkflowLocal.json) - [API 回归](apiGenerationLocal.json) - [模块脚手架回归](scaffoldModulesLocal.json) ## 远程版本验收 已发布 `v0.7.0-preview`,标签指向 `0ce3efb6fca77951e7ae3046128f82afc28446d1`。 执行 `python3 scripts/verifyAPIWorkflow.py --version v0.7.0-preview --report performance/apiWorkflowRemote.json` 通过: - 从空 module cache 下载并安装远程 CLI,未使用源码构建的 CLI。 - 在全新目录生成 MySQL + local 项目;go.mod 固定 `v0.7.0-preview`,无本地 replace,实际编译通过。 - 独立用户示例的框架依赖从远程下载,module checksum 为 `h1:aHdKHoegW2C7sjkq5D8ls2sxDJ+fWbiZ2UnWDers1yg=`。 - nethttp/native 共 30 项业务、存储、日志与生命周期检查通过;真实数据库迁移、事务和启动清理测试通过。 - 最终示例补充了数据库错误日志边界:原始 driver 错误可能含业务输入,因此返回到 HTTP 访问日志的 500 不携带原文;用单元测试和远程全流程验证。 - 框架发布标签保持不变;示例是独立 module,后续示例和验收报告维护在 main。报告记录了实际测试示例与生成器源码哈希。 [远程验收报告](apiWorkflowRemote.json) 包含准确的文件保护数量、sourceHashes 和各项检查结果。 所有验收已结束,临时服务、数据库容器和测试目录由脚本清理。