Skip to content

fix(docs): correct DaemonSessionProvider path in architecture diagram - #11099

Merged
yiliang114 merged 1 commit into
mainfrom
fix/docs-webui-retirement-stale-refs
Sep 5, 2026
Merged

fix(docs): correct DaemonSessionProvider path in architecture diagram#11099
yiliang114 merged 1 commit into
mainfrom
fix/docs-webui-retirement-stale-refs

Conversation

@yiliang114

@yiliang114 yiliang114 commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

What this PR does

Corrects one node label in the Mermaid package map in docs/developers/daemon/01-architecture.md: the daemon session provider is shown one directory too high, so the label gains the session/ segment it has on disk.

Docs-only, one line.

Why it's needed

The package map is the first page an integrator reads, and a wrong path sends them to a directory that does not contain the file. The same folder already spells the path correctly — 14-cli-tui-adapter.md:193 reads packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx — so the diagram was the odd one out, and a reader who trusts the diagram over the prose ends up in the wrong place.

The two other doc regressions raised in the #9812 review are already gone from main and are deliberately not touched here: web-ui.md no longer exists and nothing links to it, and the ACPAdapter paragraph at 14-cli-tui-adapter.md:147 was rewritten to describe the retirement rather than the removed postMessage path.

Scope note: docs/design/ and docs/plans/ still contain packages/webui paths, and they stay. Those are dated design records describing the tree as it was when they were written; rewriting their paths would falsify the record. Only living documentation under docs/developers/ is corrected, and a scan of docs/developers, docs/users and README.md finds no remaining packages/webui or @qwen-code/webui reference.

Reviewer Test Plan

How to verify

  • Confirm the target exists at the new path and not the old one: git ls-files 'packages/web-shell/client/daemon/**/DaemonSessionProvider.tsx' returns packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx.
  • Confirm the diagram now agrees with its neighbour: git grep -n 'DaemonSessionProvider.tsx' docs/developers/daemon/ shows the same daemon/session/ segment in 01-architecture.md and 14-cli-tui-adapter.md.
  • Optional, if you want the whole diagram checked rather than the one edited node: every other path in that flowchart TB block also resolves on mainserve/, acp-bridge/src/, core/src/tools/, sdk-typescript/src/daemon/, channels/base/src/DaemonChannelBridge.ts, vscode-ide-companion/src/services/daemonIdeConnection.ts. The subgraph labels give the package and the nodes give the file, so the shorter forms are the diagram's convention, not further staleness.

Evidence (Before & After)

N/A — docs-only, no user-visible or runtime surface.

Tested on

OS Status
🍏 macOS ⚠️ not tested
🪟 Windows ⚠️ not tested
🐧 Linux

Environment (optional)

N/A — no build or test run; the diff contains no executable code. Mermaid renders in GitHub's Markdown preview unchanged apart from the label text.

Risk & Scope

  • Main risk or tradeoff: the path can go stale again if the provider moves. Nothing in CI checks paths inside Mermaid labels, so this is a manual correction that a future move would silently break — the same way it broke here.
  • Not validated / out of scope: the historical packages/webui paths in docs/design/ and docs/plans/, left intact on purpose (see above). No behaviour, no code.
  • Breaking changes / migration notes: none.

Linked Issues

Relates to #11076. Follows the doc regressions raised in the #9812 review.

中文说明

这个 PR 做了什么

修正 docs/developers/daemon/01-architecture.md 中 Mermaid 包结构图里的一个节点标签:daemon session provider 的路径少了一层,补上磁盘上实际存在的 session/

纯文档,一行。

为什么需要

这张包结构图是接入方读到的第一页,路径写错会把人指向一个并不包含该文件的目录。同一个目录下的文档其实已经写对了——14-cli-tui-adapter.md:193 写的是 packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx——所以出错的只有这张图;读者若更相信图而不是正文,就会找错地方。

#9812 评审中提出的另外两处文档回归在 main 上已经不存在,这里刻意不动:web-ui.md 已被删除且无任何链接指向它;14-cli-tui-adapter.md:147ACPAdapter 段落已改写为描述该路径的退役,而不是描述已被移除的 postMessage 机制。

