diff --git a/text5.txt b/text5.txt index 49ce872..2e5dd82 100644 --- a/text5.txt +++ b/text5.txt @@ -6899,3 +6899,86 @@ Guard iniparam staging manifests 提交后继续下一小批已有 interpreter fixture 的 staging manifest guard。优先选择 仍已具备 Node/browser coverage、且不依赖 HAL/task/tool DB/Python remap/user-M process 的 case;不推进 blocked runtime promotion。 + +七十三、2026-06-13 继续执行记录:magic_comments staging path guard + +本轮继续当前 host 可执行路线。当前 host 仍按 blocked runtime 规则处理,不执行 +任何 `ENABLE_*_RUNTIME_PROBE=1` opt-in native probe。 + +1. 候选选择。 + +选择已有 Node/browser 执行覆盖、且 fixture 范围很小的 interpreter regression +family: + +- `tests/interp/magic_comments` + +该 family 当前只覆盖 `param_format_printing/test.ngc`,不需要 INI/HAL/task/tool +DB/Python remap/user-M process runtime。本轮只固定 direct file staging path 与 +fixed `.ngc` manifest 的一致性,不新增 CNC 语义。 + +2. 覆盖对账。 + +`tests/interp/magic_comments` 当前 upstream `.ngc` 文件: + +```text +param_format_printing/test.ngc +``` + +3. 更新。 + +更新: + +- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs` +- `wasm-port/tests/browser/interp_smoke.html` + +Node 新增: + +- 复用既有 `magicCommentsRegressionFiles` fixed list; +- 继续与 `interpRegressionNgcFilesRecursive("magic_comments")` 精确对账; +- 检查 `writeInterpRegressionFile(...)` 返回的 staged wasm path 与 fixed list + 推导出的 `/work/interp/magic_comments/...` path 一致。 + +Browser 新增: + +- 复用既有 fixed-count 和 duplicate-free guard; +- 检查 browser `writeInterpRegressionFile(...)` 返回的 staged wasm path 去掉 + `/work/browser-interp/magic_comments/` 前缀后,与 fixed list 一致; +- 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 magic comments staging path +``` + +提交后继续下一小批已有 interpreter fixture 的 staging manifest guard。下一步可以 +开始拆 `m98m99`,但不要一次性扩全量;优先选择其中已经在 Node/browser 单独执行、 +且每个子目录只需 direct file staging 的小组,按 2 到 3 个子 case 一批推进。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 0eb3256..a994296 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -7511,6 +7511,12 @@ if (magicCommentsRegressionFiles.length !== 1 || new Set(magicCommentsRegressionFiles).size !== magicCommentsRegressionFiles.length) { throw new Error("browser_interp_magic_comments_fixture_coverage: list drift"); } + const magicCommentsStagedNgcFiles = [ + magicCommentsParamFormatPath, + ].map((path) => path.replace("/work/browser-interp/magic_comments/", "")); + if (magicCommentsStagedNgcFiles.join(",") !== magicCommentsRegressionFiles.join(",")) { + throw new Error("browser_interp_magic_comments_staging_manifest: list drift"); + } verifyExpectedOutput( "browser_interp_magic_comments_param_format", interp.runFile(magicCommentsParamFormatPath), diff --git a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs index 3b620be..097a5b6 100644 --- a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs +++ b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs @@ -2431,6 +2431,13 @@ assert.deepEqual( interpRegressionNgcFilesRecursive("magic_comments"), "interp_magic_comments_fixture_coverage: upstream .ngc manifest", ); +assert.deepEqual( + [ + magicCommentsParamFormatPath, + ], + magicCommentsRegressionFiles.map((file) => `/work/interp/magic_comments/${file}`), + "interp_magic_comments_staging_manifest: staged .ngc manifest", +); verifyExpectedOutput( "interp_magic_comments_param_format_wasm", interp.runFile(magicCommentsParamFormatPath),