fix(homeagent桥): SDK 钉子指向 v1.3.0,而构建机指针已是 v1.4.0

## 现象

`go test ./...`(在该包内)红:

    --- FAIL: TestSDKPinMatchesBuildMachinePointer
        go.mod 的 SDK 钉子偏离了构建机指针:
          钉子: /root/.homeagent/hmapdev/sdk/v1.3.0
          指针: /root/.homeagent/hmapdev/sdk/v1.4.0
        后果不是「编译不过」,是**照原样重编会再造一个旧版本插件**:
        内核升级后装上去启动即崩、崩溃循环、要人介入(2026-09-14 的形状)。

## 为什么这个包的红一直没被发现

`plugins/homeagent-mail-bridge/` 有**独立 go.mod** ⇒ 不在主 module 内
⇒ 仓库根的 `cd server && go test ./...` **覆盖不到它**。

(主 module 覆盖率实测:`go list ./... | grep -c homeagent` → **0**。)

## 改法

`go.mod` 的 replace 改成指针指向的目录(判据给出的改法,一行),
然后按 `build.sh` 重编并部署。

## 验证(判据自己写明的口径:不是版本号相等,是建链成功)

- 判据:✅ 过
- 重编:`hmapdev build` 成功,`SDK=v1.4.0 hash=ba5cece0ca8a52ad version=1.4.0`
- 部署:`install -m 0755` 原子替换 + 留档 `plugin.bin.bak-20260928-093600`
- **建链**:内核日志 `homeagent-mail-bridge` 经 proc 通道加载、
  `protocol=2 sdk=1.4.0`、工具全部注册(`loaded: homeagent-mail-bridge`)
- **端到端**:真发一封 `.new` → 20s 内回信「SDK v1.4.0 重建后正常」

★ 顺带记一条:build.sh 自己注明 `go build ./...` 会报
  `function main is undeclared` —— 那是正常的(入口由 hmapdev 包装),
  真正的编译在 hmapdev 那一步。拿 `go build` 当"能不能编"的判据会误报。
This commit is contained in:
2026-09-28 09:40:34 +08:00
parent 093c4dd06e
commit 83a5787ac9

View File

@ -6,7 +6,7 @@ require gitcode.com/JianFeeeee/homeagent-sdk v1.3.0
replace gitcode.com/JianFeeeee/homeagent-sdk => /root/.homeagent/hmapdev/sdk/v1.3.0
replace gitcode.com/JianFeeeee/homeagent-sdk => /root/.homeagent/hmapdev/sdk/v1.4.0
// 这个 replace 是**构建机的 SDK 指针**,不是源码常量:它跟着
// `<SDK_ROOT>/current` 走(判据 TestSDKPinMatchesBuildMachinePointer 管)。