范围说明:docs/design/docs/plans/ 中仍存在 packages/webui 路径,且保持不动。那些是带日期的设计记录,描述的是撰写当时的代码树,改写其路径等于篡改记录。这里只修正 docs/developers/ 下的活文档;对 docs/developersdocs/usersREADME.md 的扫描显示已无任何 packages/webui@qwen-code/webui 引用。

评审者验证计划

如何验证

  • 确认目标文件在新路径而非旧路径:git ls-files 'packages/web-shell/client/daemon/**/DaemonSessionProvider.tsx' 返回 packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx
  • 确认该图与同目录文档一致:git grep -n 'DaemonSessionProvider.tsx' docs/developers/daemon/ 显示 01-architecture.md14-cli-tui-adapter.md 使用相同的 daemon/session/ 层级。
  • 可选,若想核查整张图而不只是被改的这个节点:该 flowchart TB 块中其余路径在 main 上均可解析——serve/acp-bridge/src/core/src/tools/sdk-typescript/src/daemon/channels/base/src/DaemonChannelBridge.tsvscode-ide-companion/src/services/daemonIdeConnection.ts。subgraph 标签给出包名、节点给出文件名,因此那些较短的写法是这张图的表达约定,不是新的过期路径。

证据(改前 / 改后)

不适用——纯文档,无用户可见行为与运行时面。

测试环境

系统 状态
🍏 macOS ⚠️ 未测试
🪟 Windows ⚠️ 未测试
🐧 Linux

运行环境(可选)

不适用——未执行构建或测试;diff 中不含可执行代码。除标签文本外,Mermaid 在 GitHub Markdown 预览中的渲染不变。

风险与范围

  • 主要风险或权衡: 若该 provider 再次移动,路径会再次过期。CI 不检查 Mermaid 标签内的路径,因此这是一处人工修正,将来的移动同样会悄悄破坏它——正如这次发生的一样。
  • 未验证 / 不在范围: docs/design/docs/plans/ 中的历史 packages/webui 路径,刻意保留(见上)。无行为改动、无代码改动。
  • 破坏性变更 / 迁移说明: 无。

关联 Issue

Relates to #11076。承接 #9812 评审中提出的文档回归。

The Mermaid diagram node showed `web-shell/client/daemon/` but the file
lives at `web-shell/client/daemon/session/`. Inconsistent with
14-cli-tui-adapter.md in the same directory which already uses the
correct path.

Closes #11076 (partial — doc path fix only).
@qwen-code-ci-bot

qwen-code-ci-bot commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Qwen Triage finishedview run. See the stage comments in this thread for the result.

Qwen Triage 已完成 —— 查看运行。结果见本线程中的各阶段评论。

@qwen-code-ci-bot qwen-code-ci-bot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yiliang114 The change itself is correct — I verified it against main. packages/web-shell/client/daemon/DaemonSessionProvider.tsx does not exist; the file lives at packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx, and 14-cli-tui-adapter.md in the same folder already uses the session/ subpath. That line in 01-architecture.md is also the only stale copy of the old path left anywhere under docs/, so the fix is both accurate and complete. No concerns about the diff.

What blocks it is the PR description: it doesn't follow .github/pull_request_template.md. Missing:

  • ## What this PR does — the body uses ## Summary instead.
  • ## Reviewer Test Plan and its subsections ### How to verify, ### Evidence (Before & After), ### Tested on — the body has a bare ## Test plan with two unticked boxes and no OS table. For a docs-only change, N/A under Before/After is exactly what the template asks for.
  • ## Linked IssuesRelates to #11076 currently sits inline under Risk & Scope; the template wants it under its own heading (use a closing keyword only if this PR is meant to close that issue).
  • The <details><summary>中文说明</summary> section — the template asks for a full paragraph-by-paragraph Chinese translation, and it's absent.

Could you rework the description against the template? Once it matches, this should go through without further friction — the one-line change is right.

中文说明

改动本身是正确的,我已对照 main 核实:packages/web-shell/client/daemon/DaemonSessionProvider.tsx 并不存在,该文件实际位于 packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx;同一目录下的 14-cli-tui-adapter.md 也已经使用了 session/ 子路径。而且 01-architecture.md 中这一行是 docs/ 下唯一残留的旧路径,所以这个修复既准确又完整。对 diff 本身没有异议。

