Skip to content

refactor(cli): remove unused useInputHistoryStore hook - #10041

Merged
yiliang114 merged 3 commits into
QwenLM:mainfrom
qqqys:simplify/use-input-history-store
Aug 26, 2026
Merged

refactor(cli): remove unused useInputHistoryStore hook#10041
yiliang114 merged 3 commits into
QwenLM:mainfrom
qqqys:simplify/use-input-history-store

Conversation

@qqqys

@qqqys qqqys commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

What this PR does

Removes an input-history hook that is no longer referenced anywhere in the codebase, together with the test that existed solely to cover it and the legacy filename-allowlist entry that exempted it. The hook was written to manage prompt-input history independently of chat history (surviving /clear), but nothing in the application mounts or calls it; its only references were its own unit test and one allowlist row. The input history actually in use is provided by a separate hook that the prompt component mounts. Nothing else changes.

Why it's needed

Dead surface is a cost: every contributor who reads it has to work out what wires it up, and the answer here is "nothing". The hook arrived with an upstream sync and was never wired in this repository's history — no production caller, no string-keyed registry entry, no dynamic import path. Its dedicated test exists only to cover the hook itself, so it goes with it, and the filename-allowlist row that exempted the now-removed files is deleted in the same change to avoid leaving a stale entry behind.

Reviewer Test Plan

How to verify

This is a pure deletion of code nothing references. Verify the absence of consumers rather than behavior:

  1. rg -n '\buseInputHistoryStore\b' packages integrations integration-tests scripts .github docs-site — expect zero hits after this PR (before it the only references were the hook, its test, and the allowlist row). Note the live, unrelated useInputHistory hook (no Store) is untouched and remains mounted by the prompt component.
  2. npm run build && npm run bundle && npm run typecheck — all green locally with this change (a type-only break from a removed export would surface here; typecheck does not run in CI).
  3. npm run lint:ci — green locally with this change (the removed allowlist row no longer exempts any surviving file, verified by stem check).

No user-visible behavior changes, so no before/after TUI evidence applies.

Evidence (Before & After)

N/A — non-UI change (dead-code deletion; nothing mounted or called this hook).

Tested on

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

Environment (optional)

Local npm run build && npm run bundle && npm run typecheck and npm run lint:ci in a clean worktree off upstream/main.

Risk & Scope

  • Main risk or tradeoff: essentially none — the hook has zero production consumers, verified by full-corpus search including string keys, dynamic-import shapes, build graphs, the test corpus, and tracked .qwen files; if a consumer were ever found, reverting the single commit restores everything.
  • Not validated / out of scope: macOS/Windows builds (no platform-specific code involved); no integration test run (no CLI behavior is touched by removing an unmounted hook).
  • Breaking changes / migration notes: none; the hook and its return-type interface were never imported outside their own file and test.

Linked Issues

Part of the dead-surface cleanup tracked in #10000.

