Guard final m98m99 staging paths

This commit is contained in:
2026-06-13 06:46:00 +08:00
parent 1e72dc150e
commit 25d90efda6
3 changed files with 107 additions and 0 deletions

View File

@@ -7396,3 +7396,91 @@ Guard main-program m98m99 staging paths
这将覆盖 `m98m99` fixed manifest 的最后 3 个 `.ngc`。本批仍只做 staged path 这将覆盖 `m98m99` fixed manifest 的最后 3 个 `.ngc`。本批仍只做 staged path
与 fixed manifest 对账,不扩大到 blocked runtime。 与 fixed manifest 对账,不扩大到 blocked runtime。
七十八、2026-06-13 继续执行记录m98m99 final direct-file staging path guard
本轮完成 `tests/interp/m98m99` fixed manifest 的最后一小批 staging guard。当前
host 仍按 blocked runtime 规则处理,不执行任何 `ENABLE_*_RUNTIME_PROBE=1`
opt-in native probe。
1. 候选选择。
选择上一节建议的最后 3 个 `.ngc`
- `m98m99/13-named-program/test-named.ngc`
- `m98m99/13-named-program/test-numbered.ngc`
- `m98m99/14-o-expression-call/test.ngc`
这些 case 已在 Node/browser 单独执行,不需要 INI/HAL/task/tool DB/Python
remap/user-M process runtime。本轮只固定 staged path 与既有 fixed `.ngc`
manifest 最后 3 项的一致性,不新增 CNC 语义。
2. 覆盖对账。
`tests/interp/m98m99` 当前 upstream `.ngc` manifest 已由既有 fixed list 覆盖,
本轮新增对账的 manifest slice 为:
```text
13-named-program/test-named.ngc
13-named-program/test-numbered.ngc
14-o-expression-call/test.ngc
```
3. 更新。
更新:
- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`
- `wasm-port/tests/browser/interp_smoke.html`
Node 新增:
- 在创建 `13` 两个 direct-file staged path 和 `14` direct-file staged path 后,
检查实际 path 与 `m98m99RegressionFiles.slice(21, 24)` 推导出的
`/work/interp/m98m99/...` path 一致。
Browser 新增:
- 同步检查 `13` 和 `14` staged `.ngc` path 去掉
`/work/browser-interp/m98m99/` 前缀后,与
`m98m99RegressionFiles.slice(21, 24)` 一致;
- browser 仍不枚举目录。
4. 已执行验证。
```bash
git diff --check
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_interp_wasm.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
wasm-port/tests/host/verify_host_smokes.sh
```
结果:
- `git diff --check` clean。
- `vendor sync up to date`
- `standalone CNC semantics guard complete`
- `interp_wasm_node_smoke=ok`
- Node inventory 保持:
- `executed=28`
- `passed=28`
- `skipped=131`
- `unexpected_fail=0`
- `browser_interp_smoke=ok`
- `host_wasm_opfs_browser_smokes=ok`
5. 下一步工作建议。
当前工作集已稳定。建议先做小提交message
```text
Guard final m98m99 staging paths
```
提交后 `m98m99` 的 24 条 fixed `.ngc` manifest 已完成分批 staged path guard。
下一步建议转向下一个已有 Node/browser 覆盖、且不依赖 blocked runtime 的 fixture
family例如 `g10`。先从 `g10` 现有 fixed manifest 和 staging helper 对账开始,
仍保持每批只做 host/filesystem staging guard不新增 CNC 语义。

View File

@@ -8126,6 +8126,14 @@
"m98m99/14-o-expression-call", "m98m99/14-o-expression-call",
"test.ngc", "test.ngc",
); );
const m98m99FinalStagedNgcFiles = [
m98m99NamedProgramNamedPath,
m98m99NamedProgramNumberedPath,
m98m99OExpressionCallPath,
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
if (m98m99FinalStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(21, 24).join(",")) {
throw new Error("browser_interp_m98m99_final_staging_manifest: list drift");
}
const m98m99OExpressionCallRun = runWithCapturedPrints(() => const m98m99OExpressionCallRun = runWithCapturedPrints(() =>
interp.runFile(m98m99OExpressionCallPath), interp.runFile(m98m99OExpressionCallPath),
); );

View File

@@ -3022,6 +3022,17 @@ const m98m99OExpressionCallPath = writeInterpRegressionFile(
"m98m99/14-o-expression-call", "m98m99/14-o-expression-call",
"test.ngc", "test.ngc",
); );
assert.deepEqual(
[
m98m99NamedProgramNamedPath,
m98m99NamedProgramNumberedPath,
m98m99OExpressionCallPath,
],
m98m99RegressionFiles
.slice(21, 24)
.map((file) => `/work/interp/m98m99/${file}`),
"interp m98m99 final direct-file staging manifest drift",
);
const m98m99OExpressionCallRun = runWithCapturedPrints(() => const m98m99OExpressionCallRun = runWithCapturedPrints(() =>
interp.runFile(m98m99OExpressionCallPath), interp.runFile(m98m99OExpressionCallPath),
); );