Files

4.0 KiB
Raw Permalink Blame History

验收、发布和回滚

PLAN

必须通过的行为测试

范围 正例 必须拒绝/保持的反例
版本 V_contract读V2,支持的Provider/模型可调用 V_contract-1、不支持format、非法最低版本、直接providerId/SDK/后台/媒体绕过;离线保持最后可消费数据
迁移 旧受管对象规范化、存量保存新格式、重复执行无差异 新旧冲突、任意自定义extra、用户覆写、共享凭据、异常终止、回滚不丢用户数据或激活已退役服务
规格绑定 Nano exact正确、同名不同接入有显式限制 Nano匹配base、reasoning后缀被剥离、日期版本/preview/free不当归一化、模糊family扩权
有效预算 独立输入/总窗口/输出各自生效,正确平台覆盖保留 provider小窗口被Spec覆盖、output>input被当坏数据、未知值变零、272K输入当400K总窗口随意接受
思考/工具/模态 支持档位完整、不能关闭模型不会发关闭请求、协议绑定正确 丢high/none、未适配native型号上架、Cohere兼容Embed发送dimensions、服务能力取并集误标vision
计价 缓存读取/TTL写入、阶梯、币种/模态/时间单位保留 search unit当token、每秒当每分钟、USD填CNY、动态-1当免费、用户覆写价被原厂价覆盖
域名退役 生效规则范围内的受管调用和轮询停止 同host其他有效路径、同厂其他产品误封、凭据重定向泄露、旧缓存/复活同步/显式SDK绕过
全量数据 每个字段owner/消费版本已登记,compiler产物可复现 V2旧键回流、未实现字段装进extra、Provider/Spec手工漂移、来源只刷指纹不复核

本仓检查

已有门禁继续保留:npm run validate、npm test、npm run sources:gaps:check、git diff --check;新增按V2合同检查字段消费/依赖矩阵、模型绑定覆盖、来源字段、显式override理由、生命周期、计价单位、退役活跃引用和生成投影diff。

P0完成时只读扫描不应影响主数据;P1客户端按改动范围测试和构建,不把全库typecheck默认作为本地门禁;CI按项目规则执行。真实调用使用已有授权的测试账号,保存不含凭据的最小请求/状态/费用摘要,不能把模拟或schema校验称为接口实测。

分批发布

  1. 客户端PR:门控+schema/resolver+迁移+退役执行机制,发布实际V_contract并验证安装包有效版本。
  2. config-center基础格式/生成工具PR:发布V2目录与兼容投影选择契约,校验所有未知字段/旧客户端路径;不提前删除旧required字段。
  3. 按供应商迁移数据PR:优先已证据充分的思考、预算、cache/speech字段;每批更新source文档和派生清单。缺证项留独立队列。
  4. 已确认退役Provider/域名PR:精确scope、用户状态和默认回退一起验证。产品下架与厂家停服日期分别写明。
  5. 完成铺开后退出V1手工作者字段与兼容读取;冻结/归档旧投影有明确时间、覆盖率与回滚边界,不只因为代码已合并就移除。

每个数据批次基于当时最新远端manifest递增版本。required checks全绿、CLEAN/MERGEABLE、精确head和零未解决review后合并;随后复核远端数据/编译产物和main CI。文档PLAN本身不递增presetDataVersion。

回滚约束

保留上一份canonical与两种编译产物;数据回退仍用更高presetDataVersion发布,不能降版本号让客户端不拾取。客户端迁移回滚保护用户覆写与凭据;不恢复已证实停服域名、错误身份或无效协议。跨格式不可安全降级时保留最后有效格式并要求支持的客户端,不强塞旧schema。

执行报告

报告真实迁移字段数、仍未分类/待核字段、接入覆盖/匹配层级、解决/保留的差异、已下架具体host/path/provider范围、支持最低版本与未支持旧二进制边界、账号/协议实测结果和剩余依赖。完成率不能只按来源指纹或新增文件数量计。