Machine details (find-simplifications)
  • id / class: use-input-history-store — class 1, dead hook with its dedicated test and its filename-allowlist row.
  • Surface removed: packages/cli/src/ui/hooks/useInputHistoryStore.ts (118 lines), useInputHistoryStore.test.ts (293 lines), and one row in eslint.legacy-filenames.mjs — 412 lines deleted, 0 added (git diff --numstat).
  • Every consumer found and its kind: full-corpus grep (all extensions, including tests, snapshots, docs, .github, .husky, .vscode, patches, root build/lint manifests, tracked .qwen files) resolves to exactly three references — the hook's own declaration (production, in-file), its dedicated test (test-only), and the eslint.legacy-filenames.mjs allowlist row (lint scaffolding). Zero production consumers. The exported return-type interface is used only as the hook's own return type. Hidden-consumer checklist rows run: string-keys (the INPUT_HISTORY_STORE debug-logger name appears only in-file), build-graph, generated, vi-mock, mirrors, dyn-import — all clean; cli-flags/assets not applicable. No integration-test or snapshot reference (second pass without test exclusions); no design-doc or plan mention. The live input-history implementation is the distinct useInputHistory hook mounted by the prompt component — untouched here.
  • Proof steps run (survey protocol §3): ledger check (no tombstone), recency (introduced via the 2025-10-23 Gemini-CLI sync per GitHub full-history path dating — local clone is shallow; last touch was a 2026-01-26 mechanical consoledebugLogger migration, ~7 months back, well past the 90-day gate), published-surface escape (territory is packages/cli/src — landable, not packages/core/channels/SDK/acp-bridge), full-corpus grep, own-file check, hidden-consumer checklist, test-only check, unwire history (never wired — born dead), design-doc ownership (none).
  • Re-verified at land time against freshly fetched upstream/main (a6d30ebc6b): same three references, no new consumer, branch base fetched successfully before cutting.
  • Verification: npm run build && npm run bundle && npm run typecheck green; npm run lint:ci green; targeted vitest skipped by design (the deletion carries the surface's only test — no applicable targeted unit test; corpus re-grep on the landing checkout returned zero surviving references). Allowlist stem check confirms no surviving file shares the useInputHistoryStore stem. Self-audit: two clean passes.
  • No collateral: no snapshot entry, no i18n locale keys (hook took no display strings), no docs rows; the adjacent useInputHistory allowlist row (a separate live hook) is untouched.
中文说明

本 PR 做了什么

删除一个在代码库中已无任何引用的输入历史 hook,以及仅为覆盖它而存在的测试和为它豁免命名的旧文件名允许列表条目。该 hook 原本用于独立于聊天历史管理输入历史(不受 /clear 影响),但应用中没有任何地方挂载或调用它;它唯一的引用就是它自己的单元测试和一条允许列表条目。真正在使用的输入历史由另一个独立的、被输入框组件挂载的 hook 提供。除此之外没有任何其他改动。

为什么需要

死代码是一种成本:每个读到它的人都得弄清是什么在用它,而这里的答案是“没有任何东西”。该 hook 随一次上游同步进入本仓库,在整个历史中从未被接线——没有生产调用者、没有字符串键注册项、没有动态导入路径。它专属的测试只为覆盖该 hook 本身而存在,因此一并删除;为这些文件豁免命名的允许列表条目也在同一改动中删除,以免留下过期条目。

评审者测试计划

如何验证

这是一次对无任何引用代码的纯删除。请验证消费者的缺失,而不是行为:

  1. rg -n '\buseInputHistoryStore\b' packages integrations integration-tests scripts .github docs-site —— 本 PR 之后应无任何命中(之前仅有的引用即该 hook、其测试与允许列表条目)。注意:仍在使用、与之无关的 useInputHistory(无 Store 后缀)hook 未被触碰,仍被输入框组件挂载。
  2. npm run build && npm run bundle && npm run typecheck —— 本地在包含本改动的情况下全部通过(删除导出可能引发的纯类型问题会在这里暴露;typecheck 不在 CI 中运行)。
  3. npm run lint:ci —— 本地在包含本改动的情况下通过(被删除的允许列表条目不再豁免任何仍存在的文件,已按主干核查确认)。

由于没有用户可见的行为变化,无需前后对比的 TUI 证据。

证据(改动前后)

N/A —— 非 UI 改动(死代码删除;该 hook 从未被挂载或调用)。

测试环境

OS 状态
🍏 macOS ⚠️ 未测试
🪟 Windows ⚠️ 未测试
🐧 Linux ✅ 已测试

环境(可选)

在基于 upstream/main 的干净 worktree 中本地运行 npm run build && npm run bundle && npm run typechecknpm run lint:ci

风险与范围

  • 主要风险或权衡:基本没有——该 hook 零生产消费者,已通过全语料库搜索(含字符串键、动态导入形态、构建图、测试语料与已跟踪的 .qwen 文件)验证;万一未来发现消费者,回滚这一个提交即可完整恢复。
  • 未验证 / 超出范围:macOS/Windows 构建(不涉及平台相关代码);未运行集成测试(删除未挂载的 hook 不触及任何 CLI 行为)。
  • 破坏性变更 / 迁移说明:无;该 hook 及其返回值类型接口从未在其自身文件与测试之外被导入。

关联 Issue

属于 #10000 跟踪的死代码清理工作。

机器细节见上方英文 “Machine details (find-simplifications)” 折叠块:候选编号 use-input-history-store(第 1 类:死 hook 连同其专属测试与文件名允许列表条目),共删除 412 行、新增 0 行;全语料库搜索证明引用恰为 hook 自身声明、其专属测试与允许列表条目三处;调查协议各步骤及落地前的重新核验(基准为刚拉取的 upstream/main)均已执行;构建、打包、类型检查与 lint:ci 全部通过;因删除本身带走了该表面唯一的测试,按流程跳过定向 vitest,改以落地检出上的语料库复扫(零残留引用)兜底;无快照、无 i18n 键、无文档行等连带清理项,相邻的 useInputHistory(另一个在用的 hook)允许列表条目未被触碰。

@qwen-code-ci-bot

qwen-code-ci-bot commented Aug 25, 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

Copy link
Copy Markdown
Collaborator

Thanks for the PR!

  • Template: looks good ✓
  • Problem: not a bug fix, so no reproduction is expected — the claim is that useInputHistoryStore is dead code, and I verified it independently on current main: every reference to InputHistoryStore (any casing) lives in exactly the three files this PR removes — the hook itself, its dedicated test, and the eslint.legacy-filenames.mjs allowlist row. No imports, no re-exports, no string-keyed references. The live useInputHistory hook (no Store) remains mounted by InputPrompt.tsx and is untouched.
  • Direction: aligned — dead-surface removal under the [find-simplifications] candidate ledger #10000 cleanup ledger, one candidate per PR. That's the right shape for this kind of change.
  • Size: no core paths touched (packages/cli/src/ui/hooks/ + one root lint-config row). 119 production lines deleted (118 hook + 1 allowlist row), 293 test lines. No core-module gate applies.
  • Approach: the diff is exactly the minimal deletion set — hook file, its dedicated test, and the now-stale allowlist row. Nothing else. No unrelated changes, no churn.
  • Risk: no elevated risk signals — none of the changed files match the revert-correlated path patterns.

Moving on to code review. 🔍

中文说明

感谢贡献!

  • 模板:完整 ✓
  • 问题:这不是 bug 修复,不要求复现——本 PR 的论断是 useInputHistoryStore 为死代码,我已在当前 main 上独立核实:对 InputHistoryStore(任意大小写)的所有引用恰好只存在于本 PR 删除的三个文件中——hook 本身、其专属测试、以及 eslint.legacy-filenames.mjs 中的允许列表条目。没有 import、没有再导出、没有字符串键引用。仍在使用的 useInputHistory(无 Store)hook 依旧被 InputPrompt.tsx 挂载,未被触碰。
  • 方向:对齐——属于 [find-simplifications] candidate ledger #10000 清理台账下的死代码移除,每个候选一个 PR,形态正确。
  • 规模:未触及核心路径(packages/cli/src/ui/hooks/ + 根目录 lint 配置一行);删除 119 行生产代码(118 行 hook + 1 行允许列表)、293 行测试。核心模块门槛不适用。
  • 方案:diff 恰为最小删除集——hook 文件、其专属测试、过期的允许列表条目,此外无任何改动。无无关变更、无顺手改动。
  • 风险:无升级风险信号——改动文件均未命中与回滚相关的高风险路径模式。

进入代码审查 🔍

Qwen Code · qwen3.8-max

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

@qwen-code-ci-bot

qwen-code-ci-bot commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Code review

Before reading the diff, my independent plan for an unmounted hook was: delete the hook file, delete the test that exists only to cover it, and drop any lint-allowlist row exempting it — nothing else. The PR does exactly that, file for file:

  • packages/cli/src/ui/hooks/useInputHistoryStore.ts — the dead hook. I read it in full: pure useState/useCallback logic, and its only module-scope statement is a createDebugLogger call, which can never fire because nothing imports the module. No registrations, no side effects, and the exported UseInputHistoryStoreReturn interface is used only as the hook's own return type.
  • packages/cli/src/ui/hooks/useInputHistoryStore.test.ts — renders the hook via renderHook and asserts on its own state; a dedicated test with no other purpose, correctly going with it.
  • eslint.legacy-filenames.mjs — removes exactly the 'useInputHistoryStore' row; the adjacent 'useInputHistory' row (the live hook) is untouched and the list stays sorted.

No critical blockers, no convention violations, no drive-by changes. I re-grepped InputHistoryStore across the full tree (all casings, all file types) and confirmed the references are confined to these three files, so a typecheck break from the removed export is structurally impossible — nothing imports it.

No sequence diagram or files table — a three-file pure deletion doesn't earn them.

CI test evidence

From the PR's own CI on the reviewed commit (fetched via API, not re-run — the unit matrix takes ~30 min and is still in flight; the finalize workflow updates the table below once it settles). Everything completed so far is green; the three platform Test jobs are pending, not failed. Orchestration-only jobs (tmux/verify/integration lanes, authorize, label) skipped as usual and omitted.

Final CI results for b2d148d (auto-updated by the triage finalize job after CI completed):

Check Conclusion
Test (macos-latest, Node 22.x) 🚫 cancelled
Test (windows-latest, Node 22.x) 🚫 cancelled
Classify platform sensitivity ✅ success
Classify PR ✅ success
Dependency CVE audit ✅ success
Desktop Shell (ubuntu-22.04) ✅ success
Desktop Shell (windows-2022) ✅ success
route ✅ success
Secret scan (TruffleHog) ✅ success
Test (ubuntu-latest, Node 22.x) ✅ success
web-shell E2E Smoke (ubuntu-latest, Node 22.x) ✅ success

One row per check name (latest run); skipped checks omitted; failures sort first. / 每个检查名一行(取最新一次运行),省略 skipped,失败项排在最前。

Not verified: local npm run typecheck / lint:ci green claims in the PR description are the author's own report, not independently re-run here — but they carry little weight either way, since the static grep above already proves no surviving file references the removed surface.

No sandboxed-lane line: there is no behavioural claim to settle — the claim is structural ("nothing references this"), and it is settled by the grep plus the CI suite. Real-scenario TUI testing: N/A (nothing user-visible changes).

中文说明

代码审查

读 diff 之前,我对"删除未挂载 hook"的独立方案是:删 hook 文件、删仅为覆盖它而存在的测试、删掉为其豁免的 lint 允许列表条目——仅此而已。本 PR 恰好逐项做到:

  • useInputHistoryStore.ts:我通读了该死代码。纯 useState/useCallback 逻辑,唯一的模块顶层语句是 createDebugLogger 调用,由于没有任何模块 import 它,该语句永远不会执行。无注册、无副作用;导出的 UseInputHistoryStoreReturn 接口仅作该 hook 自身的返回类型使用。
  • useInputHistoryStore.test.ts:通过 renderHook 渲染该 hook 并断言其自身状态,是只为它服务的专属测试,随之一并删除是正确的。
  • eslint.legacy-filenames.mjs:恰好删除 'useInputHistoryStore' 一行;相邻的 'useInputHistory'(仍在使用的 hook)一行未动,列表保持有序。

无阻断性问题、无规范违规、无顺手改动。我对全树(任意大小写、任意文件类型)重新 grep 了 InputHistoryStore,确认引用仅存在于这三个文件中——删除导出在类型检查上不可能引发任何问题,因为没有任何文件 import 它。

无时序图与文件表——三个文件的纯删除不需要这些。

CI 测试证据

来自该 PR 自身在受审提交上的 CI(经 API 获取,未重新运行——单元测试矩阵约需 30 分钟,仍在进行中;finalize 工作流会在其结束后就地更新上表)。目前已完成的检查全部通过;三个平台的 Test 作业处于进行中而非失败。仅编排类作业(tmux/verify/集成通道、authorize、label)按惯例跳过,未列出。

未验证:PR 描述中本地 npm run typecheck / lint:ci 通过的表述是作者自述,未在此独立复现——但上述静态 grep 已证明没有任何存留文件引用被删除的表面,这两项本地结果的权重本就很低。

无沙箱验证触发语:没有需要裁决的行为性论断——本 PR 的论断是结构性的("没有任何东西引用它"),已由 grep 与 CI 套件裁决。真实场景 TUI 测试:N/A(无用户可见变化)。

Qwen Code · qwen3.8-max

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

@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

Confidence: 3/5 — clean review, but the fork-refactor guardrail needs a maintainer's sign-off.

This is the kind of PR I'd merge without hesitation if the guardrail didn't apply: my independent plan for an unmounted hook was exactly what landed — hook file, its dedicated test, and the one allowlist row, nothing more — and the diff matches it file for file with zero churn. The dead-code claim isn't taken on faith; I re-grepped the full tree myself and the references are confined to the three deleted files, and the live useInputHistory hook is untouched. No blockers, no convention issues.

The only open item is CI: the three platform Test jobs were still running at review time (table in my Stage 2 comment updates in place once they settle). A green matrix is expected but not yet observed.

Why I'm not approving: cross-repository PRs whose title is a refactor type are never auto-approved by this gate — that's policy, not doubt about this change. A maintainer's eye is required before merge.

中文说明

置信度:3/5 —— 审查本身干净,但 fork-refactor 守卫规则要求维护者签字。

如果没有守卫规则,这是我会毫不犹豫合入的一类 PR:我对"未挂载 hook"的独立方案与最终落地的 diff 逐文件一致——hook 文件、其专属测试、那一条允许列表条目,仅此而已,零顺手改动。死代码论断不是照单全收:我自行对全树重新 grep,确认引用仅存在于被删除的三个文件中;仍在使用的 useInputHistory hook 未被触碰。无阻断问题、无规范问题。

唯一未决项是 CI:受审时三个平台的 Test 作业仍在运行(我在 Stage 2 评论中的表格会在其结束后就地更新)。预期会绿,但目前尚未观察到结果。

不批准的原因:标题为 refactor 类型的跨仓库(fork)PR 在本门禁下永不自动批准——这是策略使然,而非对本改动有疑虑。合入前需要维护者过目。

Qwen Code · qwen3.8-max

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

@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

⏸️ Deferring to @chiga0 — this is a cross-repository PR with a refactor title, which the gate never auto-approves by policy. The review itself is clean (dead code independently verified, minimal diff, no blockers); the unit test matrix was still running at review time. Needs a human sign-off before merge.

中文说明

⏸️ 转交 @chiga0 —— 本 PR 为跨仓库(fork)提交且标题为 refactor 类型,按门禁策略永不自动批准。审查本身干净(死代码已独立核实、diff 最小、无阻断问题);受审时单元测试矩阵仍在运行。合入前需要人工签字。

Qwen Code · qwen3.8-max

@qqqys qqqys added the autofix/takeover Summon the autofix loop to manage this PR (remove to release; needs triage+) label Aug 25, 2026

@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.

⚠️ Downgraded from Approve to Comment: CI still running. Reviewed.

中文说明

⚠️ 已从批准降级为评论:CI still running。 已审查。

— qwen3.8-max via Qwen Code /review (v0.22.0)

@qwen-code-dev-bot

Copy link
Copy Markdown
Collaborator

🤝 Takeover engaged: the autofix loop now manages this PR — it will address new review feedback and resolve base conflicts until the label is removed or the round cap is reached. Remove the autofix/takeover label (or comment @qwen-code /takeover stop) to release.

中文说明

🤝 已接管:autofix 循环现在管理此 PR —— 将持续处理新的评审反馈与 base 冲突,直到移除标签或达到轮次上限。移除 autofix/takeover 标签(或评论 @qwen-code /takeover stop)即可释放。

@qwen-code-dev-bot

qwen-code-dev-bot commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

AutoFix round 1 finishedview run. See this round's report below.

中文说明

AutoFix 第 1 轮已完成 —— 查看运行。本轮报告见下方。

@qwen-code-dev-bot

Copy link
Copy Markdown
Collaborator

🤖 Reviewed the latest feedback — no changes needed. Why, point by point: · 已审阅最新反馈——无需改动。逐点说明原因如下:

Autofix review round: no action needed

This round made no code changes — the new feedback contains no actionable findings.

Feedback triage

  • [rv:5021986642] Automated review (COMMENTED) — The review was downgraded from Approve to Comment only because CI was still running at review time. Its ledger records zero findings (findings: [], posted: 0). There is nothing to reproduce, implement, or decline.
  • [ic:5413896209] Issue-level comment — This is a gate status note deferring to @chiga0 for human sign-off: the PR is a cross-repository (fork) submission with a refactor title, which policy never auto-approves. The note itself confirms the review is clean (dead code independently verified, minimal diff, no blockers). Awaiting maintainer sign-off is a human decision, not a code change; there is nothing for this bot to implement.
  • Cancelled checks (Test (macos-latest Node 22.x), Test (windows-latest Node 22.x), review-pr) — All three report CANCELLED, not FAILED; the "still-red checks" section is empty. A cancellation carries no evidence of a code defect, and CI routing/re-runs are owned by the workflow. No code-level hypothesis exists to act on.

Local state verification

The PR remains a purely subtractive change (412 deletions, 0 additions) removing the unused useInputHistoryStore hook, its test file, and its eslint legacy-filename allowlist entry. A repository-wide search confirms zero remaining references to useInputHistoryStore; the distinct useInputHistory hook consumed by InputPrompt is intact. The branch is one commit ahead of origin/main with no divergence and no merge conflicts (--conflict false), so no merge was performed.

No commit was created this round.

中文说明

Autofix 审查轮次:无需操作

本轮未做任何代码变更——新反馈中没有任何可执行的发现。

反馈分类

  • [rv:5021986642] 自动审查(COMMENTED)——该审查仅因审查时 CI 仍在运行而从"批准"降级为"评论"。其台账记录为零发现(findings: []posted: 0)。没有需要复现、实现或拒绝的内容。
  • [ic:5413896209] Issue 级评论——这是门禁的状态说明,转交 @chiga0 进行人工签字:本 PR 为跨仓库(fork)提交且标题为 refactor 类型,按策略永不自动批准。该说明本身确认审查是干净的(死代码已独立核实、diff 最小、无阻断问题)。等待维护者签字属于人工决策,而非代码变更;本机器人没有需要实现的内容。
  • 已取消的检查Test (macos-latest Node 22.x)Test (windows-latest Node 22.x)review-pr)——三者均为 CANCELLED(已取消),而非 FAILED(失败);"仍然标红的检查"一节为空。取消不携带任何代码缺陷的证据,CI 的调度与重跑由工作流负责。不存在可据以行动的代码层面假设。