阻塞点在于 PR 描述没有遵循 .github/pull_request_template.md,缺少以下内容:

  • ## What this PR does —— 正文用的是 ## Summary
  • ## Reviewer Test Plan 及其子章节 ### How to verify### Evidence (Before & After)### Tested on —— 正文只有一个 ## Test plan、两个未勾选的复选框,也没有操作系统表格。纯文档改动按模板要求在 Before/After 下写 N/A 即可。
  • ## Linked Issues —— Relates to #11076 目前写在 Risk & Scope 下面,模板要求单独成节(只有在本 PR 需要关闭该 issue 时才使用 closing keyword)。
  • <details><summary>中文说明</summary> 章节 —— 模板要求逐段完整翻译英文正文,目前缺失。

麻烦按模板补全描述。补好之后应该就能顺利推进 —— 这一行改动本身是对的。

Qwen Code · qwen3.8-max-2026-09-02

@chiga0 chiga0 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blocking findings. Approved.

Tier: Scan — docs-only, 1 line

What I checked

The factual claim: stale path web-shell/client/daemon/DaemonSessionProvider.tsxweb-shell/client/daemon/session/DaemonSessionProvider.tsx

Verified against the repo at head:

  • packages/web-shell/client/daemon/ — directory listing shows session/ as a subdirectory; DaemonSessionProvider.tsx is not directly in daemon/. Old path is wrong. ✓
  • packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx is present. New path is correct. ✓

