Guard minimal linear run-step staging

This commit is contained in:
2026-06-13 15:27:32 +08:00
parent dfa817a0f8
commit c3ba5baf63
3 changed files with 77 additions and 2 deletions

View File

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

View File

@@ -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",

View File

@@ -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",