本地状态核实

本 PR 仍然是一个纯删减型变更(删除 412 行、新增 0 行),移除了未使用的 useInputHistoryStore hook、其测试文件以及 eslint 旧文件名白名单中的对应条目。全仓库检索确认 useInputHistoryStore 已无任何残留引用;InputPrompt 实际使用的另一个独立 hook useInputHistory 保持完好。分支领先 origin/main 一个提交,无分叉、无合并冲突(--conflict false),因此未执行任何合并。

本轮未创建任何提交。

Base-conflict check · 基分支冲突检查: no conflict with main. · 与 main 无冲突。


🧠 Handled by Qwen Code · model/模型 qwen3.8-max

@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.

⚠️ Downgraded from Approve to Comment: CI failing: Test (windows-latest, Node 22.x). Reviewed.

中文说明

⚠️ 已从批准降级为评论:CI failing: Test (windows-latest, Node 22.x)。 已审查。

— qwen3.8-max via Qwen Code /review (v0.22.0)

@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.

No issues found. LGTM! ✅

中文说明

未发现问题。LGTM!✅

— qwen3.8-max via Qwen Code /review (v0.22.0)

@qwen-code-dev-bot

Copy link
Copy Markdown
Collaborator

🤖 Reviewed the latest feedback — no changes needed. Why, point by point: · 已审阅最新反馈——无需改动。逐点说明原因如下:

