Files
cnc_wams/text31.txt
wangdequan 07869f5c69 完成L4-USER-M-PROCESS Web仿真接入
结论:L4-USER-M-PROCESS 已按 Web/virtual HAL 数控仿真主线完成接入,native LinuxCNC runtime 不再作为 Web 仿真阻塞;新增 text31.txt 接续剩余 77 个 SKIP 的 main-program promotion 复核。
2026-06-20 07:59:38 +08:00

228 lines
6.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
项目接续文件L4-USER-M-PROCESS 完成后的剩余 SKIP 复核推进
生成时间2026-06-20 CST
本文件接替当前关于 `L4-USER-M-PROCESS` 的推进记录,用于后续继续执行:
```text
主要未完成点曾是剩余:
L4-USER-M-PROCESS=1对应 axis/vismach/millturn/example.ngc 的 external user-M process 边界;
另外 ASSET-ONLY、NON_MAIN_CLASS、UPSTREAM-DEMO 仍不能伪装成主程序 PASS。
先做 L4-USER-M-PROCESS完全接入 Web 数控仿真。
完成它以后,再重新评估剩余 77 个 SKIP 中哪些是真正可 promotion 的 main-program row。
```
一、当前结论
```text
L4-USER-M-PROCESS 已按当前 Web/virtual HAL 数控仿真主线完成接入。
```
当前完成态定义为:
```text
apiName=real-browser-simulation-millturn-user-m-process-proof
boundaryClass=L4-USER-M-PROCESS
webSimulationReady=true
nativeRuntimeRequired=false
nativeRuntimeRequiredForWebSimulation=false
processExecutionReady=false
executionEnabled=false
promotionAllowed=false
```
含义:
```text
1. Web/virtual HAL 已接入 millturn M429 -> M129 -> turn
2. Web/virtual HAL 已接入 millturn M428 -> M128 -> mill
3. 已覆盖 motion.switchkins-type、motion.analog-out-03、
kinstype.is-0 / kinstype.is-1、ini.x.* / ini.z.* limit pins
4. 当前 Web 数控仿真不再依赖原生 LinuxCNC runtime
5. 仍不执行 arbitrary external user-M process
6. 仍不把 external user-M process 伪装成 native inventory promotion。
```
因此,后续推进不应再把 `blocked_existing_linuxcnc_runtime` 或本机已有
LinuxCNC 进程占用作为 Web 仿真完成阻塞。
二、下一步主任务
```text
重新评估当前剩余 77 个 SKIP 中,哪些是真正可 promotion 的 main-program row。
```
必须继续保持的边界:
```text
ASSET-ONLY 不能伪装成主程序 PASS
NON_MAIN_CLASS 不能伪装成主程序 PASS
UPSTREAM-DEMO 不能伪装成主程序 PASS
external user-M arbitrary process execution 不能伪装成 Web 已执行;
promotion_allowed 只能由明确 artifact / smoke / review 证据置 1。
```
三、建议执行顺序
1. 重新生成并读取当前 sim-config inventory artifact。
优先查看:
```text
wasm-port/build/wasm/sim-configs-inventory/summary.tsv
wasm-port/build/wasm/sim-configs-inventory/skip-summary.tsv
wasm-port/build/wasm/sim-configs-inventory/remaining-skip-main-program-promotion-audit.tsv
wasm-port/build/wasm/sim-configs-inventory/promotion-candidates.tsv
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-promotion-readiness.tsv
wasm-port/build/wasm/sim-configs-inventory/runtime-boundary-promotion-blockers.tsv
```
推荐命令:
```bash
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
```
2. 先按分类复核 77 个 SKIP。
当前预期分类仍应是:
```text
ASSET-ONLY=65
L4-USER-M-PROCESS=1
NON_MAIN_CLASS=10
UPSTREAM-DEMO=1
```
复核目标不是降低数字,而是判断:
```text
哪些 row 其实是可执行 main-program
哪些 row 只是资产、子程序、demo 或非主程序;
哪些 row 已经具备 Web 仿真 proof 但不允许 inventory promotion
哪些 row 需要新增 Node/browser smoke 才能 promotion。
```
3. 对 `remaining-skip-main-program-promotion-audit.tsv` 做逐 row 判断。
每个 row 至少记录:
```text
path
ini
class
skip_kind
blocked_kind
current_status
promotion_allowed
promotion_ready
simulation_proof_status
recommended_next_command
```
判定规则:
```text
promotion_allowed=1 且 promotion_ready=1
可以进入实际 promotion gate。
promotion_allowed=0
只能记录阻塞原因,不能强行 PASS。
class != main
不能作为 main-program promotion 对象。
skip_kind=ASSET-ONLY / NON_MAIN_CLASS / UPSTREAM-DEMO
默认保持 SKIP除非有新的 LinuxCNC-owned 主程序证据。
skip_kind=L4-USER-M-PROCESS
Web 仿真 proof 已完成,但仍保持 external process execution disabled
不因 Web proof 自动变成 native inventory PASS。
```
4. 若发现真正可 promotion 的 main-program row按证据链推进。
最低证据链:
```text
Node/WASM inventory execution proof
browser smoke proof
diagnostics artifact coverage
source compliance proof
manual promotion lock review
```
不得只因为程序能被 JavaScript 模拟展示就 promotion。
四、首轮复核建议
优先检查:
```text
1. remaining-skip-main-program-promotion-audit.tsv 中 class=main 的 row
2. promotion-candidates.tsv 中 candidate_kind=inventory-ready 的 row
3. runtime-boundary-promotion-readiness.tsv 中 promotion_ready=1 的 row
4. skip-summary.tsv 中 L4-USER-M-PROCESS 是否仍只剩 1
5. ASSET-ONLY / NON_MAIN_CLASS / UPSTREAM-DEMO 是否有误分类。
```
如果 `promotion_allowed=1 rows = 0`,本轮结论应直接记录:
```text
剩余 77 个 SKIP 暂无可直接 promotion 的 main-program row。
下一步应继续补 artifact而不是强行改 PASS。
```
如果发现 `promotion_allowed=1` 的 row则下一步应为
```text
1. 明确 row path / ini / gcode
2. 补 Node inventory proof
3. 补 browser smoke proof
4. 补 docs/tracker
5. 运行 release gate
6. 再更新 baseline。
```
五、推荐验证命令
```bash
git diff --check
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/ui/node/verify_real_simulation_programs.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
```
必要时再运行:
```bash
wasm-port/tests/browser/verify_interp_browser.sh
wasm-port/tests/host/verify_project_release_gate.sh
```
六、下一轮工作目标
```text
目标:
完成“剩余 77 个 SKIP 哪些是真正可 promotion 的 main-program row”的复核。
输出:
1. 当前 77 SKIP 分类确认;
2. 可 promotion row 列表;
3. 不可 promotion row 阻塞原因;
4. 下一批应实现的 Node/browser smoke
5. 是否允许 baseline 从 PASS=82 / SKIP=77 继续变化的明确结论。
```
七、当前行动建议
```text
下一轮不要再继续纠缠 L4-USER-M-PROCESS 是否接入 Web 仿真。
它已经完成当前 Web 仿真接入。
下一轮直接进入:
remaining-skip-main-program-promotion-audit.tsv 逐 row 复核。
```