[K-05][low] SDK 工程门禁缺失:四套 SDK 都不在任何检查里、Go SDK 与服务端 Go 版本不一致 #62

Closed
opened 2026-09-30 13:57:07 +08:00 by nixevol · 1 comment
Owner

编号:K-05 严重级:low 工作线:SDK(sdk/) + 测试与文档(test/、docs/*) 来源:审查 S-23
依赖:无 被依赖:无

结论与统一方案

审查 S-23 中各 SDK 自身的部分(假传输导出、gofmt、示例打印令牌、jar 缺 LICENSE)已分别放进 K-01 至 K-04。本 issue 只处理共享部分:

  1. Taskfile.yml 增加 sdk:check:sdk/go 的 gofmt -l(为空)、go vet、go test;sdk/js 的 tsc --noEmit 与 vitest;sdk/python 的单测;sdk/java 的 mvn test。工具链不存在时跳过并提示,不报错。根 task check 的 ./... 不包含独立模块 sdk/go,所以要单独挂。
  2. 发布前检查清单(docs/TASKS.md 或 docs/RELEASE.md)要求执行 task sdk:check。
  3. Go 版本:Go SDK 的 go.mod 写 go 1.27.1,服务端写 go 1.27;按 D30"Go SDK 和服务端的 Go 版本要求相同",统一为 go 1.27(取较低者,不强制补丁版本)。

改动文件

Taskfile.yml(共享文件,按 TASKS 4.2 由总控改)、sdk/go/go.mod、docs/RELEASE.md 或 docs/TASKS.md。

与其他问题的交互 / 冲突说明

K-01 修完 gofmt 后,本 issue 的 gofmt -l 检查才会通过,建议在 K-01 之后合入。

验收与测试

task sdk:check 在装齐工具链的机器上全部通过;缺工具链时给出跳过提示。


问题明细(各区审查原文,证据含文件与行号)

以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。解决方案以本 issue 上方的"结论与统一方案"为准;原文里的方案与之不一致时,按上方执行。

[S-23] 工程质量与打包问题(四套)

  • 严重级:low
  • 分类:质量 / 测试 / 文档
  • 现象与影响:
    1. 测试用的假传输进入了公开 API:Go 放在非测试文件里并导出(外部又无法注入)、JS 和 Python 都导出、Java 随 jar 发布。
    2. gofmt -l 列出 7 个未格式化文件;根 task check 的 ./... 不包含独立模块 sdk/go,四套 SDK 都不在任何门禁里。
    3. Go 示例以及 Go/JS README 会打印完整会话令牌。
    4. Java 的 pom 没有把 LICENSE 打进 jar。
    5. Go SDK 声明 go 1.27.1,服务端是 go 1.27(D30 要求相同)。
  • 证据:transport_fake.go、index.ts:10、__init__.py;Taskfile.yml:51-66;example/minimal/main.go:19-21、minimal.mjs:9;pom.xml;两个 go.mod。
  • 文档依据:DEVELOPMENT 9 包装与许可证一段;D30;PRD 第 8 节“日志无令牌”。
  • 为何不是故意设计:DEVIATIONS S1.1 只允许注入假传输,没有要求导出。
  • 解决方案:
    • 假传输移入测试目录,Go 通过 export_test.go 暴露注入点。
    • 执行 gofmt,并在 Taskfile 加 sdk:check 挂进门禁。
    • 示例只打印令牌前缀。
    • pom 把 LICENSE 放进 META-INF。
    • Go 版本由总控决定对齐到哪边。
  • 改动文件:四套相关文件、Taskfile.yml(总控维护)
  • 与其他模块的交互/冲突风险:Taskfile 属共享文件,按 TASKS 4.2 规则由总控改。
  • 需补测试:无(改为门禁检查)。
  • 置信度:代码阅读确定。

复审基线:main 4059a15(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。

**编号**:K-05 **严重级**:low **工作线**:SDK(sdk/*) + 测试与文档(test/*、docs/*) **来源**:审查 S-23 **依赖**:无 **被依赖**:无 ### 结论与统一方案 审查 S-23 中各 SDK 自身的部分(假传输导出、gofmt、示例打印令牌、jar 缺 LICENSE)已分别放进 K-01 至 K-04。本 issue 只处理共享部分: 1. `Taskfile.yml` 增加 `sdk:check`:sdk/go 的 `gofmt -l`(为空)、`go vet`、`go test`;sdk/js 的 `tsc --noEmit` 与 vitest;sdk/python 的单测;sdk/java 的 `mvn test`。工具链不存在时跳过并提示,不报错。根 `task check` 的 `./...` 不包含独立模块 sdk/go,所以要单独挂。 2. 发布前检查清单(`docs/TASKS.md` 或 `docs/RELEASE.md`)要求执行 `task sdk:check`。 3. Go 版本:Go SDK 的 `go.mod` 写 `go 1.27.1`,服务端写 `go 1.27`;按 D30"Go SDK 和服务端的 Go 版本要求相同",统一为 `go 1.27`(取较低者,不强制补丁版本)。 ### 改动文件 `Taskfile.yml`(共享文件,按 TASKS 4.2 由总控改)、`sdk/go/go.mod`、`docs/RELEASE.md` 或 `docs/TASKS.md`。 ### 与其他问题的交互 / 冲突说明 K-01 修完 gofmt 后,本 issue 的 `gofmt -l` 检查才会通过,建议在 K-01 之后合入。 ### 验收与测试 `task sdk:check` 在装齐工具链的机器上全部通过;缺工具链时给出跳过提示。 --- ### 问题明细(各区审查原文,证据含文件与行号) > 以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。**解决方案以本 issue 上方的"结论与统一方案"为准**;原文里的方案与之不一致时,按上方执行。 #### [S-23] 工程质量与打包问题(四套) - **严重级**:low - **分类**:质量 / 测试 / 文档 - **现象与影响**: 1. 测试用的假传输进入了公开 API:Go 放在非测试文件里并导出(外部又无法注入)、JS 和 Python 都导出、Java 随 jar 发布。 2. `gofmt -l` 列出 7 个未格式化文件;根 `task check` 的 `./...` 不包含独立模块 sdk/go,四套 SDK 都不在任何门禁里。 3. Go 示例以及 Go/JS README 会打印完整会话令牌。 4. Java 的 pom 没有把 LICENSE 打进 jar。 5. Go SDK 声明 `go 1.27.1`,服务端是 `go 1.27`(D30 要求相同)。 - **证据**:`transport_fake.go`、`index.ts:10`、`__init__.py`;`Taskfile.yml:51-66`;`example/minimal/main.go:19-21`、`minimal.mjs:9`;`pom.xml`;两个 `go.mod`。 - **文档依据**:DEVELOPMENT 9 包装与许可证一段;D30;PRD 第 8 节“日志无令牌”。 - **为何不是故意设计**:DEVIATIONS S1.1 只允许注入假传输,没有要求导出。 - **解决方案**: - 假传输移入测试目录,Go 通过 `export_test.go` 暴露注入点。 - 执行 gofmt,并在 Taskfile 加 `sdk:check` 挂进门禁。 - 示例只打印令牌前缀。 - pom 把 LICENSE 放进 `META-INF`。 - Go 版本由总控决定对齐到哪边。 - **改动文件**:四套相关文件、`Taskfile.yml`(总控维护) - **与其他模块的交互/冲突风险**:Taskfile 属共享文件,按 TASKS 4.2 规则由总控改。 - **需补测试**:无(改为门禁检查)。 - **置信度**:代码阅读确定。 --- <sub>复审基线:main `4059a15`(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。</sub>
nixevol added the P3-lowlane/sdklane/test-docsreview-2026-09-30 labels 2026-09-30 13:57:07 +08:00
Author
Owner

已合入 origin/main 0c9b459。落地提交 5f91a77 chore: 增加 sdk:check 并对齐 Go SDK 版本 (#62)。

已合入 origin/main `0c9b459`。落地提交 `5f91a77` chore: 增加 sdk:check 并对齐 Go SDK 版本 (#62)。
Sign in to join this conversation.