test: add current protocol compatibility gate

This commit is contained in:
2026-09-20 01:30:28 +08:00
parent 88ec4545b4
commit 695dc969aa
10 changed files with 165 additions and 5 deletions

View File

@@ -0,0 +1,20 @@
# P7 协议兼容矩阵与门禁
验证日期:2026-09-20。本批把当前服务端、独立 Go SDK 和机器可读 WebSocket schema 的版本边界固定为可执行检查,并明确历史版本组合尚未具备证据。
## 检查内容
[`scripts/test-protocol-compatibility.sh`](../../scripts/test-protocol-compatibility.sh) 检查:
- 服务端和 SDK 的 Worker 子协议均为 `pulse.worker.v1`,连接路径均为 `/v1/worker/connect`;
- 服务端和 SDK 的结果事件子协议均为 `orbit.events.v1`,连接路径均为 `/v1/events/connect`;
- Worker/事件帧构造和 JSON schema 的 `protocol_version` 均为 `1`,schema `$id` 分别固定为 worker.v1 与 events.v1;
- HTTP 接口主版本为 `/v1`,流程定义 schema 版本为 `1`,当前数据库迁移版本为 v28。
## 实际结果
```json
{"http_api":"/v1","worker_subprotocol":"pulse.worker.v1","event_subprotocol":"orbit.events.v1","worker_frame_version":"1","event_frame_version":"1","workflow_schema_version":1,"status":"current_contracts_match","historical_pairs":"not_verified"}
```
当前同一 checkout 的 SDK 单元/竞态测试、服务端协议测试和真实 MySQL/HTTP/WSS 集成测试覆盖当前组合。仓库尚未有正式 SDK 或服务端标签,因此“旧 SDK + 新服务端”和“新 SDK + 旧服务端”不能标记为通过;发布候选需建立至少一个带标签的旧版本 fixture 后再补两组矩阵回归。

View File

@@ -20,7 +20,7 @@
{"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":27,"forbidden_dependencies":0}
``@@BT@
该轮覆盖 SDK 核心、Worker/事件客户端、流程/任务 API、负载工具和全部可运行示例;新增文件转换示例的单元测试也通过。文档本地链接、shell 语法和 `git diff --check` 同步通过。
该轮覆盖 SDK 核心、Worker/事件客户端、流程/任务 API、负载工具和全部可运行示例;新增文件转换示例的单元测试也通过。协议常量、路由和 schema 的当前版本同步检查由 [`make protocol-check`](../sdk/compatibility.md) 通过。文档本地链接、shell 语法和 `git diff --check` 同步通过。
## 发布边界