From c3ba5baf6348421b16140bd49cee482082424ace Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sat, 13 Jun 2026 15:27:32 +0800 Subject: [PATCH] Guard minimal linear run-step staging --- text7.txt | 64 +++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 8 ++- .../tests/wasm/node/verify_interp_wasm.mjs | 7 +- 3 files changed, 77 insertions(+), 2 deletions(-) diff --git a/text7.txt b/text7.txt index 968f02b..acc9054 100644 --- a/text7.txt +++ b/text7.txt @@ -696,3 +696,67 @@ runtime promotion。 ```bash git status --short && git log -5 --oneline && tail -n 120 text7.txt && awk '/^[一二三四五六七八九十百]+、/ {print}' text7.txt | sort | uniq -d ``` + +十四、2026-06-13 继续执行记录:minimal linear run-step staging guard + +1. 本批目标。 + +继续 staged path guard inventory 第九轮,处理 Node/browser 成对覆盖的 run-step +代表 direct path: + +```text +minimal_linear_run_steps +browser_minimal_linear_run_steps +``` + +2. 已完成改动。 + +- Node 侧将 `interp.runFile("/work/minimal_linear.ngc")` 改为使用 + `writeLocalGcodeFixture(...)` 返回的 guarded path; +- browser 侧将 `interp.runFile("/work/minimal_linear.ngc")` 改为使用 + `writeLocalGcodeFixture(...)` 返回的 guarded path; +- 两侧均显式检查 staged `wasmPath` 与期望路径一致; +- browser 侧仍不枚举目录; +- 未修改 G-code 内容、run-step expected 或 interpreter 语义。 + +涉及文件: + +```text +wasm-port/tests/wasm/node/verify_interp_wasm.mjs +wasm-port/tests/browser/interp_smoke.html +``` + +3. 已完成的目标验证。 + +```bash +git diff --check +SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +``` + +4. 本批剩余建议验证。 + +```bash +wasm-port/tools/verify_vendor_sync.sh +wasm-port/tools/verify_no_standalone_cnc_semantics.sh +SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh +wasm-port/tests/host/verify_host_smokes.sh +``` + +如果通过,提交建议: + +```text +Guard minimal linear run-step staging +``` + +5. 下一步工作建议。 + +继续 staged path guard inventory 第十轮,优先处理 `cam-nisley-bare` direct +`runFile(...)` 路径,或 `g52/g92-persistence` 这类固定 staging directory;继续避开 +parameter/tool table runtime state tests 和 blocked runtime promotion。 + +下一轮第一条命令仍保持: + +```bash +git status --short && git log -5 --oneline && tail -n 120 text7.txt && awk '/^[一二三四五六七八九十百]+、/ {print}' text7.txt | sort | uniq -d +``` diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index cdd5c48..303f082 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -5369,9 +5369,15 @@ ); } + const minimalLinearRunStepsPath = await writeLocalGcodeFixture( + interp, + "minimal_linear", + "/work/minimal_linear.ngc", + "/work/minimal_linear.ngc", + ); verifyExpectedOutput( "browser_minimal_linear_run_steps", - interp.runFile("/work/minimal_linear.ngc"), + interp.runFile(minimalLinearRunStepsPath), [ "run_step phase=read step=1 rc=0 line=1", "run_step phase=execute step=1 rc=0 line=1 x=1 y=2 z=0", diff --git a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs index bfc7497..3ef41e8 100644 --- a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs +++ b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs @@ -738,9 +738,14 @@ for (const fixtureName of INTERP_FILE_FIXTURES) { verifyExpectedOutput(fixtureName, interp.runFile(programPath), expectedEvents); } +const minimalLinearRunStepsPath = writeLocalGcodeFixture( + "minimal_linear", + "/work/minimal_linear.ngc", + "/work/minimal_linear.ngc", +); verifyExpectedOutput( "minimal_linear_run_steps", - interp.runFile("/work/minimal_linear.ngc"), + interp.runFile(minimalLinearRunStepsPath), [ "run_step phase=read step=1 rc=0 line=1", "run_step phase=execute step=1 rc=0 line=1 x=1 y=2 z=0",