# GoOmni 成熟度计划 ## 1. 新项目启动与发布流程(已完成,v0.1.1) - 修正脚手架固定版本引用,保留显式本地开发选项。 - 生成服务处理退出信号,等待请求完成后清理资源。 - 验收:源码目录外安装远程 CLI → 生成无 replace 的项目 → 编译 → 请求健康接口和业务接口 → SIGINT/SIGTERM 正常退出。 - 自动验收入口:`python3 scripts/verifyScaffold.py --version v0.1.1`。 - 已通过全量 race 测试、vet、build,以及从远程提交安装 CLI 后的无 replace 端到端验收;覆盖生成服务和 `App.Run` 的两种退出信号。 ## 2. 业务数据接入(已完成,v0.2.0) - 数据库初始化、Repository 和 ServiceContext 组合成完整业务启动流程。 - Readiness 注册数据库探针,启动失败与服务退出时清理连接池。 - 验收:真实数据库 CRUD、事务回滚、数据库不可用时 readiness 返回 503。 - `go-omni new --database mysql` 已生成完整数据接入流程,默认内存模式仍然可用。 - 独立 MySQL 8.4 容器已验证 CRUD、唯一邮箱、分页、服务重启持久化、事务提交与错误/panic/取消回滚。 - 已验证初始化失败、缺少表结构、正常退出时关闭连接池,以及数据库停止后的 readiness 503、恢复后的 200。 - 自动验收入口:`python3 scripts/verifyDatabase.py --version v0.2.0`;结束后清理本次测试容器、匿名卷和临时项目。 ## 3. 网络适配一致性(已完成,v0.4.0) - 标准库适配器运行公共契约测试,并为自研网络层保留相同的接入边界。 - 覆盖路由参数、分组、中间件、错误响应和取消传播。 - 验收:切换适配器后,业务 Handler 和 Service 无需修改,约定的 HTTP 行为一致。 - 新增公共 `transport/transporttest.Run`,自研适配器可直接复用;覆盖静态 / 参数 / 通配路由、分组、405 Allow、鉴权短路、错误与 panic、响应提交、requestId、并发隔离、截止时间及真实客户端取消。 - 标准库路由实现明确的路径、方法、尾部斜杠、通配参数、Any 和 404/405 约定;不再引入 Gin 依赖。 - 完整用户 CRUD 已用标准库适配器验证;自研适配器可直接复用同一公共契约测试包。 - 自动验收入口:`python3 scripts/verifyTransports.py --version v0.4.0`,从源码目录外消费远程版本与公共契约测试包。 ## 4. 实际业务试用(已完成,v0.4.0) - 在独立业务目录生成 billing service,先固定远程 `v0.2.0`,再升级到 `v0.4.0`,全程无本地 replace。 - 验证环境配置、结构化访问日志、requestId 关联、参数校验、业务错误映射、CRUD、优雅退出和升级后的 race 测试。 - 业务试用没有要求修改 Handler / Service;现有公共 API 足以支撑一套分层业务模块。 - 自动验收入口:`python3 scripts/verifyBusiness.py --version v0.4.0`。 ## 5. 稳定性与性能基线(进行中) - 已加入标准库路由和完整 GoOmni 请求链 benchmark,输出分配次数和耗时,作为未来自研网络层的对照基线。 - 已具备全量 race、vet、build 验收;生产压测、长连接和真实部署规模验证仍待完成。 - 自动验收入口:`python3 scripts/verifyPerformance.py`。 以上阶段以验收结果判断完成。当前仍是基础框架试用阶段;MySQL、适配层契约和一次业务模块试用已完成,稳定性与性能验证、自研网络内核尚未完成。