结论:完成 LinuxCNC kinematics WASM ABI 覆盖,并将 web-rtcp-5axis-sim-plan 的 RTCP frame/boundary adapter 接到 xyzac-trt kinematics SDK;Node、build、browser smoke 验证通过。
288 lines
8.0 KiB
Plaintext
288 lines
8.0 KiB
Plaintext
项目接续文件: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。
|
||
```
|