# v0.11.0-preview 提示模板参数验收 ## 范围与环境 通用错误目录增加模板参数及生成能力;字段名称、限制值、业务码、提示和 HTTP 状态均由项目提供。本轮没有修改 eTax/ePay 业务代码,没有访问业务服务器。 环境为 go1.27.1 darwin/arm64,验收日期 2026-09-24。网络消费者使用本地测试请求;Redis 使用独立本地临时容器,1 CPU、128 MiB、64 PID,只绑定回环地址,关闭持久化,完成后删除。 ## 本地验收 - `GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -p=1 -count=1 -timeout=300s ./...` 全部通过,包含真实生成并编译的项目。 - `go vet ./...`、`go build ./...`、gofmt、`git diff --check` 通过。 - 模板专项覆盖:企业名称/100 与备注/500、缺参/多参/类型错误、整型范围/精度、并发隔离、修改原 map/目录副本、重复解析、WithCause 错误链、转义及非递归替换。 - 目录加载覆盖:重复/非法参数名、Go 关键字、不支持类型、未声明/未使用占位符、非法花括号、空 params、错误 example、同标识旧 messages 冲突。旧固定提示的字面花括号保持不变。 - JSON/YAML 配置保留 int64 示例与运行时参数精度;固定错误函数兼容。 - HTTP 测试覆盖:生成错误与运行时错误共用逻辑,HTTP 200、data:null、403 覆盖、500 兜底、cause 不进入公开响应、RawJSON 成功与失败策略;标准中间件、路由策略及 Context 缓冲克隆保留参数。 - 访问日志保持实际 HTTP 状态、业务码及失败标记;参数诊断不包含参数值。HTTP 200 失败计入指标。原有链路回归通过。 - 本地/共享幂等重放不重复执行业务,保存已解析公开快照;更新目录后重放仍保持原响应及错误信息。 - 最后补充生成消费者对 OpenAPI 参数类型、具体提示示例和 200 成功/失败 schema 的校验,再执行 `GO_OMNI_SCAFFOLD_INTEGRATION=1 go test -race -count=1 ./cmd/go-omni/apigen -run '^TestErrorParams'`。 ## 真实 Redis 验收 `scripts/verifyErrorParamsRedis.py` 在独立容器中执行 `middleware/redis` 全部测试,3 项通过、0 跳过。确认模板重放、目录更新后快照不变、int64 最大值业务码通过 Lua/cjson 仍保持精度、原始参数和内部 cause 不进入持久化快照。原有共享存储并发/过期回归同时通过。 镜像、时间及资源限制见 [Redis 记录](errorParamsRedis.json)。临时容器已删除。未进行 Linux soak、代理长测或完整业务迁移验收。 ## 远程固定版本验收 三条独立远程验收均通过,各自从全新 module cache 安装固定版本 CLI。生成消费者固定依赖远程版本,没有本地 replace。 - 发布标签:`v0.11.0-preview`;源码:`6e3f025aad4e498217ef4e7346725fc7d892940c`。 - module 校验和:`h1:arCeNRbzXsP3/Ocic2zTmm6Cr2nUWR1AcdzlOtoCBfo=`,三条验收一致。 - 提示模板消费者:参数顺序和类型、企业名称/100 与备注/500、生成函数/运行时一致、并发隔离、缺参/类型错误兜底、内部 cause 隔离、HTTP 200/data:null、403 覆盖、raw 输出、OpenAPI 具体示例和参数定义通过。耗时 16.91 秒,见 [模板远程记录](errorParamsRemote.json)。 - 旧固定错误目录消费者:无参数调用、同码不同提示、HTTP 状态、未知错误兜底、中间件提前返回和重生成保护通过。耗时 16.30 秒,见 [目录兼容记录](errorParamsCatalogRemote.json)。 - 迁移消费者:自定义标量、动态 JSON、上传、下载、原始请求体验签、请求体限制及重生成保护通过。耗时 16.61 秒,见 [迁移兼容记录](errorParamsCompatibilityRemote.json)。 - 三条消费者的 race 测试通过,fixture 哈希与当前文件一致;临时项目和 module cache 已清理。 验收记录在 main 单独追加,已发布标签保持不可变。