48b33921c0
第四次运行(run#4)L0.5 已 PASS(status=1,MSVC 探测 + 39 单测全过), L0 仍失败于自检步骤自身的一个 PS 5.1 行为: & $c -m pre_commit --version *> $null → NativeCommandError,脚本中止 根因:$ErrorActionPreference='Stop' 下,原生命令写 stderr 会被 PS5.1 当成终止性错误(NativeCommandError),即使 *> $null 重定向也无法阻止; 于是第一个候选(msys64 python,无 pre-commit)就把整个 for 循环打断, 根本轮不到 anaconda3。 处置:探测每个候选时临时把 $ErrorActionPreference 降为 'Continue', 用 2>&1 | Out-Null 吞掉输出并取 $LASTEXITCODE,循环后恢复 'Stop'。 已在 WinPS 5.1 本地实测该探测逻辑: msys64 rc=1 → .venv rc=1 → anaconda3 rc=0 选中,STEP OK。