Files
orbit/docs/reports/phase-7-sdk-release.md

28 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P7:SDK 独立发布门禁
验证日期:2026-09-20。本批为 SDK 发布准备增加独立 module 门禁,确保业务项目不会隐式依赖 Orbit 服务端模型、迁移或 MySQL。
## 门禁内容
[`scripts/test-sdk-isolation.sh`](../../scripts/test-sdk-isolation.sh) 在 SDK 目录强制 `GOWORK=off`,检查 go.mod 和完整依赖图,拒绝服务端内部包、平台模型、Pulse/Weave 包及 MySQL 驱动,然后运行:
- `go test -race ./...`
- `go vet ./...`
- `go build ./...`
门禁不发布模块、不生成 replace 路径,也不把 API 兼容性结论扩大到未执行的旧/新版本组合。
## 实际结果
先在 Docker Go 1.25 临时 modfile 环境执行门禁,退出码为 0;随后在仓库声明的 Docker Go 1.27.1 环境使用真实 `go.mod`/`GOWORK=off` 重跑 SDK、全部示例和两个独立业务模块,race、vet、build 均退出 0:
``@@BT@json
{"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":27,"forbidden_dependencies":0}
``@@BT@
该轮覆盖 SDK 核心、Worker/事件客户端、流程/任务 API、全部负载工具、全部可运行示例及 result-inbox/task-outbox;新增文件转换示例的单元测试也通过。协议常量、路由和 schema 的当前版本同步检查由 [`make protocol-check`](../sdk/compatibility.md) 通过。文档本地链接、shell 语法和 `git diff --check` 同步通过。该门禁不包含真实 MySQL/进程集成,后者仍按目标工具链单独执行。
## 发布边界
SDK 当前仍未发布正式版本标签。正式候选还需在资源充足环境用 Go 1.27.1 完成真实 MySQL/进程标准集成回归,建立旧 SDK/新服务端、新 SDK/旧服务端的协议兼容矩阵,并在干净 checkout 中验证版本标签、校验和与业务项目 `go mod tidy`。独立门禁不能证明外部业务幂等、TLS、凭据托管或生产容量。