chore: close wasm status contract work

This commit is contained in:
wangdequan
2026-07-08 09:20:47 -04:00
parent 97732ceb0b
commit e69333972c
69 changed files with 20435 additions and 495 deletions

View File

@@ -1,17 +1,36 @@
{
"apiName": "xyzbc-trt-native-web-evidence-comparison",
"status": "pass",
"comparedAt": "2026-07-07T22:17:58.519Z",
"comparedAt": "2026-07-07T23:03:43.547Z",
"nativePath": "/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/native-xyzbc-trt-evidence.json",
"webPath": "/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json",
"summary": {
"checkCount": 60,
"passCount": 60,
"failCount": 0,
"legacyComparePassCount": 60,
"legacyCompareFailCount": 0,
"blockers": [],
"nativeStatus": "ok",
"webStatus": "ready-for-wasm-runtime"
},
"surfaceSummary": {
"checkCount": 60,
"passCount": 60,
"failCount": 0,
"legacyComparePassCount": 60,
"legacyCompareFailCount": 0,
"blockers": [],
"nativeStatus": "ok",
"webStatus": "ready-for-wasm-runtime"
},
"functionalSummary": {
"status": "pass",
"checkCount": 8,
"passCount": 8,
"failCount": 0,
"requiredImprovements": []
},
"checks": [
{
"category": "profile",
@@ -1733,10 +1752,10 @@
"states": [
{
"name": "before",
"taskState": 4,
"taskMode": 1,
"interpState": 1,
"execState": 2,
"taskState": 0,
"taskMode": 0,
"interpState": 0,
"execState": 0,
"homed": [
false,
false,
@@ -1744,7 +1763,7 @@
false,
false
],
"file": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"
"file": ""
},
{
"name": "after",
@@ -2343,6 +2362,223 @@
}
}
],
"functionalChecks": [
{
"category": "functional",
"requirement": "cppTaskStateMachineParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"emcTaskSetState",
"determineState",
"EMC_STAT.task"
],
"nativeReady": true,
"webReady": true,
"taskPolicy": {
"taskState": "estop-reset",
"taskMode": "manual",
"interpState": "idle",
"canJog": false,
"canHome": false,
"canRunAuto": false,
"canExecuteMdi": false,
"canPause": false,
"canResume": false,
"canSpindle": false,
"canOverride": false
}
}
},
{
"category": "functional",
"requirement": "cppModeGateParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"emcTaskSetMode",
"AUTO non-idle/manual gate",
"AXIS manual_ok/mdi gate"
],
"nativeWrongModeRepresented": true,
"webWrongModeRepresented": true,
"taskPolicy": {
"taskState": "estop-reset",
"taskMode": "manual",
"interpState": "idle",
"canJog": false,
"canHome": false,
"canRunAuto": false,
"canExecuteMdi": false,
"canPause": false,
"canResume": false,
"canSpindle": false,
"canOverride": false
}
}
},
{
"category": "functional",
"requirement": "cppHomingParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"EMC_JOINT_HOME",
"EMCMOT_JOINT_HOME",
"homing.c HOME_START/HOME_FINISHED"
],
"nativeTaskStateFlowReady": true,
"webHoming": {
"allConfiguredAxesHomed": true,
"taskPolicyCanHome": false
}
}
},
{
"category": "functional",
"requirement": "cppRunGateParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"EMC_TASK_PLAN_RUN",
"all_homed",
"program open",
"motion plan loaded"
],
"nativeErrorPaths": [
"missing-hal-pin",
"bad-switchkins-type",
"run-while-estop",
"run-before-homed",
"wrong-mode",
"missing-file",
"remap-stop",
"toolchange-not-confirmed"
],
"webErrorPaths": [
"missing-hal-pin",
"bad-switchkins-type",
"run-while-estop",
"run-before-homed",
"wrong-mode",
"missing-file",
"remap-stop",
"toolchange-not-confirmed"
],
"webExecution": {
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sessionProgramPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt/demos/xyzbc_switchkins.ngc",
"completed": true,
"eventCount": 30
},
"executionPath": {
"nativeSampleCount": 4,
"webSampleCount": 228
}
}
},
{
"category": "functional",
"requirement": "cppPauseResumeParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"EMC_TASK_PLAN_PAUSE",
"EMC_TASK_PLAN_RESUME",
"EMCMOT_PAUSE",
"EMCMOT_RESUME"
],
"taskPolicy": {
"canPause": false,
"canResume": false,
"interpState": "idle"
},
"semanticExecutionMachineStateMismatchCount": 0
}
},
{
"category": "functional",
"requirement": "cppStepParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"EMC_TASK_PLAN_STEP",
"EMCMOT_STEP",
"motion id/current line progression"
],
"lineExecution": {
"nativeTraceCount": 64,
"webTraceCount": 64
},
"gcodeExecution": {
"nativeExecutionStepCount": 128,
"webExecutionStepCount": 128
}
}
},
{
"category": "functional",
"requirement": "illegalCommandParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"runtime command rejection",
"UI policy gate consistency",
"operator error parity"
],
"requiredIllegalPaths": [
"run-while-estop",
"run-before-homed",
"wrong-mode",
"missing-file",
"bad-switchkins-type",
"remap-stop"
],
"nativeErrorPaths": [
"missing-hal-pin",
"bad-switchkins-type",
"run-while-estop",
"run-before-homed",
"wrong-mode",
"missing-file",
"remap-stop",
"toolchange-not-confirmed"
],
"webErrorPaths": [
"missing-hal-pin",
"bad-switchkins-type",
"run-while-estop",
"run-before-homed",
"wrong-mode",
"missing-file",
"remap-stop",
"toolchange-not-confirmed"
],
"limitInterlocksStatus": "pass"
}
},
{
"category": "functional",
"requirement": "realProgramExecutionParity",
"status": "pass",
"evidence": {
"linuxCncRules": [
"real G-code line/currentLine/motion/path/status parity"
],
"runtimeExecutionStatus": "pass",
"semanticExecution": {
"nativeSampleCount": 1300,
"webSampleCount": 1300,
"maxTcpErrorMm": 3.552713678800501e-15,
"maxJointError": 3.552713678800501e-15,
"maxToolAxisAngleDeg": 0
},
"lineExecutionStatus": "pass",
"axisValuesStatus": "pass",
"gcodeExecutionStatus": "pass"
}
}
],
"pathComparison": {
"samplePeriodMs": 50,
"previewVsPreview": {

View File

@@ -1,7 +1,7 @@
{
"apiName": "xyzbc-trt-native-linuxcnc-evidence",
"status": "ok",
"collectedAt": "2026-07-05T18:56:53-0400",
"collectedAt": "2026-07-07T19:03:34-0400",
"executionMode": "auto-run",
"sourceRoot": "/home/mes123456/cnc_wams/linuxcnc",
"iniPath": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
@@ -11,30 +11,33 @@
"linuxcncRuntime": {
"pythonApi": true,
"processes": [
"mes1234+ 10220 1852 0 18:06 ? 00:00:00 linuxcncsvr -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 10231 1852 0 18:06 ? 00:00:23 milltask -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 10233 1852 0 18:06 ? 00:00:10 halui -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 10270 1852 2 18:06 ? 00:01:14 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/xyzbc-trt-gui",
"mes1234+ 10394 1852 5 18:06 ? 00:02:52 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/axis -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 18832 3067 20 18:56 ? 00:00:00 python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py --run --timeout 90",
"mes1234+ 18840 18823 0 18:56 ? 00:00:00 sh -c node ../tools/collect-web-xyzbc-trt-evidence.mjs",
"mes1234+ 18841 18840 99 18:56 ? 00:00:00 node ../tools/collect-web-xyzbc-trt-evidence.mjs"
"mes1234+ 51279 3515 1 19:03 ? 00:00:00 python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py --run --timeout 90",
"mes1234+ 51359 1884 0 19:03 ? 00:00:00 linuxcncsvr -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 51370 1884 1 19:03 ? 00:00:00 milltask -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 51372 1884 0 19:03 ? 00:00:00 halui -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 51409 1884 4 19:03 ? 00:00:00 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/xyzbc-trt-gui",
"mes1234+ 51539 1884 10 19:03 ? 00:00:00 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/axis -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini"
],
"startup": {
"autostartRequested": true,
"startedByCollector": false,
"logPath": "/tmp/xyzbc-trt-native-evidence-linuxcnc.log"
"startedByCollector": true,
"logPath": "/tmp/xyzbc-trt-native-evidence-linuxcnc.log",
"pid": 51286,
"command": [
"/home/mes123456/cnc_wams/linuxcnc/scripts/linuxcnc",
"/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini"
]
}
},
"before": {
"taskState": 4,
"taskMode": 1,
"interpState": 1,
"execState": 2,
"file": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc",
"taskState": 0,
"taskMode": 0,
"interpState": 0,
"execState": 0,
"file": "",
"currentLine": 0,
"readLine": 0,
"axisMask": 55,
"axisMask": 0,
"homed": [
0,
0,
@@ -101,93 +104,93 @@
"w": 0.0
},
"velocity": 0.0,
"feedrate": 1.0,
"rapidrate": 1.0,
"feedrate": 0.0,
"rapidrate": 0.0,
"spindle": [
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": true,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
},
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
},
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
},
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
},
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
},
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
},
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
},
{
"brake": 1,
"brake": 0,
"direction": 0,
"enabled": 0,
"override_enabled": false,
"speed": 0.0,
"override": 1.0,
"override": 0.0,
"homed": false,
"orient_state": 0,
"orient_fault": 0
@@ -1011,7 +1014,12 @@
}
]
},
"errors": [],
"errors": [
[
11,
"all joints must be homed before going into coordinated mode"
]
],
"pathSampling": {
"samplePeriodMs": 50,
"timeBase": "program-relative-ms",
@@ -205684,10 +205692,10 @@
"states": [
{
"name": "before",
"taskState": 4,
"taskMode": 1,
"interpState": 1,
"execState": 2,
"taskState": 0,
"taskMode": 0,
"interpState": 0,
"execState": 0,
"homed": [
false,
false,
@@ -205695,7 +205703,7 @@
false,
false
],
"file": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"
"file": ""
},
{
"name": "after",
@@ -205814,8 +205822,8 @@
"absolutePath": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt_cmds.hal",
"exists": true,
"bytes": 8447,
"mtime": "2026-07-05T22:06:52Z",
"sha256": "762ab7234e5f89ba04596ef97aea471a6e3b4f2decf10a66b958502fa7612059"
"mtime": "2026-07-07T23:03:25Z",
"sha256": "a660ffc40895329ecd85e859a8998b334d433fb023a240e0c46b698fa495a0bd"
},
{
"role": "tool-table",
@@ -205834,7 +205842,7 @@
"absolutePath": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc.var",
"exists": true,
"bytes": 1666,
"mtime": "2026-07-05T22:56:53Z",
"mtime": "2026-07-07T23:03:26Z",
"sha256": "163bbf80485fe2fe12700c1acb4b05eff774df68176d17e4eef5de8a7024c1ae"
},
{
@@ -206039,8 +206047,13 @@
"ini": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"startup": {
"autostartRequested": true,
"startedByCollector": false,
"logPath": "/tmp/xyzbc-trt-native-evidence-linuxcnc.log"
"startedByCollector": true,
"logPath": "/tmp/xyzbc-trt-native-evidence-linuxcnc.log",
"pid": 51286,
"command": [
"/home/mes123456/cnc_wams/linuxcnc/scripts/linuxcnc",
"/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini"
]
},
"environmentSnapshot": {
"LINUXCNC_HOME": null,
@@ -206050,14 +206063,12 @@
"PYTHONPATH": "/home/mes123456/cnc_wams/linuxcnc/lib/python"
},
"processes": [
"mes1234+ 10220 1852 0 18:06 ? 00:00:00 linuxcncsvr -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 10231 1852 0 18:06 ? 00:00:23 milltask -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 10233 1852 0 18:06 ? 00:00:10 halui -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 10270 1852 2 18:06 ? 00:01:14 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/xyzbc-trt-gui",
"mes1234+ 10394 1852 5 18:06 ? 00:02:52 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/axis -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 18832 3067 21 18:56 ? 00:00:00 python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py --run --timeout 90",
"mes1234+ 18840 18823 0 18:56 ? 00:00:00 sh -c node ../tools/collect-web-xyzbc-trt-evidence.mjs",
"mes1234+ 18841 18840 99 18:56 ? 00:00:00 node ../tools/collect-web-xyzbc-trt-evidence.mjs"
"mes1234+ 51279 3515 1 19:03 ? 00:00:00 python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py --run --timeout 90",
"mes1234+ 51359 1884 0 19:03 ? 00:00:00 linuxcncsvr -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 51370 1884 1 19:03 ? 00:00:00 milltask -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 51372 1884 0 19:03 ? 00:00:00 halui -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini",
"mes1234+ 51409 1884 4 19:03 ? 00:00:00 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/xyzbc-trt-gui",
"mes1234+ 51539 1884 10 19:03 ? 00:00:00 /usr/bin/python3.13 /home/mes123456/cnc_wams/linuxcnc/bin/axis -ini /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini"
],
"semanticBoundary": "native_launch_entrypoints_environment_process_snapshot"
},
@@ -206769,7 +206780,7 @@
{
"path": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt_cmds.hal",
"exists": true,
"sha256": "762ab7234e5f89ba04596ef97aea471a6e3b4f2decf10a66b958502fa7612059",
"sha256": "a660ffc40895329ecd85e859a8998b334d433fb023a240e0c46b698fa495a0bd",
"commands": [
{
"line": 30,
@@ -208711,15 +208722,15 @@
"ready": true,
"fields": {
"estopPower": {
"beforeTaskState": 4,
"beforeTaskState": 0,
"afterTaskState": 4
},
"mode": {
"before": 1,
"before": 0,
"after": 1
},
"interpTask": {
"before": 1,
"before": 0,
"after": 1,
"runtimeFinal": 1
},
@@ -209168,7 +209179,7 @@
"absolutePath": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc.var",
"exists": true,
"bytes": 1666,
"mtime": "2026-07-05T22:56:53Z",
"mtime": "2026-07-07T23:03:26Z",
"sha256": "163bbf80485fe2fe12700c1acb4b05eff774df68176d17e4eef5de8a7024c1ae"
},
"toolOffsetPins": [
@@ -209701,7 +209712,7 @@
},
"strictAcceptance": {
"ready": true,
"frozenManifestSha256": "e9864f23dff8ca31f0f2060c704dfff235d42e6ea60c5f4034c85ebca036eecc",
"frozenManifestSha256": "6539677d13048f1d57380d80dc70675591810710083d87cd36dffd9d6952e9f4",
"evidenceFiles": [
"working/evidence/native-xyzbc-trt-evidence.json",
"working/evidence/web-xyzbc-trt-evidence.json",

View File

@@ -1,7 +1,7 @@
{
"apiName": "xyzbc-trt-web-opfs-wasm-evidence",
"status": "ready-for-wasm-runtime",
"collectedAt": "2026-07-07T22:17:57.900Z",
"collectedAt": "2026-07-07T23:03:42.947Z",
"profile": {
"id": "xyzbc-trt",
"machineName": "sim-xyzbc-trt-kins (switchkins)",