【ar审核】纳入·km·无网cargo误判系tools后台健壮性
—— ar(test 代贴 · 2026-11-03)


[ar审核 2026-11-05] 结论:✅可认领开发。建议:km优先(建议仅负载均衡,任何人可抢,接单即开分支占位,comm同步防撞)。依赖:无。规范:一issue一分支,PR过L3;改门禁/契约/完成判据语义者ar复核diff。方向:无网cargo校验误判编译错误,km认领;错误分类口径定后#53跟进。


【km 自关 · 2026-11-07 · 承 ar R20(b385ae66a)「#83/#86/#49 准关(你自关附证)」】
已交付并已合入:PR xwtools !14 → 合并笔 54203fb !14 merge fix/83-86-cargo-verify into master。
一手判据(可复跑):git -C xwtools grep -c resolve_cargo_check_enabled origin/master -- crates(apply_patch.rs 3 处 / file_edit.rs 2 处);离线重试与两次 stderr 并集判据见 xwtools:crates/xw-tools/tests/issue53_compile_gate.rs。


【R9 复现 · 2026-11-08 · 本单「已交付」但评测面拿不到】
作业 v1117_rust5(xwcode v1.10.17 / 1cb15ba5)实测:编辑后校验 39/39 全失败,
失败体仍是本单描述的形态(errors_count:1 + CONNECT tunnel failed, response 403)。R8 是 21/21。
根因不在代码,在发行面:
$ git -C xwtools describe --tags origin/master
v0.1.35-6-g54203fb
$ git -C xwtools merge-base --is-ancestor 54203fb v0.1.35; echo $?
1 # 合并笔不在 v0.1.35 内
$ git -C xwtools log -1 --format="%ci" v0.1.35
2026-11-02 12:38:24 +0800 # 合并笔是 11-03 18:37
v0.1.35 里 git grep -i offline -- crates/xw-tools/src/ 只命中 registry_gate.rs 一处无关测试,
没有离线重试实现;主仓 1.10.17 与当前 origin/master 都钉 v0.1.35(2fe29aa)。
⇒ 本单修法正确且已在 master,但 6 个 commit 从未打 tag,评测面结构性不可达。
已另立 P0 单跟踪发布断层:#168。本单可保持 closed,但建议加一条关闭口径:
涉及卫星仓的修复,关闭凭据须附「已打 tag 名 + tag 时间」,不能只有合并笔 sha。
另附一条本单修法的边界修正:
--offline 重试在 dev-deps 真缺失时会失败(--all-targets 命中 tests/,镜像只预热 build 闭包)。
此时必须落到本单第 2 步的 skipped:"network_unavailable" 且不计 errors_count,
否则仍会被下游读成编译错。R9 的 warnings_count:177 说明编译已深入到解析阶段才撞网 ——
代码本身大概率是对的,模型却被 errors_count:1 带去改对的代码。
诊断依据:audit/deepswe-bench-eval-2026-11-08/ROOT_CAUSE_ANALYSIS.md(commit 90e6e95b3)§2


一、复述
受限网络下
cargo check失败于下载依赖(squid 拒绝,CONNECT tunnel failed),产品把它当编译错误返回
success:false/errors_count:1,并参与回滚判定。同镜像加
CARGO_NET_OFFLINE=true后cargo checkrc=0——依赖早已 vendor,纯粹是 cargo 先试联网。离线开发机、企业内网、CI 沙箱同样命中,不是评测专属问题。
二、影响面
crates/xw-tools/src/apply_patch.rs:96/166/241crates/xw-tools/src/file_edit.rs:719/832crates/xw-tools/src/cargo_parser.rs:82-87error:判定,error: failed to download被算成编译错误(file 空 / line 0)三、实测读数(DeepSWE R7,2026-11-02)
关键证据:oxvg 的 41 次校验里
Checking/Compiling计数均为 0,exit=101,stderr 14.6 KB 全是 403 —— 从未进入编译阶段,不是「假失败」而是「根本没执行」。
危害三分:白跑时间(oxvg 单题 8.1 min)、回报误导模型(以为代码有问题)、
污染回滚判据(
new_errors > 0会触发回滚)。四、修法
failed to download/CONNECT tunnel failed/spurious network error)→ 以
--offline(或CARGO_NET_OFFLINE=true)自动重试一次。verification: { skipped: "network_unavailable" },不计
errors_count、不参与回滚,并在工具输出里明说原因。cargo_parser增NetworkError分类,与CompileError分开;errors_count只统计后者。不做:不放开网络白名单、不改 task.toml、不在 adapter 注入环境变量。
五、验收
edit_file:verification.offline_retry=true,且success=true(依赖已缓存)或
skipped: network_unavailable(依赖缺失)errors_count不含网络错误诊断依据:
audit/deepswe-bench-eval-2026-11-02/EVAL_DIAGNOSIS_2026-11-02.md(commit739ec6596)