完成L4-USER-M-PROCESS Web仿真接入

结论:L4-USER-M-PROCESS 已按 Web/virtual HAL 数控仿真主线完成接入,native LinuxCNC runtime 不再作为 Web 仿真阻塞;新增 text31.txt 接续剩余 77 个 SKIP 的 main-program promotion 复核。
This commit is contained in:
2026-06-20 07:59:38 +08:00
parent d0e55ba11e
commit 07869f5c69
21 changed files with 1161 additions and 51 deletions

View File

@@ -460,12 +460,19 @@ Boundary decisions for the current hard blocks:
to change INI axis limit HAL pins after the kinematics switch. The current
LinuxCNC owner is therefore task user-M process dispatch plus HALUI/MDI and
the config-owned Tcl process scripts, not the standalone interpreter. Do not
promote this row until the boundary design in
`docs/full-process-boundary-design.md` has a deterministic state proof for
these HAL pin updates across native, Node, and browser. The Node inventory
guard requires this row to stay non-`REP` in Node and browser while it remains
`L4-USER-M-PROCESS`, and the generated inventory summary must keep it as
`SKIP` with that reason.
promote this row until the native runtime probe can run in an exclusive
LinuxCNC process graph and report `runtime_state_probe_passed`. The current
Web/virtual HAL simulation proof is complete for `M429 -> M129` turn and
`M428 -> M128` mill state transitions, and the real browser simulation page
smoke verifies the switchkins guard pins plus `ini.[xz].*` limit pins through
`linuxCncRealSimulationState.millturnUserMProcess`. That proof is simulation
evidence only: it keeps `processExecutionReady=false`, `executionEnabled=0`,
and `promotion_allowed=0`. The latest opt-in native probe on this workstation
reports `blocked_existing_linuxcnc_runtime` with
`exclusive_linuxcnc_runtime` because an existing `linuxcncsvr`/`rtapi_app`
runtime is already active. The Node inventory guard requires this row to stay
non-`REP` in Node and browser while it remains `L4-USER-M-PROCESS`, and the
generated inventory summary must keep it as `SKIP` with that reason.
- `axis/db_demo/base.ngc` remains `L4-TOOL-DB`. The source INI declares
`[EMCIO]DB_PROGRAM = ./db_nonran.py`, so standalone interpreter execution
would miss LinuxCNC tool-database process startup and protocol/state