docs: 英文 troubleshooting 把 latest 的现状写成了历史;并更正 RELEASE-SOP 一句不成立的话 - #807
Conversation
## 1. 英文页把「现在时」写成了「历史」 中文 troubleshooting 有(#773 加的): 🔴 latest 线(当前 2.2.21)还没有这道 preflight —— 那里仍是裸崩 spawn bunx ENOENT + Node 堆栈。所以下面这个字样对 latest 用户是现在时,不是历史。 英文页**一次都没提 latest**,而且写的是: `spawn bunx ENOENT` is the **pre-#235** behaviour — the string is kept in this heading so people arriving from older versions still find this section. 「pre-#235」「people arriving from older versions」都在告诉英文读者:这是历史。 **但 npm i -g 默认装的就是 latest**,对他们是现在时。getting-started 和 clean-server 的 zh/en 都对齐了,只有 troubleshooting 漏了 —— 这是我 #773 的遗漏。 ## 2. RELEASE-SOP 有一句现在不成立的话 原文(R367 那段)结尾:「现在 **没有 docs 还 pin npm 版本号**了。」 今天实测不成立:docs-site 下 7 个文件、13 行钉着当前版本号。 但要分清两类,否则会误删: - R367 清掉的是**安装命令里的版本 pin**(npm i -g pkg@2.1.7 那种)—— 那类确实清干净了; - 剩下的是**限定信道的行为断言**(「在 latest 2.2.21 上你会看到裸崩」)—— 这类**去掉版本号就失去意义**,不该清,但**一发版就立刻变假**, 而且是危险的假:会告诉用户一道已经存在的安全 preflight 不存在。 所以把那句话改准,并列出逐次发版必须重新核对的 7 个文件位置。 核对方法写明不是 grep 而是真机装。 ## 证据 干净容器(node:22 + @sleep2agi/agent-network@latest,不装 bun): anet v2.2.21 anet hub start → syscall: 'spawn bunx' code: 'ENOENT' spawnargs: [ '--bun', '@sleep2agi/commhub-server@0.8.8' ] + Node.js v22.23.2 堆栈 与文档写的「latest 裸崩」逐字相符,所以这些断言**今天全部成立** —— 发版后就不一定。 另核:anet.sh 线上内容与 origin/main 的 docs-site 一致(npm i -g bun 与 bun.sh/install 各出现 1 次,与源码同),快速开始页 33 条命令的动词在 latest 2.2.21 的 --help 里全部存在,且 bun 安装步骤排在 anet hub start 之前。 这三项**没有发现缺陷**。
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bfb32e0948
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| > 所以 R367 没有、也不该把它们清掉。代价是:**latest 或 preview 一发布,它们立刻变成假的**, | ||
| > 而且是危险的那种假 —— 会告诉用户一道已经存在的安全 preflight 不存在。 | ||
| > | ||
| > 逐次发版必须重新核对的位置(2026-08-13 实测,共 7 个文件): |
There was a problem hiding this comment.
Include every release-sensitive document in the checklist
When an agent-network preview containing the preview.29 fix is promoted to latest, this new “must recheck on every release” list will not cover docs-site/docs/{,en/}guide/windows.md:102, so those pages can continue claiming that the fix exists only on preview and that a latest patch is pending; a repository-wide git grep also finds unlisted current-channel assertions in both dashboard guides. Following this supposedly exhaustive table can therefore still publish stale upgrade and troubleshooting guidance; include all release-sensitive channel assertions (and correct the count, since the final row alone represents two files).
AGENTS.md reference: AGENTS.md:L23-L24
Useful? React with 👍 / 👎.
| > 核对方法不是 grep,是**真机装**:`npm i -g @sleep2agi/agent-network@latest` 进干净容器, | ||
| > 不装 bun 跑一次 `anet hub start`,看它到底裸崩还是被拦。今天实测 `2.2.21` 仍是裸崩 | ||
| > (`syscall: 'spawn bunx'`, `code: 'ENOENT'`),所以上述断言现在全部成立 —— 发版后就不一定了。 |
There was a problem hiding this comment.
Validate the preview channel during preview releases
For a preview release, this prescribed verification installs only @latest, yet the checklist also asserts that 2.3.0-preview.x performs the preflight and concludes that all listed assertions are valid. A regression or behavior change in the newly published preview would therefore pass this procedure entirely untested while the documentation retains the old claim; install and exercise both relevant dist-tags in isolated containers before making that conclusion.
AGENTS.md reference: AGENTS.md:L28-L28
Useful? React with 👍 / 👎.
补上正文里「今天实测」缺的那一半:可复现的命令与输出正文写了「今天实测 先说清楚这不是什么: 我和本 PR 是同一作者侧,所以下面不是独立复核。它的作用是把一句断言变成任何人都能在两分钟内证伪的东西。 复现方法(干净容器,装完断网跑)docker build -t probe - <<'EOF'
FROM node:22-bookworm-slim
RUN npm i -g @sleep2agi/agent-network@latest
EOF
docker run --rm --network none probe sh -c 'anet hub start; echo exit=$?'
2026-08-13 实际输出
同一容器 一处正文可以更准的地方正文英文侧写 preview「exit with code 1」,并把 latest 描述成「bare 所以差别不在退出码,纯在可读性 —— 脚本包装( 顺带抽验了正文 RELEASE-SOP 表里钉的行号「行号 pin 会漂到无关代码」是 #810 刚踩过的,所以按
5/5 准确,表可用。 另外提一句流程上的事:本 PR 自 |
清单是对的,但不完整:发布站 7 个之外,还有 4 个内部活文档也是现在时正文那份「逐次发版必须重新核对」的表列了 7 个文件。7 个全部准确(上一条已抽验行号 5/5 命中)。但清单不全比没有更危险 —— 它给人"已覆盖"的错觉,所以我把范围验了一遍。 怎么筛的
漏掉的 4 个
这 4 个失效的方向和发布站那 7 个相反,而且更要紧
也就是说:它们在最需要准确的那一刻变得不准确。 发布站的错会误导用户;这 4 个的错会误导下一次发版决策本身。 判为归档、不应列入清单的 6 个
这些必须保留 建议表扩到 11 个文件,并按失效方向分两组(面向用户 / 面向发版决策),再加一句: 冻结中未改分支,记在这里等收口。 |
更正归属:上一条那个「清单不完整」的发现,自动审查在 5 小时前就提出了我上一条把「清单漏了 4 个内部活文档」当作自己的发现写出来。这不准确。 本 PR 的行内审查里已有一条(
我是在 06:5x 才用手工筛法得到同一结论的。先提出的不是我。 我为什么没看到我一直用 结果是:本 PR 显示"评论 = 0",我据此在多轮汇报里说它"零审查、整个会话没人碰过"。这个判断是错的,而且错在我量错了字段。 全量重查后,我这批 11 条 PR 上共有 36 条行内审查评论,其中 19 条 P1,全部未处理。本 PR 的 2 条只是其中一小部分。 这件事本身值得记这跟我这几轮反复在查的是同一个毛病,只是这次发生在我自己身上:
「评论 = 0」这个 0,不是"没人审",是"我没查到审在哪"。 和之前那个 接下来上一条那份 4 个漏项的清单内容本身经得起追问(我逐个读了上下文、区分了发布面与归档面),结论保留,但功劳归属更正,并且它现在有了两个独立来源。 我会把 11 条 PR 上那 36 条(尤其 19 条 P1)逐条过一遍,不再只看 issue 级评论。 |
72583b8 to
bfb32e0
Compare
审查(通信狗 advisory,MAJOR)两条,都成立: ① 分母数错:表里最后一行把 zh/en 的 versioning 合成一行,按路径应为 8。 分母数错会漏核 —— 已拆成两行,并写明「8 行 = 8 个文件,不要合并数」。 ② 证据越权(更要紧):我在文末用一次「latest 2.2.21 + 无 bun + anet hub start」的探针,宣称「上述断言现在全部成立」。 那次探针只证明了 ENOENT/preflight 这一族。它从没跑过 `anet -v`, 而 versioning 那条断言正是关于 `anet -v` 顶行输出的;安装命令里的 版本 pin 同样没验。一次运行只能证明它实际执行过的那条路径。 改成按断言分列核法并逐行标注状态:第一行「已实测」,另两行明确 「未实测」。同时钉上当前 preview 坐标(0.9.0-preview.29),并说明它 每次发版都变、重核以 npm dist-tag 为准。 这与本 PR 要修的是同一类:原文把 latest 的现状写成了历史(时态错), 我在修它时把一次探针的结论扩到了整张表(范围错)—— 都是陈述超出了 证据实际覆盖的范围。
MAJOR 成立,已修(
|
| 断言 | 状态 |
|---|---|
| latest 裸崩 / preview 被拦 | 已实测 |
anet -v 顶行示例 |
未实测 |
| 安装命令的版本 pin | 未实测 |
并加了一句:一次运行只能证明它实际执行过的那条路径。
顺带钉上当前 preview 坐标(0.9.0-preview.29),并写明它每次发版都变、重核以 npm dist-tag 实际值为准。
这条与本 PR 要修的是同一类
- 原文:把 latest 的现状写成了历史 —— 时态错;
- 我的版本:把一次探针的结论扩到整张表 —— 范围错。
两者都是「陈述超出了证据实际覆盖的范围」。我在修一个越界的陈述时,写了另一个越界的陈述。
@codex review
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3928368861
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| > 逐次发版必须重新核对的位置(**8 个路径**,下表 8 行 = 8 个文件 —— | ||
| > 不要把 zh/en 合成一行数,分母数错会漏核): |
There was a problem hiding this comment.
Add omitted release-sensitive docs to the checklist
In the corrected version, the new “8 个路径” claim remains incomplete: a repo-wide rg still finds current-channel assertions in docs-site/docs/{,en/}guide/windows.md:102 (preview .29 fixed, latest patch pending) and docs-site/docs/{,en/}guide/dashboard.md:313-314 (preview current, latest stable 2.2.x). When the Windows fix reaches latest or preview is promoted, maintainers following this purported complete list will not recheck those four pages and can publish stale channel guidance; include them and adjust the count.
AGENTS.md reference: AGENTS.md:L24-L24
Useful? React with 👍 / 👎.
| > 🔴 **那次探针只证明了第一行。** 把它当成「整张表都成立」是证据越权 —— | ||
| > **一次运行只能证明它实际执行过的那条路径。** | ||
| > | ||
| > 当前坐标(便于下次比对):latest `2.2.21`、preview `0.9.0-preview.29`(commhub-server)。 |
There was a problem hiding this comment.
Track the CLI preview coordinate used by the preflight
The verification above installs an @sleep2agi/agent-network channel and checks a preflight implemented in agent-network/bin/cli.ts:5736-5746, but this coordinate records the unrelated commhub-server preview version (the server pin used only after the preflight). On the next CLI preview release, a maintainer using this coordinate can compare the wrong dist-tag and leave the 2.3.0-preview.x behavior assertions stale; record the agent-network preview coordinate here, separating the server pin if it also needs tracking.
AGENTS.md reference: AGENTS.md:L24-L24
Useful? React with 👍 / 👎.
| > | ||
| > | 断言 | 核法 | 2026-08-13 状态 | | ||
| > |---|---|---| | ||
| > | latest 裸崩 / preview 被 preflight 拦 | 干净容器装对应通道、**不装 bun**,跑 `anet hub start` | **已实测**:latest `2.2.21` 仍裸崩(`syscall: 'spawn bunx'`, `code: 'ENOENT'`);preview 被拦 | |
There was a problem hiding this comment.
Save the claimed channel-test evidence
This row marks both the installed latest and installed preview channel probes as tested, but the commit adds no corresponding report under docs/tests/: report-onboarding.txt covers only stable 2.2.21, while report-test766-bunx-preflight.txt explicitly exercises repository source with a fixture and disclaims npm publication or registry-install coverage. Without the actual Docker command, resolved preview package version, and output, this new 已实测 claim cannot be audited or repeated during the next release; save the channel probe result as required rather than treating an unrecorded run as release evidence.
AGENTS.md reference: AGENTS.md:L7-L8
Useful? React with 👍 / 👎.
三条审查意见,都成立:
① 清单仍不完整。全仓还有四页有现在时信道断言:
docs-site/docs/{,en/}guide/windows.md:102(跨盘 anet --version 崩溃是哪个通道的现状)
docs-site/docs/{,en/}guide/dashboard.md:313/328(anet -v 应显示 2.3.0-preview.N,
preview 不自动 promote)
已加进表,分母 8 → 12。并写明这张表的分母被修正过两次(7→8→12),
加新信道断言时要同时加进表 —— 否则下一个人照着一份"看起来完整"的清单
去核,漏掉的那几页永远不会被发现。
② 坐标记错了包。被核的 preflight 实现在 agent-network/bin/cli.ts,而我钉的是
commhub-server 的 dist-tag。下次比对会比错对象。已改成两行分列,并写明
哪个是本表断言的坐标、哪个不是。
③ 「已实测」没有证据制品。补 docs/tests/report-latest-channel-preflight.txt:
复现命令(含为什么必须 --network none)、两个通道的原始输出、退出码,
以及明确写出它不覆盖 anet -v 与安装命令 pin 这两条。
这是同一张表的分母第三次被修正。前两次我都以为补完了。
上一版我把表里两行标成「未实测」就交付了。这轮去消它们,两条都不难: ① `anet -v` 顶行示例 —— 真跑了。干净容器 npm i -g @sleep2agi/agent-network@latest 之后 `anet -v` 顶行输出 `anet v2.2.21`,与 versioning.md 的断言一致。 (断网运行,探针镜像用完即删。) ② 安装命令里的版本 pin —— 不适用。getting-started(中英)与 clean-server 里的 安装命令全是裸 `npm i -g @sleep2agi/<pkg>`,一个都不钉版本,与 RELEASE-SOP 自己那句「现在没有 docs 还在安装命令里 pin 版本号」一致。 这一行改为负向不变量:每次发版确认「没有新出现钉版本的安装命令」。 顺带在正文里记一笔:标注不确定性是诚实的,但当那个不确定性两分钟就能消除 时,标注会变成不去消除它的借口。
把上一版留下的两个「未实测」都消掉了(
|
docs: 英文 troubleshooting 补上 latest 信道警告;更正 RELEASE-SOP 里一句现在不成立的话
1. 英文页把「现在时」写成了「历史」
中文 troubleshooting 有(#773 加的):
🔴 latest 线(当前 2.2.21)还没有这道 preflight —— 那里仍是裸崩
spawn bunx ENOENT + Node 堆栈。所以下面这个字样对 latest 用户是现在时,不是历史。
英文页一次都没提 latest,而且写的是:
spawn bunx ENOENTis the pre-#235 behaviour — the string is kept in thisheading so people arriving from older versions still find this section.
「pre-#235」「people arriving from older versions」都在告诉英文读者:这是历史。
但 npm i -g 默认装的就是 latest,对他们是现在时。getting-started 和
clean-server 的 zh/en 都对齐了,只有 troubleshooting 漏了 —— 这是我 #773 的遗漏。
2. RELEASE-SOP 有一句现在不成立的话
原文(R367 那段)结尾:「现在 没有 docs 还 pin npm 版本号了。」
今天实测不成立:docs-site 下 7 个文件、13 行钉着当前版本号。
但要分清两类,否则会误删:
这类去掉版本号就失去意义,不该清,但一发版就立刻变假,
而且是危险的假:会告诉用户一道已经存在的安全 preflight 不存在。
所以把那句话改准,并列出逐次发版必须重新核对的 7 个文件位置。
核对方法写明不是 grep 而是真机装。
证据
干净容器(node:22 + @sleep2agi/agent-network@latest,不装 bun):
anet v2.2.21
anet hub start →
syscall: 'spawn bunx'
code: 'ENOENT'
spawnargs: [ '--bun', '@sleep2agi/commhub-server@0.8.8' ]
+ Node.js v22.23.2 堆栈
与文档写的「latest 裸崩」逐字相符,所以这些断言今天全部成立 —— 发版后就不一定。
另核:anet.sh 线上内容与 origin/main 的 docs-site 一致(npm i -g bun 与
bun.sh/install 各出现 1 次,与源码同),快速开始页 33 条命令的动词在
latest 2.2.21 的 --help 里全部存在,且 bun 安装步骤排在 anet hub start 之前。
这三项没有发现缺陷。