项目接续文件:L4-PYTHON-REMAP 53 rows 批量 PASS Phase 1 执行记录 生成时间:2026-06-19 CST 本文件接替 `text26.txt`。 目标: ```text 把“53 个 Python-remap inventory rows 批量提升为 PASS”的方法落成第一层 machine-readable promotion plan。 本轮只做 Phase 1: - 生成 `python-remap-bulk-promotion-plan.tsv`; - 校验它 1:1 覆盖 53 个 `L4-PYTHON-REMAP` rows; - 明确每行还缺哪些 proof; - 保持 inventory baseline 不变:PASS=29 / SKIP=130 / L4-PYTHON-REMAP=53。 ``` 禁止事项: ```text - 不把 53 行直接改 PASS; - 不删除 `L4-PYTHON-REMAP` skip reason; - 不把 stop-lookahead lifecycle proof 扩大解释为 53 行全量 pass; - 不让 fake/browser worker 充当 PASS 证据; - 不把 Python import success 当作 remap execution proof; - 不让 NGC-only remap subpath 被当成 standalone main program; - 不手工改 `summary.tsv` / `skip-summary.tsv` 数字。 ``` 一、Phase 1 应生成的 artifact 新增: ```text wasm-port/build/wasm/sim-configs-inventory/python-remap-bulk-promotion-plan.tsv ``` 来源: ```text wasm-port/build/wasm/sim-configs-inventory/python-remap-boundary-summary.tsv wasm-port/build/wasm/sim-configs-inventory/python-remap-family-summary.tsv wasm-port/build/wasm/sim-configs-inventory/python-remap-runtime-contract.tsv wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-fixture-plan.tsv wasm-port/build/wasm/sim-configs-inventory/python-remap-native-runtime-probe-gate.tsv ``` 输出字段必须表达: ```text path ini family main_or_macro_load_class python_modules_staged toplevel_executed path_prepend_applied python_remap_functions_bound prolog_functions_bound epilog_functions_bound ngc_remap_assets_staged ngc_only_subpaths_not_standalone interpreter_state_binding_ready canonical_events_ready hal_state_boundary_ready ui_process_boundary_ready halui_mdi_boundary_ready native_pass_ready wasm_node_pass_ready browser_pass_ready execution_enabled promotion_allowed blockers notes ``` 二、Phase 1 验收条件 ```text plan row count = 53 plan path set == python-remap-boundary-summary path set 所有 row blocked = L4-PYTHON-REMAP 所有 row execution_enabled = 0 所有 row promotion_allowed = 0 所有 row native_pass_ready = 0 所有 row wasm_node_pass_ready = 0 所有 row browser_pass_ready = 0 所有 row blockers 非空 HAL/UI/HALUI flags 与 boundary summary 保持一致 存在 NGC-only subpath 的 row 必须显式记录 ngc_remap_asset / ngc_only_subpaths_not_standalone blocker ``` 三、后续 Phase 2/3 的输入 Phase 2 扩展 row-aware runtime 时消费: ```text path ini family python_modules_staged toplevel_executed path_prepend_applied python_remap_functions_bound prolog_functions_bound epilog_functions_bound ngc_remap_assets_staged ngc_only_subpaths_not_standalone interpreter_state_binding_ready canonical_events_ready ``` Phase 3 HAL/UI/HALUI proof 时消费: ```text hal_state_boundary_ready ui_process_boundary_ready halui_mdi_boundary_ready ``` 四、本轮应改文件 ```text wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.mjs wasm-port/tests/browser/interp_smoke.html wasm-port/docs/compatibility-validation.md wasm-port/docs/full-process-boundary-design.md wasm-port/docs/sim-configs-coverage-matrix.md text27.txt ``` 五、本轮验收命令 ```bash git diff --check SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh wasm-port/tests/browser/verify_python_remap_runtime_browser.sh SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh wasm-port/tests/host/verify_project_release_gate.sh ``` 六、完成后允许进入的下一步 ```text Phase 2:实现 row-aware Python remap runtime port。 下一轮不要先改 baseline。 先让 `python-remap-row-runtime-proof.tsv` 能逐 row 证明: - INI [PYTHON] PATH_PREPEND; - INI [PYTHON] TOPLEVEL; - configured module import; - Python remap callable / stdglue prolog / epilog lookup; - generator lifecycle; - interpreter state / canonical event bridge; - NGC remap assets staged; - NGC-only subpaths 不作为 standalone main。 ``` 七、2026-06-19 Phase 2 执行结果 本轮已完成 Phase 2 的 proof substrate,不做 baseline promotion。 新增 / 更新: ```text wasm-port/runtime/sdk/src/python-remap-runtime-port.js 新增 createLinuxCncPythonRemapRowRuntimePort() 新增 createPythonRemapRowRuntimePlan() 新增 validatePythonRemapRowRuntimeTranscript() 新增 PYTHON_REMAP_ROW_RUNTIME_PROOF_PHASES wasm-port/runtime/sdk/src/index.js 导出 row-aware Python remap runtime API wasm-port/tests/sdk/node/verify_python_remap_runtime_port.mjs 覆盖 row runtime contract-only blocked path 覆盖 fake row runtime adapter ready path 验证 module/callable/NGC/canonical proof transcript wasm-port/tests/sdk/node/verify_sdk_surface.mjs wasm-port/runtime/sdk/README.md 同步 SDK public surface wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.mjs 新增 python-remap-row-runtime-proof.tsv 生成与校验 wasm-port/tests/browser/interp_smoke.html wasm-port/docs/compatibility-validation.md wasm-port/docs/full-process-boundary-design.md wasm-port/docs/sim-configs-coverage-matrix.md generated artifact coverage 从 56 个 WASM TSV 更新到 57 个 ``` 新增 artifact: ```text wasm-port/build/wasm/sim-configs-inventory/python-remap-row-runtime-proof.tsv ``` artifact 当前状态: ```text rows=53 row_runtime_port_api_ready=1 53 row_runtime_plan_ready=1 53 row_runtime_transcript_ready=0 53 native_pass_ready=0 53 wasm_node_pass_ready=0 53 browser_pass_ready=0 53 execution_enabled=0 53 proof_status=pending_row_runtime_adapter_execution 53 ``` inventory baseline 保持不变: ```text sim_configs_wasm_node_inventory_executed=29 sim_configs_wasm_node_inventory_passed=29 sim_configs_wasm_node_inventory_skipped=130 sim_configs_wasm_node_inventory_skip_L4_PYTHON_REMAP=53 sim_configs_wasm_node_inventory_unexpected_fail=0 ``` 本轮明确没有完成: ```text - 未执行 53 rows 的真实 Python remap callbacks; - 未把 row_runtime_transcript_ready 置 1; - 未把 native_pass_ready / wasm_node_pass_ready / browser_pass_ready 置 1; - 未解除 manual promotion lock; - 未把 PASS=29 / SKIP=130 改为 PASS=82 / SKIP=77。 ``` 八、本轮已通过验证 ```bash git diff --check wasm-port/tests/sdk/node/verify_python_remap_runtime_port.sh node wasm-port/tests/sdk/node/verify_sdk_surface.mjs SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh wasm-port/tests/wasm/node/verify_python_remap_runtime_port_wasm.sh wasm-port/tests/browser/verify_python_remap_runtime_browser.sh SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh wasm-port/tests/host/verify_project_release_gate.sh ``` 九、下一步工作建议 建议下一轮进入 Phase 2.5,而不是直接 Phase 3 或 baseline promotion。 Phase 2.5 目标: ```text 让 python-remap-row-runtime-proof.tsv 对第一批小 family 产生真实 row runtime transcript: 1. axis/remap/stop-lookahead/nc_files 2. axis/remap/cycle/nc_files 3. axis/remap/getting-started/nc_files ``` 推荐顺序: ```text 1. 为 createLinuxCncPythonRemapRowRuntimePort() 增加 Node/WASM row adapter; 2. adapter 只负责调用 LinuxCNC-owned Python runtime boundary,不解释 G-code; 3. 先让 stop-lookahead row 的: python_modules_staged=1 toplevel_executed=1 path_prepend_applied=1 interpreter_state_binding_ready=1 canonical_events_ready=1 row_runtime_transcript_ready=1 4. cycle / getting-started 再加入 callable、prolog/epilog、NGC remap asset targets; 5. 继续保持 native_pass_ready=0 / wasm_node_pass_ready=0 / browser_pass_ready=0, 直到 row runtime transcript 可以和 native proof 对齐。 ``` 下一轮仍禁止: ```text - 不改 PASS/SKIP baseline; - 不把 fake row adapter proof 当真实 PASS; - 不把 module import 成功当 row execution pass; - 不把 NGC-only subpath 当 standalone main program; - 不解除 promotion_allowed。 ```