The one-line diff matches the claim exactly and is the only instance of the stale path remaining under docs/ (per qwen-code-ci-bot's scan, confirmed).

Cross-check

  • qwen-code-ci-bot CHANGES_REQUESTED: the bot confirmed the diff is factually correct; the only block it raised is PR description not following .github/pull_request_template.md (missing ## What this PR does, ## Reviewer Test Plan subsections, ## Linked Issues heading, and Chinese translation block). That is a process requirement for this project and the author should address it — but it is not a code or content correctness issue. Confirmed.

Scope

Single markdown file, docs-only. No behavioral surface; rungs 2-3 not applicable.

Reviewed with AI assistance.

@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

📄 Docs-only change — the automatic review ran at --effort medium (verified findings, no reverse audit; medium posts no inline comments). Outcome:

Review complete: pr-11099 — Comment, not posted (0 Critical, 1 Suggestion)

Reviewed head: 357c98325ae5b738a649e1c760bc103e51438903. Full report in the workflow run. For a full high-effort review with inline comments, comment @qwen-code /review.

中文说明

📄 纯文档变更 —— 自动评审以 --effort medium 运行(发现已验证、无反向审计;medium 不发布行内评论),结果见上方引用行。评审的 head:357c98325ae5b738a649e1c760bc103e51438903。完整报告见 workflow 运行;如需带行内评论的完整高强度(high-effort)评审,请评论 @qwen-code /review

@yiliang114

Copy link
Copy Markdown
Collaborator Author

@qwen-code /triage

Description reworked against .github/pull_request_template.md — all four gaps from the stage-1a review are closed: ## What this PR does replaces ## Summary, ## Reviewer Test Plan now carries ### How to verify / ### Evidence (Before & After) (N/A, docs-only) / ### Tested on with the OS table, ## Linked Issues is its own heading, and the 中文说明 block is a full paragraph-by-paragraph mirror.

On the Closes #11076 in the commit message flagged by the automatic review: the keyword is a misstatement — #11076 is open with its acceptance items unmet, and this PR only corrects one Mermaid label. Rather than force-push a reworded commit onto an active PR, the squash body will be corrected at merge time to Part of #11076 (doc path fix only; remaining follow-ups tracked there). The PR description already references the issue without a closing keyword.

中文说明

描述已按 .github/pull_request_template.md 重写,stage-1a 评审提出的四处缺失全部补齐:## What this PR does 取代 ## Summary## Reviewer Test Plan 下补齐 ### How to verify / ### Evidence (Before & After)(纯文档,填 N/A)/ ### Tested on(含系统表格);## Linked Issues 独立成节;中文说明 为逐段完整镜像。

关于自动评审指出的 commit message 中的 Closes #11076:该关键字确属误述——#11076 仍处于 open 且验收项未完成,而本 PR 只修正了一个 Mermaid 标签。这里不对活跃 PR 强推重写后的提交,而是在合并时将 squash body 更正为 Part of #11076 (doc path fix only; remaining follow-ups tracked there).。PR 描述本身已使用不带 closing keyword 的引用方式。

@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

Sandboxed verification: ⚠️ not run — n/a - workflow run

This PR changes documentation/assets only — there is no code to execute, so a sandboxed verification has nothing to verify.

中文 — 判定:⚠️ 未运行 · 不适用

该 PR 仅改动文档/静态资源,没有可执行的代码,沙箱验证没有验证对象。

Qwen Code · sandboxed verification

@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

Thanks for the PR!

Template looks good ✓ — every required heading is present and filled in, the bilingual section mirrors the English one, and nothing is hard-wrapped.

Problem: observed, not theoretical. I checked it against main at 82612e3 instead of taking the description's word for it. The real path is packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx; packages/web-shell/client/daemon/DaemonSessionProvider.tsx does not exist in the tree; and docs/developers/daemon/01-architecture.md:101 still points at the shorter one. The neighbouring doc sides with the fix rather than the diagram — 14-cli-tui-adapter.md:141 and :193 both carry the session/ segment. So the diagram really is the odd one out.

Direction: aligned. This package map is the first page an integrator reads for the daemon, and a path that resolves to nothing is worse than no path at all. No CHANGELOG signal to cite for a one-line docs correction, and none needed.

Size: not applicable — the only changed file is docs/developers/daemon/01-architecture.md, so no core path is touched. One production line, no test or generated/schema lines.

Approach: the scope feels right and I would not change anything about it. One line, the node id WUIP left alone so its edges (WUIP --> DSC, WUIP --> UI) still bind, and no drive-by edits. Leaving the dated packages/webui paths in docs/design/ and docs/plans/ intact is the correct call — those are records of the tree as it stood when they were written, and rewriting them would falsify the record. The boundary the description draws also holds up: docs/developers, docs/users and README.md carry no packages/webui or @qwen-code/webui reference, and no web-ui.md exists or is linked anywhere. The other two #9812 regressions are indeed already gone from main — the ACPAdapter paragraph at 14-cli-tui-adapter.md:147 now describes the retirement rather than the removed postMessage path.

Risk: no elevated risk signals — no file here matches the revert-correlated path set. I also took the description up on its optional offer and resolved every other node in that flowchart TB block against main: all 31 paths land, including channels/base/src/DaemonChannelBridge.ts and vscode-ide-companion/src/services/daemonIdeConnection.ts. The shorter forms are the diagram's own convention (the subgraph names the package, the node names the path), not further staleness — so this is the last bad label in the block, and there is nothing else here worth folding into the PR.

Moving on to code review. 🔍

中文说明

感谢贡献!

模板完整 ✓ —— 所有必需小标题都在且已填写,中文说明与英文逐段对应,也没有硬换行。

问题:是已观测到的问题,不是理论性加固。我对照 main82612e3)实际核了一遍,没有只采信描述。真实路径是 packages/web-shell/client/daemon/session/DaemonSessionProvider.tsxpackages/web-shell/client/daemon/DaemonSessionProvider.tsx 在代码树中不存在;而 docs/developers/daemon/01-architecture.md:101 仍指向少一层的那个。同目录文档站在修正这一边,而不是图这一边——14-cli-tui-adapter.md:141:193 都带 session/ 层级。所以出错的确实只有这张图。

方向:对齐。这张包结构图是接入方读 daemon 时的第一页,一个解析不到的路径比没有路径更糟。一行文档修正没有可引用的 CHANGELOG 信号,也不需要。

规模:不适用 —— 唯一改动文件是 docs/developers/daemon/01-architecture.md,未触及任何核心路径。生产行一行,无测试行与生成/schema 行。

方案:范围合理,我不会改动任何地方。一行改动,节点 id WUIP 未动,因此它的连边(WUIP --> DSCWUIP --> UI)仍然绑定,也没有夹带顺手修改。保留 docs/design/docs/plans/ 中带日期的 packages/webui 路径是正确的判断——那些是撰写当时代码树的记录,改写等于篡改记录。描述划出的这条边界也成立:docs/developersdocs/usersREADME.md 中已无任何 packages/webui@qwen-code/webui 引用,web-ui.md 既不存在也无任何链接指向。#9812 的另外两处回归确实已从 main 消失——14-cli-tui-adapter.md:147ACPAdapter 段落现在描述的是该路径的退役,而不是已被移除的 postMessage 机制。

风险:无升级风险信号 —— 本 PR 没有任何文件命中与 revert 相关的路径集合。我也接受了描述中"可选"的那项邀请,把该 flowchart TB 块里其余每个节点都对照 main 解析了一遍:31 条路径全部命中,包含 channels/base/src/DaemonChannelBridge.tsvscode-ide-companion/src/services/daemonIdeConnection.ts。那些较短的写法是这张图自身的表达约定(subgraph 给出包名、节点给出路径),不是新的过期路径——所以这确实是该块中最后一个错误标签,也没有别的内容值得并进这个 PR。

进入代码审查 🔍

Qwen Code · qwen3.8-max-2026-09-02

Reviewed at 357c98325ae5b738a649e1c760bc103e51438903 · re-run with @qwen-code /triage

@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

Code review

I wrote my own proposal before opening the diff, from the title and the motivation alone: find the provider's node in the package map, insert the missing session/ segment so the label matches the on-disk path, touch nothing else, and leave the dated design records under docs/design/ and docs/plans/ alone because they describe the tree as it was when written. The diff is that, one line. No simpler path exists and nothing was missed.

No blocking findings, and no convention violations — a docs-only edit engages none of the code conventions in AGENTS.md. What I did check, since a Mermaid label is still a parsed artifact:

  • The node id WUIP is untouched, so both edges that reference it (WUIP --> DSC, WUIP --> UI) still bind. Only the display label changed.
  • The new text stays inside the existing double quotes and introduces neither ; nor # — the two characters that would respectively break the Mermaid parser and clip the rest of the label. <br/> and / are both fine in a quoted label, so rendering is unchanged apart from the text, as the description claims.
  • The corrected label now matches the form its siblings in the same subgraph already use (cli/src/ui/daemon/<br/>daemon-tui-adapter.ts, channels/base/<br/>DaemonChannelBridge.ts): package-relative path, break before the filename. It reads as though it had always been right.

The author's own risk note is fair — nothing in CI validates paths inside Mermaid labels, which is how this went stale silently. That is not a reason to hold the PR: a label-path checker would be considerably more machinery than the one-line fix it protects.

Testing

Stating plainly what evidence this comment carries. This is an unattended CI run, so per the workflow I built and executed nothing from this PR; and there is no user-visible runtime surface to drive, so a real-scenario terminal capture is N/A. The evidence is two kinds, both real:

  1. The PR's own CI results, quoted below by check name and conclusion — fetched once for the reviewed commit, not polled. 85 checks total: 18 success, 66 skipped, 1 in progress, 0 failures. The skips are path-filtered matrix legs (Test (macos-latest…), Test (windows-latest…), Integration Tests (CLI…), build-cli) that a docs-only change legitimately does not trigger; the Linux unit, lint/static, integration and Desktop Shell legs all ran and passed. The one in-progress check is review-pr, a bot orchestration job under pull_request_target, not PR CI — the single event == pull_request workflow run (Qwen Code CI) is completed and green.
  2. Static path resolution against main at 82612e3, in the triage worktree. main is the right oracle here rather than the PR head: the question is whether the doc describes the tree it is about to land in. git ls-files 'packages/web-shell/client/daemon/**/DaemonSessionProvider.tsx' returns only packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx, and the pre-fix label at 01-architecture.md:101 resolves to nothing. The hunk's context lines match that same main byte-for-byte, so there is no staleness or conflict (mergeable: MERGEABLE).

Not verified: rendered Mermaid output in a browser. GitHub's preview was not fetched; the claim that rendering is unchanged rests on the syntax check above, not on a screenshot. For a one-word label edit inside an already-quoted string, that is proportionate.

Check Conclusion
Test (ubuntu-latest, Node 22.x) success
Lint & Static (ubuntu-latest, Node 22.x) success
Integration Tests (no-AK, No Sandbox) success
Desktop Shell (ubuntu-22.04) success
Desktop Shell (windows-2022) success
Qwen Code CI (workflow run, pull_request) success
Test (macos-latest, Node 22.x) skipped — path filter, docs-only
Test (windows-latest, Node 22.x) skipped — path filter, docs-only
Integration Tests (CLI, No Sandbox) skipped — path filter, docs-only
build-cli skipped — path filter, docs-only
review-pr in_progress — bot job, not PR CI
中文说明

代码审查

我在打开 diff 之前,只依据标题和动机写下了自己的方案:在包结构图中找到该 provider 的节点,补上缺失的 session/ 层级使标签与磁盘路径一致,其余一概不动,并保留 docs/design/docs/plans/ 中带日期的设计记录——因为它们描述的是撰写当时的代码树。这个 diff 就是这样,一行。不存在更简的路径,也没有遗漏。

无阻塞性问题,也无规范违反——纯文档改动不涉及 AGENTS.md 中的任何代码规范。由于 Mermaid 标签仍然是需要解析的内容,我确实核查了以下几点:

  • 节点 id WUIP 未改动,因此引用它的两条连边(WUIP --> DSCWUIP --> UI)仍然绑定,只有显示标签发生变化。
  • 新文本仍在原有的双引号之内,且没有引入 ;#——这两个字符分别会破坏 Mermaid 解析、以及截断标签的剩余部分。<br/>/ 在带引号的标签中都是合法的,因此除文本外渲染不变,与描述所述一致。
  • 修正后的标签现在与同一 subgraph 中兄弟节点的写法一致(cli/src/ui/daemon/<br/>daemon-tui-adapter.tschannels/base/<br/>DaemonChannelBridge.ts):包相对路径,文件名前换行。读起来就像它一直是对的。

作者自己提出的风险是成立的——CI 不校验 Mermaid 标签内的路径,这正是它悄悄过期的原因。但这不是暂缓本 PR 的理由:一个标签路径校验器所需的机制,远重于它所保护的那一行修正。

测试

明确说明本条评论所承载的证据。这是一次无人值守的 CI 运行,因此按流程我没有构建或执行本 PR 的任何内容;同时它没有用户可见的运行时面,所以真实场景的终端截取为不适用。证据有两类,都是真实的:

  1. 本 PR 自身的 CI 结果,下方按 check 名称与结论如实引用——对 reviewed commit 一次性拉取,未做轮询。共 85 个 check:18 成功、66 跳过、1 进行中、0 失败。跳过的是被路径过滤掉的矩阵分支(Test (macos-latest…)Test (windows-latest…)Integration Tests (CLI…)build-cli),纯文档改动本就不会触发它们;Linux 单测、lint/静态检查、集成测试与 Desktop Shell 各分支均已运行并通过。唯一进行中的 check 是 review-pr,属于 pull_request_target 下的机器人编排任务,不是 PR CI——那个唯一的 event == pull_request workflow run(Qwen Code CI)已完成且为绿。
  2. 对照 main82612e3)的静态路径解析,在 triage worktree 中完成。这里以 main 而非 PR head 作为判定基准是正确的:要回答的问题是文档是否描述了它即将并入的那棵代码树。git ls-files 'packages/web-shell/client/daemon/**/DaemonSessionProvider.tsx' 只返回 packages/web-shell/client/daemon/session/DaemonSessionProvider.tsx,而修正前 01-architecture.md:101 的标签解析不到任何文件。该 hunk 的上下文行与同一个 main 逐字节吻合,因此不存在过期或冲突(mergeable: MERGEABLE)。