Autofix address-review — no action this round (PR #10041)

Triage

The only new feedback point is review [rv:5026387615] from the automated reviewer: a downgrade from Approve to Comment citing "CI failing: Test (windows-latest, Node 22.x)". Its findings ledger is empty (0 findings posted), so there is no code-level finding to address. Disposition: declined with evidence below.

Why no change is made

The downgrade reason is stale and not actionable on this branch:

  1. The failing lane no longer runs on pull requests. ci: take the macOS and Windows lanes off pull requests #10059 ("ci: take the macOS and Windows lanes off pull requests") is merged into main, and this branch already carries it — HEAD db710b4f56 is a merge of main that includes it. In .github/workflows/ci.yml, test_windows now runs only on merge_group, schedule, and workflow_dispatch; its pull_request arm was removed.
  2. The Windows red was not caused by this PR. ci: take the macOS and Windows lanes off pull requests #10059's commit message measured the Windows lane at 13 failures and 0 successes over the 18 hours before it landed — one standing set of Windows-only path and symlink cases (resolved paths into read_many_files, releaseWorktree through an ancestor symlink, the SHA-256 review worktree) repeating across unrelated PRs, so "the red X almost never belonged to the diff under it". This PR's diff is pure deletion — an unused React hook (useInputHistoryStore.ts, 118 lines), its test file (293 lines), and one eslint allowlist entry; 412 deleted lines, 0 added — and touches none of those paths.
  3. No check is red now. This round's feedback carries no entries under "Failed checks" or "Still-red checks".
  4. The deletion remains complete. A repo-wide search confirms no references to useInputHistoryStore exist anywhere in the tree.

Outcome

No code changes this round. The branch stays at db710b4f56 (already merged with main; --conflict false, nothing to resolve). Nothing committed.

中文说明

Autofix address-review — 本轮不做任何修改(PR #10041

分类

唯一的新反馈点是自动审查器的评审 [rv:5026387615]:以 "CI failing: Test (windows-latest, Node 22.x)" 为由,将批准(Approve)降级为评论(Comment)。其发现清单为空(发布了 0 条发现),因此没有需要处理的代码级发现。处置:基于以下证据拒绝(decline)。

不做修改的原因

该降级理由已过期,且在本分支上无法采取行动:

  1. 该失败流水线已不再对 pull request 运行。 ci: take the macOS and Windows lanes off pull requests #10059("ci: take the macOS and Windows lanes off pull requests")已合入 main,本分支也已包含该变更——HEAD db710b4f56 即一次合入 main 的合并,其中包含该提交。在 .github/workflows/ci.yml 中,test_windows 现在只在 merge_groupscheduleworkflow_dispatch 时运行;其 pull_request 分支已被移除。
  2. 该 Windows 失败并非本 PR 造成。 ci: take the macOS and Windows lanes off pull requests #10059 的提交说明统计了该 Windows 流水线在变更落地前的 18 小时内 13 次失败、0 次成功——始终是同一组 Windows 专属的路径与符号链接问题(进入 read_many_files 的已解析路径、通过祖先符号链接的 releaseWorktree、SHA-256 审查 worktree),在与本变更无关的多个 PR 上反复出现,因此"红色叉号几乎从来不属于它下面的那个 diff"。本 PR 的差异是纯删除——一个未使用的 React hook(useInputHistoryStore.ts,118 行)、其测试文件(293 行),以及一条 eslint 允许名单条目;共删除 412 行、新增 0 行——不涉及上述任何路径。
  3. 当前没有任何检查失败。 本轮反馈的 "Failed checks" 与 "Still-red checks" 部分均为空。
  4. 删除仍然完整。 全仓库搜索确认,树中不存在任何对 useInputHistoryStore 的引用。

结论

本轮不做任何代码修改。分支保持在 db710b4f56(已与 main 合并;--conflict false,无需解决冲突)。不产生任何提交。

Base-conflict check · 基分支冲突检查: no conflict with main. · 与 main 无冲突。


🧠 Handled by Qwen Code · model/模型 qwen3.8-max

@yiliang114
yiliang114 added this pull request to the merge queue Aug 26, 2026
Merged via the queue into QwenLM:main with commit 44762ef Aug 26, 2026
58 of 59 checks passed
@qwen-code-ci-bot

Copy link
Copy Markdown
Collaborator

Released in v0.22.2.

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

Labels

autofix/takeover Summon the autofix loop to manage this PR (remove to release; needs triage+)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants