From 75ff9ca75b46e67d7e5586ffc8f7fb41bf07901d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Mon, 5 Oct 2026 17:22:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E6=96=BD=E8=AE=A1=E5=88=92=E5=86=99?= =?UTF-8?q?=E6=B8=85=E7=9C=9F=E5=AE=9E=E8=BF=9B=E7=A8=8B=E7=94=A8=E4=BE=8B?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=97=B6=E7=9A=84=E4=B8=A4=E4=B8=AA=E8=A7=82?= =?UTF-8?q?=E5=AF=9F=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 说明子进程输出里的 running 1 test 是命令沙箱垫片的预期现象:垫片就是当前可执行文件,编译到测试态时参数换成 --exact ...trampoline_child_fixture,所以垫片进程是测试二进制在跑那个 fixture 用例。 - 真正失败的是沙箱里解析到的 npm(fnm 包装脚本被另一个 node 版本执行),并写明同一脚本在普通 shell 里能正常产出 zip,避免后人把它当成产品缺陷。 --- .../【实施计划】导出产物面板与小红书小工具导出-2026-10-05.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/project-memory/plans/【实施计划】导出产物面板与小红书小工具导出-2026-10-05.md b/docs/project-memory/plans/【实施计划】导出产物面板与小红书小工具导出-2026-10-05.md index fccc850f6..006d8575d 100644 --- a/docs/project-memory/plans/【实施计划】导出产物面板与小红书小工具导出-2026-10-05.md +++ b/docs/project-memory/plans/【实施计划】导出产物面板与小红书小工具导出-2026-10-05.md @@ -58,6 +58,9 @@ 已验证:Rust `export::` 49 例(`export::draft::xhs_minitool` 33 例)、`export_bindings` 115 例、`project_snapshot` 22 例、`check:generated-bindings`(117 个文件)、前端 vitest 15 例(新增 11 + 既有 4)、`ai-game-creator-shell:typecheck`、`agc:skill-pack:check`、`check:doc-index`、`check:encoding`、`git diff --check`。 -未验证(唯一开口项):真实 vite 项目上的首轮适配闭环——agent 跑通 `build:xhs-minitool`、产出可上传 zip、二次导出零 agent 调用;以及 `.export/` 换机后重新适配的体感。宿主侧这一段已尽力自动化:`build.rs` 的 `executes_the_project_script_and_requires_a_non_empty_artifact_each_time`(`#[ignore]`)会真起进程执行项目脚本,覆盖「第一次产出 → 删掉产物再跑一次重新产出 → 脚本成功但没产出报 artifactMissing」。本机尝试运行被容器环境挡下:沙箱里解析到的 `npm` 是 fnm 包装脚本、却由另一个 node 版本执行(`Cannot find module '../lib/cli.js'`,`Node.js v26.10.0`),同一脚本在普通 shell 里 `npm run build:xhs-minitool` 正常产出 zip。该用例留给有健康沙箱与 node 环境的机器一键复跑。 +未验证(唯一开口项):真实 vite 项目上的首轮适配闭环——agent 跑通 `build:xhs-minitool`、产出可上传 zip、二次导出零 agent 调用;以及 `.export/` 换机后重新适配的体感。宿主侧这一段已尽力自动化:`build.rs` 的 `executes_the_project_script_and_requires_a_non_empty_artifact_each_time`(`#[ignore]`)会真起进程执行项目脚本,覆盖「第一次产出 → 删掉产物再跑一次重新产出 → 脚本成功但没产出报 artifactMissing」。本机尝试运行被容器环境挡下,读日志时注意两点、别误判成 bug: +- 子进程输出里的 `running 1 test` 是**预期现象**:命令沙箱的垫片就是当前可执行文件本身(`desktop.rs` 按 `--command-sandbox-trampoline` 分流),编译到测试态时 `sandbox_trampoline_arguments()` 会改成 `--exact ...trampoline_child_fixture --ignored`,所以垫片进程是测试二进制在跑那一个 fixture 用例。 +- 真正失败的是沙箱里的 `npm`:解析到的是 fnm 包装脚本、却由另一个 node 版本执行(`Cannot find module '../lib/cli.js'`,`Node.js v26.10.0`)。同一脚本在普通 shell 里 `npm run build:xhs-minitool` 正常产出 zip,因此不是代码问题。 +该用例留给有健康沙箱与 node 环境的机器一键复跑。 已知环境噪声:本机全量 `cargo test --bin` 有 12 例与本变更无关的失败(`process_session` / `command_sandbox_trampoline` / `runner` 的 pty 与 GUI 锁、`resource_editor` 的外部 HTTP 连接被拒),失败用例均不经过本次改动的路径。