未验证:浏览器中 Mermaid 的实际渲染结果。没有抓取 GitHub 预览;"渲染不变"这一判断依据的是上面的语法核查,而非截图。对于一个已在引号字符串内的一词标签修改,这样的深度是相称的。

CI 表格见上方标记区域(内容与英文部分相同,不在此重复)。

Qwen Code · qwen3.8-max-2026-09-02

Reviewed at 357c98325ae5b738a649e1c760bc103e51438903 · re-run with @qwen-code /triage

@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

Confidence: 5/5 — clean at every stage, and I went looking for scope creep and found the opposite.

Stepping back: this is a one-word correction, and the honest question for something this small is whether it is a real defect or code hygiene dressed up as a fix. It is a real defect. I resolved the label against main rather than trusting the description — the pre-fix path points at a directory that does not contain the file, while the sibling doc two files over already spells it correctly. A reader who trusts the diagram over the prose is sent somewhere that resolves to nothing, on the first page an integrator reads for the daemon.

What actually earns the approval is the restraint, not the size. This PR had every opportunity to balloon: there are stale packages/webui paths sitting in docs/design/ and docs/plans/, and a contributor sweeping "stale doc refs" could plausibly have rewritten all of them in the same pass. Instead the description draws a line — living documentation gets corrected, dated design records do not, because rewriting a record falsifies it — and then holds that line. I verified the boundary rather than accepting it: docs/developers, docs/users and README.md are clean, web-ui.md is gone and unlinked, and the two other #9812 regressions are genuinely already fixed on main, so there was nothing left to fold in. The one-line diff is the complete correct scope, not a truncated one.

