Guard m98m99 direct-file staging helper

This commit is contained in:
2026-06-13 08:46:05 +08:00
parent 8ff0fe25d4
commit fba2946a67
3 changed files with 84 additions and 28 deletions

View File

@@ -1020,3 +1020,53 @@ m98m99 目录级 staged path guard 已基本收束。下一批建议扫描 `writ
把它们改成局部 fixed path guard如果继续保持小步提交可从 `g10` 之后的
direct-file families 或 `writeInterpRegressionFiles(...)` 其他调用点继续收敛。仍不推进
blocked runtime promotion、browser full inventory 扩面或 JS CNC 语义实现。
二十五、2026-06-13 继续执行记录m98m99 direct-file staging helper guard
本批按“剩余单文件 direct-file guard 收敛”推进,新增 single-file staging helper
并先替换 m98m99 里短小且已由 aggregate slice 间接覆盖的 4 个 direct-file case
- `m98m99/01-basics/test.ngc`
- `m98m99/02-variables/test.ngc`
- `m98m99/03-error-M98-no-P-word/test.ngc`
- `m98m99/14-o-expression-call/test.ngc`
完成内容:
- Node 侧新增 `assertInterpRegressionFileStaging(...)`
- Node 侧检查 staged path 与 `/work/interp/<name>/<filename>` 精确一致;
- Node 侧将 m98m99 initial aggregate slice 替换为 3 个局部 direct-file guard
- Node 侧将 final `14-o-expression-call` aggregate slice 替换为局部 direct-file guard
- browser 侧新增同名 single-file staging helper
- browser 侧检查 staged path 与 `/work/browser-interp/<name>/<filename>` 精确一致;
- browser 侧仍不枚举目录;
- 仅整理 host/filesystem staging guard不改变 Fanuc sub、变量作用域、M98 error 或
o-expression call 语义。
已运行验证:
```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
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
```
结果:全部通过。
下一步建议:
继续复用 `assertInterpRegressionFileStaging(...)` 收敛 m98m99 剩余 direct-file slice。
优先候选:
- `m98m99/04-M98-but-no-sub/test.ngc`
- `m98m99/05-M98-loops/test.ngc`
- `m98m99/07-nested-subs/test.ngc`
- `m98m99/08-sub-follows-main/test.ngc`
- `m98m99/10-M98-P001/test.ngc`
其中 `06-error-mixed-sub-styles` 有 4 个同目录文件,可单独作为一批继续处理。继续避免
blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。