CI / Client installer (macos-latest) (push) Canceled after 0s
CI / Client installer (ubuntu-latest) (push) Canceled after 0s
CI / Client installer (windows-latest) (push) Canceled after 0s
CI / test (22) (push) Canceled after 0s
CI / test (24) (push) Canceled after 0s
CI / release-smoke (push) Canceled after 0s
3.0 KiB
3.0 KiB
发布检查清单
每个候选版必须完成
- 当前提交位于
main,工作区除明确忽略的本地缓存外干净;版本号、插件版本和 Git 标签一致。 npm ci、npm test、npm audit --omit=dev --audit-level=high全部通过。release:build、test-bundle:build和release:verify成功,SHA256SUMS校验通过,发行物不包含.secrets、.runtime、数据库、私钥或机器私有路径。- Nginx bootstrap 只开放 ACME challenge;正式站点启用 HSTS,mutable 发行文件返回
no-cache,客户端 tgz 才返回 immutable。连续两次部署时公开目录始终对应一个完整签名清单,旧版本保留数符合策略。 - 从新生成的公开
install.md在干净的用户级目录安装,不使用sudo;安装结果主动返回postInstall,可发现全部 13 个 MCP 工具。 - 首次安装不等待业务查询即产生一条可传递链接;挑战阶段 onboarding 仍为 pending,授权后的首次成功响应在普通文本中展示一次示例,此后不重复。
- 授权后钉钉 OA 与薪福通均为
ok,网关重启后登录状态仍可恢复;登录准备暂时失败不会回滚安装或删除原 OAuth 会话。 - 只读验证待办、本人已处理历史、本人发起历史、历史默认最近 30 天及显式时间窗口、搜索、详情、费用结构化字段、动作、模板 Schema、部门/城市选项和越权拒绝;历史引用必须被动作查询和批处理拒绝。
- 发票查重验证钉钉/XFT 跨来源精确匹配、弱匹配、用户隔离、状态更新、来源不可用、历史截断、详情失败、并发确认、35 天过期清理和网关重启恢复;数据库不得出现用户 ID、发票原号、审批正文或附件。重复风险和不完整覆盖未获用户确认时不得签发可提交
confirmationId。 - 真实写操作只执行用户明确授权的样本;任何
outcome_uncertain都停止,不自动重试。 - Mock 契约确认网关和 bridge 的批量 Schema 均固定为 20;第 6 个截断引用及任一无效退回目标都会返回
preflight_failed、writesStarted=false,上游写调用数为 0。 - 代表性 v4 引用长度满足钉钉 OA 不超过 128 字符、薪福通不超过 80 字符,并通过篡改、过期、跨用户、跨密钥、同密钥重启及 v2/v3 兼容测试。
- 公网
manifest.json的版本、生成时间和 SHA-256 与当前候选版一致。 - E2E 脚本在未设置网关地址、未指定业务编号或未加真实写入开关时不会执行审批;只读运行不会自动选取待办。
正式版额外条件
- 钉钉和薪福通的同意至少各有一个近期真实成功样本,并完成写后复核。
- 对外开放的拒绝、退回和发起模板具备对应的真实成功样本或明确的客户端/实验性降级说明。
- 薪福通撤回取得真实成功样本;在此之前必须保留实验性标记,不得作为正式稳定能力承诺。
- GitHub CI、外部健康检查、OAuth 数据库与密钥成对备份、升级回滚流程均已验证。