Skip to content

[ci] complete agent-network unit domain still has no aggregate CI signal (OpenCode pair itself fixed) #745

Description

@vansin

事实

agent-network/src/opencode-agent-node-pair.ts 的 RFC-029 配对 pin 与已发布版本失同步:

pin 里:  OPENCODE_AGENT_NETWORK_VERSION = "2.3.0-preview.34"
         OPENCODE_AGENT_NODE_VERSION    = "2.5.0-preview.28"
npm 上:  @sleep2agi/agent-network@preview = 2.3.0-preview.39
         @sleep2agi/agent-node@preview    = 2.5.0-preview.31

后果:opencodeExactPairInstallCommand() 给用户的安装命令仍指向 .34/.28,
落后已发布的 preview 三个版本。

绊线是有的,而且正在响 —— 只是没人听见

源码注释写得很明确:

Keep this exact pair in lockstep with the two preview package versions;
the unit test intentionally fails when either package is bumped independently.

对应测试 OpenCode agent-node release pairing > pins the exact versions being released together
当前就是红的:

Expected: "2.3.0-preview.39"
Received: "2.3.0-preview.34"

设计完全正确 —— 它就是为了在有人只 bump 包、不动 pin 时报红。它做到了。
问题是没有任何门在跑 agent-network 的单测,所以这条红从发版那天起一直无人看见。

两条更一般的缺口

① 未被门覆盖的范围比 #725 说的更大。
#725 讲的是 agent-node 单测没有门;agent-network 的单测同样没有门
证据:本机跑 bun test src/(agent-network)得到 433 pass / 3 fail,
三条红都是 main 上既有的,没有任何 CI 报告它们。

② 我给 RELEASE-SOP 加的 Step 10 不完整。
#734 我给发版流程加了「取远端核」,核的是三个包的版本号 + PINNED_SERVER_VERSION
漏了这第二条 pin。 这次就是这么漏过去的 —— 发版时我知道这个 pin 存在、
也知道它「本次未动」,但 SOP 的检查清单里没有它,于是没有任何机制拦住。
Step 10 应当补上这一条。

我没有做的事

没有把 pin 改成 .39/.31 这个 pin 的语义是「经过验证的精确配对」,
把它指向 .39/.31 等于声称那一对已被验证可用于 opencode 共存 —— 我没有验过
(我只在容器里验了 agent-network@preview + opencode-ai@1.18.1 能跑通 smoke,
没有验 agent-node@2.5.0-preview.31 那一半)。

所以这里有两条路,归 owner 定:

  1. 验证后同步 pin —— 跑一次 .39/.31 的 opencode 共存 smoke,过了再改 pin;
  2. 接受 pin 落后 —— 但那样这条测试会一直红,等于长期有一条噪音红,
    而且会掩盖下一次真正的漂移。

无论选哪条,先给 agent-network 单测加门,否则下次同样看不见。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions