diff --git a/text5.txt b/text5.txt index 3053c8d..b134de9 100644 --- a/text5.txt +++ b/text5.txt @@ -7484,3 +7484,184 @@ Guard final m98m99 staging paths 下一步建议转向下一个已有 Node/browser 覆盖、且不依赖 blocked runtime 的 fixture family,例如 `g10`。先从 `g10` 现有 fixed manifest 和 staging helper 对账开始, 仍保持每批只做 host/filesystem staging guard,不新增 CNC 语义。 + +七十九、2026-06-13 继续执行记录:g10 initial staging path guard + +本轮转向 `tests/interp/g10` staged path 对账。当前 host 仍按 blocked runtime +规则处理,不执行任何 `ENABLE_*_RUNTIME_PROBE=1` opt-in native probe。 + +1. 候选选择。 + +选择 `g10` 当前 fixed manifest 的前三项: + +- `g10/g10-l1-l10/test.ngc` +- `g10/g10-l11/test.ngc` +- `g10/g10-l2-while-active/test.ngc` + +其中 `g10-l1-l10` 与 `g10-l11` 同时 staging `test.tbl`,但本轮 `.ngc` +manifest 对账只覆盖 `.ngc` 文件。所有 case 已在 Node/browser 执行,不需要 +HAL/task/tool DB/Python remap/user-M process runtime。 + +2. 覆盖对账。 + +当前 `tests/interp/g10/**/*.ngc` fixed manifest 前三项: + +```text +g10-l1-l10/test.ngc +g10-l11/test.ngc +g10-l2-while-active/test.ngc +``` + +3. 更新。 + +更新: + +- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs` +- `wasm-port/tests/browser/interp_smoke.html` + +Node 新增: + +- 检查前三个 `writeG10RegressionFiles(...)` staged `.ngc` path,与 + `g10RegressionFiles.slice(0, 3)` 推导出的 `/work/interp/g10/...` path 一致。 + +Browser 新增: + +- 检查前三个 browser staged `.ngc` path 去掉 `/work/browser-interp/g10/` + 前缀后,与 `g10RegressionFiles.slice(0, 3)` 一致; +- 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 initial g10 staging paths +``` + +提交后继续 `g10` 最后一小批: + +```text +g10-l20-while-active/test.ngc +g10-with-g92/test.ngc +``` + +其中 `g10-with-g92` 同时 staging `test.tbl`。下一批仍只做 staged `.ngc` path 与 +fixed manifest 对账,不新增 CNC 语义。 + +七十九、2026-06-13 继续执行记录:g10 initial staging path guard + +本轮转向 `tests/interp/g10`,仍保持小批量 staging guard。当前 host 仍按 blocked +runtime 规则处理,不执行任何 `ENABLE_*_RUNTIME_PROBE=1` opt-in native probe。 + +1. 候选选择。 + +选择 `g10` fixed manifest 的前三个 `.ngc`: + +- `g10/g10-l1-l10/test.ngc` +- `g10/g10-l11/test.ngc` +- `g10/g10-l2-while-active/test.ngc` + +其中 `g10-l1-l10` 和 `g10-l11` 同时 staging `test.tbl`,并由 +`writeG10RegressionFiles(...)` 生成 synthetic `test.ini` 作为运行上下文;这些 +上下文文件不进入 `.ngc` manifest 对账。本轮只固定 staged `.ngc` path 与既有 +fixed manifest 前三项的一致性,不新增 CNC 语义。 + +2. 覆盖对账。 + +`tests/interp/g10` 当前 upstream `.ngc` manifest 已由既有 fixed list 覆盖,本轮 +新增对账的 manifest slice 为: + +```text +g10-l1-l10/test.ngc +g10-l11/test.ngc +g10-l2-while-active/test.ngc +``` + +3. 更新。 + +更新: + +- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs` +- `wasm-port/tests/browser/interp_smoke.html` + +Node 新增: + +- 检查前三个 `writeG10RegressionFiles(...)` 返回目录中的 `.ngc` staged path, + 与 `g10RegressionFiles.slice(0, 3)` 推导出的 `/work/interp/g10/...` path + 一致。 + +Browser 新增: + +- 检查前三个 browser staged `.ngc` path 去掉 `/work/browser-interp/g10/` + 前缀后,与 `g10RegressionFiles.slice(0, 3)` 一致; +- 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 initial g10 staging paths +``` + +提交后继续 `g10` 最后一小批: + +```text +g10-l20-while-active/test.ngc +g10-with-g92/test.ngc +``` + +`g10-with-g92` 同时 staging `test.tbl` 并生成 synthetic `test.ini`;下一批仍只做 +staged `.ngc` path 与 fixed manifest 对账,不扩大到 blocked runtime。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index c089e25..f89780b 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -8215,6 +8215,14 @@ "g10-l2-while-active", ["test.ngc"], ); + const g10InitialStagedNgcFiles = [ + `${g10L1L10Dir}/test.ngc`, + `${g10L11Dir}/test.ngc`, + `${g10L2WhileActiveDir}/test.ngc`, + ].map((path) => path.replace("/work/browser-interp/g10/", "")); + if (g10InitialStagedNgcFiles.join(",") !== g10RegressionFiles.slice(0, 3).join(",")) { + throw new Error("browser_interp_g10_initial_staging_manifest: list drift"); + } verifyExpectedOutput( "browser_interp_g10_l2_while_active", interp.runFile(`${g10L2WhileActiveDir}/test.ngc`), diff --git a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs index ef012fc..75c78b9 100644 --- a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs +++ b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs @@ -3106,6 +3106,17 @@ verifyExpectedOutput( ); const g10L2WhileActiveDir = writeG10RegressionFiles("g10-l2-while-active", ["test.ngc"]); +assert.deepEqual( + [ + `${g10L1L10Dir}/test.ngc`, + `${g10L11Dir}/test.ngc`, + `${g10L2WhileActiveDir}/test.ngc`, + ], + g10RegressionFiles + .slice(0, 3) + .map((file) => `/work/interp/g10/${file}`), + "interp g10 initial staging manifest drift", +); verifyExpectedOutput( "interp_g10_l2_while_active_wasm", interp.runFile(`${g10L2WhileActiveDir}/test.ngc`),