# 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: ```json {"sdk_module":"git.yuntuo.hk/k2safe/orbit/sdk/go","independent":true,"package_count":30,"forbidden_dependencies":0} ``` 该轮覆盖 SDK 核心、Worker/事件客户端、流程/任务 API、全部负载工具、全部可运行示例及 result-inbox/task-outbox;新增文件转换示例的单元测试也通过。协议常量、路由和 schema 的当前版本同步检查由 [`make protocol-check`](../sdk/compatibility.md) 通过。文档本地链接、shell 语法和 `git diff --check` 同步通过。该门禁不包含真实 MySQL/进程集成,后者仍按目标工具链单独执行。 随后在 Docker Go 1.27.1、MySQL 8.4.10 和真实 Orbit HTTP 服务下,独立复跑了 result-inbox 与 task-outbox 的 Integration 测试;两组均覆盖业务 COMMIT 回执丢失、进程故障接管或 ACK 前恢复等边界,并完成初始化与 demo,具体耗时和范围见 [P7 当前回归状态](phase-7-regression-status.md)。这证明独立业务 module 的真实数据库接入可运行,但不等同于全部示例、跨版本协议矩阵或生产拓扑验收。 同一工具链还完成了 24 个 SDK 可运行示例及三个负载工具的真实 Orbit 服务串跑,逐项核对任务、Worker、事件订阅、定时、资源、流程和恢复结果;负载工具输出均为 `complete=true` 且 `unverified=0`。这批结果补齐了当前候选的示例可运行性证据,仍不能替代跨标签兼容、目标数据库拓扑和生产容量验收。 ## 发布边界 本报告记录本地独立发布门禁。后续 Go 1.27.1 标准全量集成结果见[当前回归状态](phase-7-regression-status.md),首个远端接入版本及取包方式见[SDK 发布说明](../sdk/release.md)。正式生产候选仍需建立旧 SDK/新服务端、新 SDK/旧服务端的完整协议兼容矩阵。独立门禁不能证明外部业务幂等、TLS、凭据托管或生产容量。