fix(docs): sync daemon capability count - #11012
Conversation
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
chiga0
left a comment
There was a problem hiding this comment.
Reviewed at head 620b9b96.
No blocking findings. Approval blockers: none.
Tier: Scan — single documentation line, no production code changed.
Claim verified: 153 registered tags matches Object.keys(SERVE_CAPABILITY_REGISTRY).length = 153 at HEAD (counted across capabilities.ts L32–L495). The prior count 152 was the result of two PRs (#10643 and #10751) both incrementing the same base count independently; net is 151 + 2 = 153.
Conditional count (44) unchanged and correct: CONDITIONAL_SERVE_FEATURES has 44 entries at HEAD (43 found by pattern + voice_transcribe at L740 whose entry has a comment block before the key). No new conditional capabilities were added in the two PRs.
Contract test: packages/cli/src/serve/capabilities-docs-contract.test.ts keeps the daemon index capability counts in sync reads both SERVE_CAPABILITY_REGISTRY length and CONDITIONAL_SERVE_FEATURES.size at runtime and asserts they equal the values extracted from 00-index.md — any future skew fails CI automatically.
Reviewed with AI assistance.
|
Thanks for the PR — this one is easy to check, and it checks out. Template looks good ✓ Problem: observed, not theoretical. Direction: aligned. It is the narrow repair for a red Size: not applicable. One docs file, +1/−1, no core paths, zero production logic lines. Approach: scope feels right. Bumping the number is the minimal change, and you correctly kept the actual prevention — a merge queue, or requiring branches to be up to date before merge — out of this PR instead of smuggling in a branch-protection change. Worth a follow-up issue so that prevention does not get lost: this is a semantic-conflict class, not a one-off, and the same two-PR race will drift this number again. Risk: no elevated risk signals. Moving on to code review. 🔍 中文说明感谢贡献!这个 PR 很容易核验,而且核验通过了。 模板完整 ✓ 问题:是已观测到的问题,不是理论性加固。 方向:对齐。这是修复 规模:不适用。单个文档文件,+1/−1,未触及核心路径,生产逻辑行数为 0。 方案:范围合理。改数字就是最小改动;你也正确地把真正的预防手段——Merge Queue,或要求合并前分支必须基于最新 main——留在本 PR 之外,没有顺手夹带分支保护改动。建议再开一个 follow-up issue,避免预防措施被遗忘:这属于语义冲突这一类问题,而不是一次性事故,同样的两 PR 竞争以后还会让这个数字再次漂移。 风险:无升级风险信号。 进入代码审查 🔍 — Qwen Code · qwen3.8-max-2026-09-02 Reviewed at |
qwen-code-dev-bot
left a comment
There was a problem hiding this comment.
Reviewed at head 620b9b96.
- One-line doc-count repair with the failure cause verified independently: #10643 and #10751 each added a capability against the same 152-count baseline, the merge combined them to 153, and the docs contract test keys off
Object.keys(SERVE_CAPABILITY_REGISTRY).length— so main went red exactly as the body describes. I ran the contract test itself against this head (origin/main'scapabilities.ts+ test, this PR's00-index.md): both cases pass, 2/2. - No review history, no threads, nothing else in the diff.
- CI facts: 13 checks pass; the single red never executed a test — the ubuntu Test job died 42 s into checkout with
inflate: data stream error (unknown compression method)/fetch-pack: invalid index-pack outputon object07ced3e3…, i.e. a corrupted git object cache on the pool host, unrelated to this one-line docs change. A retry onto a healthy host should go green; if it sticks, that host needs its runner cache cleaned (flagging for the operator). Per the channel convention the call is on the review, and the repair it delivers is proven by the local run above.
Code reviewBefore reading the diff I wrote down what I would do: bump the documented registered-tag count in the daemon index to match No blockers, and no AGENTS.md violations. Three details I checked because they are the easy ways to get a one-character docs fix wrong:
The change is complete as scoped: 153 is the only drifted value, and 44 conditional tags is still right. Test evidenceThis is an unattended CI run, so I did not build or execute anything from this PR — the evidence below is the PR's own CI read through the API, plus main's CI for the failure being repaired.
The one red check is runner infrastructure, not this PR. That is a corrupted git object store on the runner. A one-line markdown edit cannot produce an What that costs us, stated plainly: the contract test has not been observed green on this head, because no leg ever ran it. The remedy is a re-run of the Independent confirmation of the failure being repaired. Since the PR's own CI could not substantiate the fix, I verified the target state directly against Line 54 is the registered-tags assertion, with the docs value as Not verified: the contract test passing on this PR head, for the infra reason above. Everything else here is verified against the base commit. 中文说明代码审查在读 diff 之前我先写下了自己的方案:把 daemon index 里记录的注册 tag 数量改成与 没有阻塞项,也没有违反 AGENTS.md。有三个细节我特意核对了,因为一行文档修复最容易在这些地方出错:
按既定范围看改动是完整的:153 是唯一漂移的值,44 个条件 tag 仍然正确。 测试证据这是无人值守的 CI 运行,因此我没有构建或执行本 PR 的任何代码——下面的证据是通过 API 读取的本 PR 自身 CI,以及被修复的那次失败的 main CI。 唯一的红灯是 runner 基础设施问题,与本 PR 无关。 这也明确带来了代价: 契约测试在这个 head 上尚未被观测到通过,因为没有任何 leg 真正跑过它。补救办法是重跑 对被修复失败的独立核实。 由于本 PR 自身 CI 无法证实修复,我直接针对 未验证:契约测试在本 PR head 上通过,原因就是上面的基础设施问题。其余内容均已针对 base commit 核实。 — Qwen Code · qwen3.8-max-2026-09-02 Reviewed at |
|
Confidence: 4/5 — the corrected value is independently verified against the exact base commit and the diff is a single same-width character swap; the one reservation is that this head's My independent proposal and this PR's approach are the same thing, which is the strongest signal I have here — I could not find a cheaper repair, and I could not find anything it forgot. The problem is not a framing I accepted on trust: main's CI states the mismatch as an assertion error at a specific line, the linked issue is open, and I counted the registry myself at the base commit rather than believing the description's arithmetic. The On the "am I being worn down by volume" question, worth being explicit: the author has thirty open PRs, several landed the same day as this one. I evaluated this on its own merits and it stands alone — a red Two honest notes for whoever merges:
Two approvals already stand on this exact SHA — Verdict is approve, but CI has a 中文说明Confidence: 4/5 —— 修正后的数值已针对确切的 base commit 独立核实,diff 只是一次等宽的单字符替换;唯一的保留意见是这个 head 的 我独立想到的方案与这个 PR 的做法完全一致,这是我能给出的最强信号——我找不到更便宜的修复,也找不到它漏掉的东西。这个问题不是我照着 PR 的表述接受的:main 的 CI 把不一致表述为某个具体行上的断言错误,关联 issue 处于 open 状态,而且我没有采信描述里的算术,是在 base commit 上自己清点了注册表。 关于"是否被数量磨到松手"这个问题,值得说清楚:作者有三十个 open PR,其中几个与本 PR 同日提交。我是就本 PR 本身评估的,它也站得住—— 给合并者的两点如实说明:
这个确切的 SHA 上已经有两个批准—— 结论是 approve,但这个 SHA 上仍有一个 — Qwen Code · qwen3.8-max-2026-09-02 Reviewed at |
What this PR does
Updates the documented daemon capability count from 152 to 153 so the documentation contract matches the registry currently shipped on
main.Why it's needed
#10643 and #10751 each added one capability from branches based on the same earlier count. Both PR heads independently had 152 registered capabilities and passed their checks, but #10751 was merged after #10643 without being retested against the updated
main. The combined result has 153 capabilities while the documentation still reports 152, causing the main unit-test job to fail withexpected 152 to be 153.This is the narrow repair for the current red build. Preventing the same semantic-conflict class requires a separate merge-queue or up-to-date required-check change.
Reviewer Test Plan
How to verify
Confirm that the existing daemon capability documentation contract observes 153 registered tags and 44 conditional tags, matching the current registry.
Evidence (Before & After)
Before: the registry reports 153 registered tags while the documentation reports 152.
After: both report 153 registered tags; the conditional count remains 44.
Tested on
Environment (optional)
Node.js 22 with a direct execution of the same registry-versus-documentation count assertion used by the failing contract test.
Risk & Scope
Linked Issues
Fixes #11010
中文说明
本 PR 做了什么
将 daemon 文档中的 capability 数量从 152 更新为 153,使文档契约与
main当前实际发布的注册表一致。为什么需要
#10643 和 #10751 都基于更早的同一个数量,各自新增了一个 capability。两个 PR 的 head 单独看都是 152 个注册 capability,检查也都通过;但 #10751 在 #10643 之后合入时,没有基于更新后的
main重新测试。最终组合结果包含 153 个 capability,而文档仍记录 152,导致 main 单测 job 以expected 152 to be 153失败。这是修复当前红灯的最小改动。要防止同类语义冲突再次发生,还需要另外配置 Merge Queue,或者要求 PR 基于最新 main 重新通过 required checks。
Reviewer Test Plan
如何验证
确认现有 daemon capability 文档契约读到 153 个注册 tag 和 44 个条件 tag,并与当前注册表一致。
前后证据
改动前:注册表是 153 个注册 tag,文档记录 152 个。
改动后:两者都是 153 个注册 tag;条件 tag 数量保持 44。
测试平台
环境(可选)
Node.js 22,直接执行与失败契约测试相同的注册表数量和文档数量比较断言。
风险与范围
关联 Issue
Fixes #11010