Against my own proposal written before reading the diff, it matches exactly — no simpler path existed. The node id is untouched so the edges still bind, no Mermaid control characters were introduced, and the label now matches its siblings' form. CI is settled and green with zero failures; the skips are path-filtered legs a docs change legitimately does not trigger.

The one thing I would not claim to have verified is rendered Mermaid output in a browser — that rests on a syntax check, not a screenshot. For a label edit inside an already-quoted string I think that is the right amount of care, and I would rather name the gap than imply I looked at a picture.

Six months from now this reads as a person who noticed a wrong path, fixed exactly that, and explained why the neighbouring wrong-looking paths were deliberately left alone. Approving.

中文说明

Confidence: 5/5 —— 每个阶段都干净;我特意去找范围蔓延,找到的是相反的东西。

退一步看:这是一处一个词的修正,对这么小的改动,诚实的问题是它究竟是真实缺陷,还是把代码洁癖包装成了 fix。它是真实缺陷。我把标签对照 main 解析过,而不是采信描述——修正前的路径指向一个并不包含该文件的目录,而隔两个文件的同目录文档早已写对。一个更相信图而不是正文的读者,会被送到一个解析不到任何位置的地方,而这正是接入方读 daemon 时的第一页。

真正让这个 PR 值得批准的是克制,而不是体量。它本来完全有机会膨胀:docs/design/docs/plans/ 里就摆着过期的 packages/webui 路径,一个以"清理过期文档引用"为题的贡献者,很可能在同一次改动里把它们全部重写。但描述划出了一条线——活文档要修正,带日期的设计记录不动,因为改写记录等于篡改记录——并且守住了这条线。我核实了这条边界,而不是直接接受:docs/developersdocs/usersREADME.md 是干净的,web-ui.md 已删除且无链接指向,#9812 的另外两处回归确实已在 main 上修好,所以没有剩余内容需要并进来。这一行 diff 是完整且正确的范围,而不是被截断的范围。

与我在读 diff 之前写下的方案相比,它完全吻合——不存在更简的路径。节点 id 未动,因此连边仍然绑定;没有引入 Mermaid 控制字符;标签现在与兄弟节点的写法一致。CI 已落定且为绿,零失败;跳过的是纯文档改动本就不会触发的路径过滤分支。

唯一我不会声称已验证的,是浏览器中 Mermaid 的实际渲染结果——那依据的是语法核查,而不是截图。对于一个位于已加引号字符串内的标签修改,我认为这样的谨慎程度是恰当的;与其暗示我看过渲染图,我宁愿把这个缺口点明。

六个月后再看,这读起来像是一个人发现了一处错误路径、恰好只修了它,并解释了为什么旁边那些看起来也错的引用是刻意保留的。批准。

Qwen Code · qwen3.8-max-2026-09-02

Reviewed at 357c98325ae5b738a649e1c760bc103e51438903 · re-run with @qwen-code /triage

@qwen-code-ci-bot qwen-code-ci-bot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, looks ready to ship. ✅

@yiliang114
yiliang114 added this pull request to the merge queue Sep 5, 2026
Merged via the queue into main with commit f747999 Sep 5, 2026
104 checks passed
@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

Released in v0.23.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants