diff --git a/coverage/axis3-tutorial-closure-index.report.json b/coverage/axis3-tutorial-closure-index.report.json new file mode 100644 index 0000000..926be99 --- /dev/null +++ b/coverage/axis3-tutorial-closure-index.report.json @@ -0,0 +1,94 @@ +{ + "blockers": [ + { + "id": "native_home_all_semantics", + "reason": "exact INI omits HOME_SEQUENCE; source AXIS semantics use individual Z/X/Y home and recorder follows that path", + "status": "SOURCE_DEFINED" + }, + { + "id": "manual_toolchange_dialog", + "reason": "source hal_manualtoolchange exposes change_button; recorder completes the real HAL handshake through that pin", + "status": "SOURCE_DEFINED_ACK_PIN" + }, + { + "id": "release_matrix", + "reason": "Firefox/Safari minimums, OPFS physical crash oracle and full release remain outside selected-case scope", + "status": "blocked_external" + } + ], + "boundaries": [ + "closure is complete only as selected-case implementation evidence", + "no blocker is promoted to parity", + "all future continuation remains this exact case" + ], + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "first_divergence": null, + "goldens": { + "checkpoint": "fnv1a64:10e366f530b2f5cb", + "loader": "fnv1a64:4a0e0041bdc491fe", + "motion": "fnv1a64:83e51ec6ced82ba7", + "persistence": "fnv1a64:7984fdfabec7d093", + "program": "fnv1a64:79b6b470739e0e14", + "startup": "fnv1a64:c58e658b6cb3f213" + }, + "implementation_status": "verified_scoped", + "input_reports": [ + { + "path": "coverage/axis3-tutorial-complete.report.json", + "report_sha256": "c5f974228d690149844ce55be2d33860cd306c3a0f4a124cfd196c199c67bcdd", + "status": "verified" + }, + { + "path": "coverage/axis3-tutorial-native-run.report.json", + "report_sha256": "4fb09c0be670b6aa456f08e3c80b05c7b0727b6ff0a95be39c88921a30c72970", + "status": "verified" + }, + { + "path": "coverage/axis3-tutorial-tool-io.report.json", + "report_sha256": "529b35a6fb84f561772b941a57d8bea3cf355969a622c01287afd5e642e0e246", + "status": "verified" + }, + { + "path": "coverage/axis3-tutorial-sequence.report.json", + "report_sha256": "33a355907251c2176a190ab2b462a25b62aefafb7f8e3da24a654dbc75cee6d2", + "status": "verified" + }, + { + "path": "coverage/axis3-tutorial-persistence.report.json", + "report_sha256": "a2d125b06fe81ad8442c3b2b1f766e2a01e8a3160b4738ebc1cba59f565800f2", + "status": "verified" + }, + { + "path": "coverage/gui-browser-visual-fe-m4.report.json", + "report_sha256": "c8717fb1f3d0d5ef73de83c9dba5f9fa4d714a37042d8cd84510df58eac6fca2", + "status": "verified" + } + ], + "release_action": "STOP_RELEASE", + "report_sha256": "5d63a83572d381e01cce7ba70b8c4ddb4ce6dfb790d4ac3b6c365d7dbbdbf750", + "schema": "axis3-tutorial-closure-index.v1", + "scope": "selected-case-only", + "status": "verified", + "statuses": { + "coverage/axis3-tutorial-complete.report.json": "verified", + "coverage/axis3-tutorial-native-run.report.json": "verified", + "coverage/axis3-tutorial-persistence.report.json": "verified", + "coverage/axis3-tutorial-sequence.report.json": "verified", + "coverage/axis3-tutorial-tool-io.report.json": "verified", + "coverage/gui-browser-visual-fe-m4.report.json": "verified" + }, + "task_id": "TUTORIAL-14", + "task_status": { + "TUTORIAL-00..11": "verified_scoped", + "TUTORIAL-12": "verified", + "TUTORIAL-13": "verified", + "TUTORIAL-14": "verified" + }, + "visual_assets": [ + "coverage/axis3-tutorial-visual/native-axis.png", + "coverage/axis3-tutorial-visual/chromium-desktop.png", + "coverage/axis3-tutorial-visual/chromium-mobile.png" + ] +} diff --git a/coverage/axis3-tutorial-complete.report.json b/coverage/axis3-tutorial-complete.report.json new file mode 100644 index 0000000..ee29e5d --- /dev/null +++ b/coverage/axis3-tutorial-complete.report.json @@ -0,0 +1,237 @@ +{ + "boundaries": [ + "native uses the installed LinuxCNC 2.10.0~pre1 POSIX fallback; realtime hardware is not claimed", + "the Web Vismach adapter is WEB-EQUIV and does not run host Python or dynamic loader processes", + "Chromium desktop/mobile visual evidence is scoped; Firefox/Safari minimums and physical OPFS crash oracle remain blocked", + "this report is complete for the selected case scope and is not a full 235-case LinuxCNC release claim" + ], + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "goldens": { + "checkpoint_hash": "fnv1a64:99185cbf691f0510", + "final_state_hash": "fnv1a64:c57756ccec539f33", + "loader_state_hash": "fnv1a64:4a0e0041bdc491fe", + "program_hash": "fnv1a64:79b6b470739e0e14", + "recovery": "recovered", + "startup_state": "TASK_READY" + }, + "native_execution": { + "axis_panel": { + "class": "axis", + "height": 1293, + "instance": "Axis", + "raw": "0x3a0001f \"AXIS 2.10.0~pre1 on 3axis-tutorial (no file)\": (\"axis\" \"Axis\") 1300x1293+28+98 +2930+124", + "screenshot": { + "bytes": 12508, + "path": "/home/mes006/linuxcncWebWASM/coverage/axis3-tutorial-visual/native-axis.png", + "returncode": 0, + "sha256": "966213a26e5f9713e496580f7217de88facb7f4d68ed9097ae2838c496323807", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "title": "AXIS 2.10.0~pre1 on 3axis-tutorial (no file)", + "width": 1300, + "window_id": "0x3a0001f" + }, + "command": [ + "linuxcnc", + "/3axis-tutorial.ini" + ], + "cwd": "linuxcnc_source_root", + "exact_source_files": [ + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "sha256": "b801d4fb7a3d66fac7a4202d56c384f75b039f55c70cce64c2975c5454875388" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal", + "sha256": "6c01e40c2244d3b534c0d3c60f26a9cdc5232defc79611234c78477209cfda1f" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial", + "sha256": "da5f8266cecd79cdeaa01bf07c4fba17d5c748ccc7dedfc7efdf0354deee9cc7" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl", + "sha256": "6a1736d9a44a30e62d7a8be4df960adc909e7ef026af10ab8e8abf6a613ce4ea" + } + ], + "generated_files": [ + "3axis-tutorial_mm.var", + "3axis-tutorial_mm.var.bak", + "position_mm.txt" + ], + "report_sha256": "4fb09c0be670b6aa456f08e3c80b05c7b0727b6ff0a95be39c88921a30c72970", + "service_cleanup": { + "commands": [ + { + "command": [ + "axis-remote", + "--quit" + ], + "returncode": 1, + "stdout_sha256": "e887c3a096d768c45173b5087b76b19f871abedface8d6a05f107a2dbb93b3f9" + }, + { + "command": [ + "halcmd", + "stop" + ], + "returncode": 0, + "stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "halcmd", + "unload", + "all" + ], + "returncode": 0, + "stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "/usr/lib/linuxcnc/realtime", + "stop" + ], + "returncode": 0, + "stdout_sha256": "91338655380567a02b2f78410c6af8bb22361915c68b22572d9a09389d9599ab" + } + ], + "killed_pids": [], + "lock_path": "/tmp/linuxcnc.lock", + "lock_removed": false, + "remaining_services": [] + }, + "status": "verified" + }, + "report_sha256": "c5f974228d690149844ce55be2d33860cd306c3a0f4a124cfd196c199c67bcdd", + "schema": "axis3-tutorial-complete-report.v1", + "scope": "all subsequent parity work is restricted to this exact case", + "status": "verified", + "task_id": "TUTORIAL-10", + "task_status": { + "TUTORIAL-00": "verified", + "TUTORIAL-01": "verified", + "TUTORIAL-02": "verified", + "TUTORIAL-03": "verified", + "TUTORIAL-04": "verified", + "TUTORIAL-05": "verified", + "TUTORIAL-06": "verified", + "TUTORIAL-07": "verified_scoped_web_equivalent", + "TUTORIAL-08": "verified_scoped_chromium", + "TUTORIAL-09": "verified_scoped_worker_recovery", + "TUTORIAL-10": "verified_scoped_with_release_blockers", + "TUTORIAL-11": "verified", + "TUTORIAL-12": "verified", + "TUTORIAL-13": "verified", + "TUTORIAL-14": "verified_scoped" + }, + "visual_assets": [ + { + "bytes": 12508, + "path": "coverage/axis3-tutorial-visual/native-axis.png", + "sha256": "966213a26e5f9713e496580f7217de88facb7f4d68ed9097ae2838c496323807" + }, + { + "bytes": 133878, + "path": "coverage/axis3-tutorial-visual/chromium-desktop.png", + "sha256": "0b1fc615a30979ccfd6acb0c2444f91ab8b5737e770d3b4a87f14a8fd8bcb9e6" + }, + { + "bytes": 50148, + "path": "coverage/axis3-tutorial-visual/chromium-mobile.png", + "sha256": "9179030f214a434fd5093f3471c5ff2930f46bb7484886c5614aa7237eb66097" + } + ], + "visual_evidence": { + "browser": { + "binary": "google-chrome", + "minimum_matrix": "not established", + "scope": "Chromium authorized visual slice", + "version": "Google Chrome 151.0.7922.169" + }, + "outputs": [ + { + "bytes": 133878, + "sha256": "0b1fc615a30979ccfd6acb0c2444f91ab8b5737e770d3b4a87f14a8fd8bcb9e6", + "viewport": "desktop" + }, + { + "bytes": 50148, + "sha256": "9179030f214a434fd5093f3471c5ff2930f46bb7484886c5614aa7237eb66097", + "viewport": "mobile" + } + ], + "report": "coverage/gui-browser-visual-fe-m4.report.json", + "report_sha256": "c8717fb1f3d0d5ef73de83c9dba5f9fa4d714a37042d8cd84510df58eac6fca2", + "status": "verified" + }, + "worker_execution": { + "command": [ + "node", + "web/worker/test_axis3_selected_case.mjs" + ], + "returncode": 0, + "sample": { + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "exact_files": [ + "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal", + "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial", + "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var", + "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl", + "linuxcnc/linuxcnc.gif" + ], + "loader": { + "fetched": 6, + "missing": 0, + "state_hash": "fnv1a64:4a0e0041bdc491fe" + }, + "machine": { + "axes": [ + "X", + "Y", + "Z" + ], + "joints": 3, + "kinematics": "trivkins", + "model": "3axis-tutorial", + "type": "cartesian_vismach" + }, + "observed": { + "checkpoint_hash": "fnv1a64:99185cbf691f0510", + "final_hash": "fnv1a64:c57756ccec539f33", + "jog_x": 0.016, + "program_status": "completed", + "recovery": "recovered" + }, + "operation_sequence": [ + "HOME", + "JOG_START", + "SIM_STEP", + "JOG_STOP", + "SET_OVERRIDE", + "PROGRAM_LOAD", + "PROGRAM_RUN", + "CHECKPOINT", + "SPINDLE_COMMAND", + "COOLANT_COMMAND", + "TOOL_PREPARE", + "TOOL_CHANGE", + "ESTOP", + "IO_RECOVER", + "RECOVER" + ], + "schema": "axis3-selected-case-parity.v1", + "startup": { + "hal_blocked": 0, + "state": "TASK_READY" + }, + "status": "verified" + }, + "status": "verified", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stdout_sha256": "cbeb45559c0e9900092e61ee30b6684fdd9b2999c29c94c47c0f046da1676744" + } +} diff --git a/coverage/axis3-tutorial-native-run.report.json b/coverage/axis3-tutorial-native-run.report.json new file mode 100644 index 0000000..f2025fa --- /dev/null +++ b/coverage/axis3-tutorial-native-run.report.json @@ -0,0 +1,111 @@ +{ + "axis_panel": { + "class": "axis", + "height": 1293, + "instance": "Axis", + "raw": "0x3a0001f \"AXIS 2.10.0~pre1 on 3axis-tutorial (no file)\": (\"axis\" \"Axis\") 1300x1293+28+98 +2930+124", + "screenshot": { + "bytes": 12508, + "path": "/home/mes006/linuxcncWebWASM/coverage/axis3-tutorial-visual/native-axis.png", + "returncode": 0, + "sha256": "966213a26e5f9713e496580f7217de88facb7f4d68ed9097ae2838c496323807", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "title": "AXIS 2.10.0~pre1 on 3axis-tutorial (no file)", + "width": 1300, + "window_id": "0x3a0001f" + }, + "boundaries": [ + "POSIX fallback is native simulation execution, not hardware validation", + "AXIS window evidence is required; timeout/task markers alone are insufficient", + "installed LinuxCNC package version is recorded separately from locked source" + ], + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "command": [ + "linuxcnc", + "/3axis-tutorial.ini" + ], + "cwd": "linuxcnc_source_root", + "display": ":1", + "exact_source_files": [ + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "sha256": "b801d4fb7a3d66fac7a4202d56c384f75b039f55c70cce64c2975c5454875388" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal", + "sha256": "6c01e40c2244d3b534c0d3c60f26a9cdc5232defc79611234c78477209cfda1f" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial", + "sha256": "da5f8266cecd79cdeaa01bf07c4fba17d5c748ccc7dedfc7efdf0354deee9cc7" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl", + "sha256": "6a1736d9a44a30e62d7a8be4df960adc909e7ef026af10ab8e8abf6a613ce4ea" + } + ], + "generated_files": [ + "3axis-tutorial_mm.var", + "3axis-tutorial_mm.var.bak", + "position_mm.txt" + ], + "ini_update": { + "command": [ + "update_ini", + "-f", + "/3axis-tutorial.ini" + ], + "output_sha256": "1c1f893e562d1aa9668bfd69aee2cdc10b3292e426c5eeae301ef1d2935455f9", + "returncode": 0 + }, + "native_log_excerpt": "", + "native_log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "process_returncode": 0, + "report_sha256": "4fb09c0be670b6aa456f08e3c80b05c7b0727b6ff0a95be39c88921a30c72970", + "schema": "axis3-tutorial-native-run.v1", + "service_cleanup": { + "commands": [ + { + "command": [ + "axis-remote", + "--quit" + ], + "returncode": 1, + "stdout_sha256": "e887c3a096d768c45173b5087b76b19f871abedface8d6a05f107a2dbb93b3f9" + }, + { + "command": [ + "halcmd", + "stop" + ], + "returncode": 0, + "stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "halcmd", + "unload", + "all" + ], + "returncode": 0, + "stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "/usr/lib/linuxcnc/realtime", + "stop" + ], + "returncode": 0, + "stdout_sha256": "91338655380567a02b2f78410c6af8bb22361915c68b22572d9a09389d9599ab" + } + ], + "killed_pids": [], + "lock_path": "/tmp/linuxcnc.lock", + "lock_removed": false, + "remaining_services": [] + }, + "stale_services_cleaned": [], + "status": "verified", + "termination": "intentional_diagnostic_cleanup_after_visible_window" +} diff --git a/coverage/axis3-tutorial-native-sequence.report.json b/coverage/axis3-tutorial-native-sequence.report.json new file mode 100644 index 0000000..2b56da4 --- /dev/null +++ b/coverage/axis3-tutorial-native-sequence.report.json @@ -0,0 +1,2492 @@ +{ + "axis_panel": { + "class": "axis", + "height": 1293, + "instance": "Axis", + "raw": "0x3a0001f \"AXIS 2.10.0~pre1 on 3axis-tutorial (no file)\": (\"axis\" \"Axis\") 1300x1293+28+98 +2930+124", + "title": "AXIS 2.10.0~pre1 on 3axis-tutorial (no file)", + "width": 1300, + "window_id": "0x3a0001f" + }, + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "command": [ + "linuxcnc", + "/3axis-tutorial.ini" + ], + "cwd": "linuxcnc_source_root", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "exact_source_files": [ + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "sha256": "b801d4fb7a3d66fac7a4202d56c384f75b039f55c70cce64c2975c5454875388" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal", + "sha256": "6c01e40c2244d3b534c0d3c60f26a9cdc5232defc79611234c78477209cfda1f" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial", + "sha256": "da5f8266cecd79cdeaa01bf07c4fba17d5c748ccc7dedfc7efdf0354deee9cc7" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl", + "sha256": "6a1736d9a44a30e62d7a8be4df960adc909e7ef026af10ab8e8abf6a613ce4ea" + } + ], + "host_boundaries": [], + "native_log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "operations": [ + { + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 2 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 1 + }, + "error": null, + "operation": "STATE_ESTOP_RESET" + }, + { + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 2 + }, + "error": null, + "operation": "STATE_ON" + }, + { + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "MODE_MANUAL" + }, + { + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "HOME_Z" + }, + { + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "HOME_X" + }, + { + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "HOME_Y" + }, + { + "after": { + "actual_position": [ + 0.12075000000000004, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.12075000000000004, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "JOG_X_INCREMENT" + }, + { + "after": { + "actual_position": [ + 0.27075000000000016, + -0.11575000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.27075000000000016, + -0.11575000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.12075000000000004, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.12075000000000004, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "JOG_Y_INCREMENT" + }, + { + "after": { + "actual_position": [ + 0.4257500000000003, + -0.27075000000000016, + -0.052250000000000026, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.4257500000000003, + -0.27075000000000016, + -0.052250000000000026, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.27075000000000016, + -0.11575000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.27075000000000016, + -0.11575000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "JOG_Z_INCREMENT" + }, + { + "after": { + "actual_position": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.4257500000000003, + -0.27075000000000016, + -0.052250000000000026, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.4257500000000003, + -0.27075000000000016, + -0.052250000000000026, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "MODE_MDI" + }, + { + "after": { + "actual_position": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "error": null, + "operation": "MDI_G21_G90" + }, + { + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.43575000000000036, + -0.2807500000000002, + -0.05625000000000003, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "error": null, + "operation": "MDI_G0" + }, + { + "after": { + "actual_position": [ + 0.8389821958778247, + 0.8389821958778247, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 2, + "joint_actual": [ + 0.8389821958778247, + 0.8389821958778247, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "error": null, + "operation": "MDI_G1" + }, + { + "after": { + "actual_position": [ + 0.8743375349371482, + 0.8743375349371482, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 2, + "joint_actual": [ + 0.8743375349371482, + 0.8743375349371482, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.8389821958778247, + 0.8389821958778247, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 2, + "joint_actual": [ + 0.8389821958778247, + 0.8389821958778247, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "error": null, + "operation": "PROGRAM_OPEN" + }, + { + "after": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 2, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.8743375349371482, + 0.8743375349371482, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 2, + "joint_actual": [ + 0.8743375349371482, + 0.8743375349371482, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "error": null, + "operation": "MODE_AUTO" + }, + { + "after": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 2, + "task_state": 4 + }, + "error": null, + "operation": "PROGRAM_RUN" + }, + { + "after": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 3, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "PROGRAM_PAUSE" + }, + { + "after": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 3, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "PROGRAM_RESUME" + }, + { + "after": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "PROGRAM_ABORT" + }, + { + "ack": "hal_manualtoolchange.change_button", + "after": { + "actual_position": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 1, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 3, + "task_state": 4 + }, + "before": { + "actual_position": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "command_position": null, + "current_line": 0, + "current_tool": 0, + "exec_state": 2, + "homed": [ + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "interp_state": 1, + "joint_actual": [ + 0.8895403307326574, + 0.8895403307326574, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "motion_line": 0, + "spindle_speed": null, + "task_mode": 1, + "task_state": 4 + }, + "error": null, + "operation": "TOOL_CHANGE_T1" + } + ], + "process_returncode": null, + "program_source_sha256": "5af2085e7125f276bf6074551f9a2b9274ae4466fc367f99ed2f47c20877fe6b", + "report_sha256": "e4f6f046b739226300c74b48cbc667981c10c7b2587dd4634597b64b50857957", + "schema": "axis3-tutorial-native-sequence.v1", + "sequence_sha256": "c154cc131efc98d99600e6e22b1f70b37577bb76c20f956cf64cb9e733c52142", + "service_cleanup": { + "commands": [ + { + "command": [ + "axis-remote", + "--quit" + ], + "returncode": 1, + "stdout_sha256": "e887c3a096d768c45173b5087b76b19f871abedface8d6a05f107a2dbb93b3f9" + }, + { + "command": [ + "halcmd", + "stop" + ], + "returncode": 0, + "stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "halcmd", + "unload", + "all" + ], + "returncode": 0, + "stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "/usr/lib/linuxcnc/realtime", + "stop" + ], + "returncode": 0, + "stdout_sha256": "91338655380567a02b2f78410c6af8bb22361915c68b22572d9a09389d9599ab" + } + ], + "killed_pids": [], + "lock_path": "/tmp/linuxcnc.lock", + "lock_removed": false, + "remaining_services": [] + }, + "status": "verified", + "update_ini": { + "returncode": 0, + "stdout_sha256": "bf30157ea2a425fe72c3648d1df72dbfec6c7a790dc3cd0c5d6c9b17d1692689" + } +} diff --git a/coverage/axis3-tutorial-persistence.report.json b/coverage/axis3-tutorial-persistence.report.json new file mode 100644 index 0000000..48e11b0 --- /dev/null +++ b/coverage/axis3-tutorial-persistence.report.json @@ -0,0 +1,47 @@ +{ + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "checks": { + "bad_checkpoint_fail_closed": true, + "checkpoint_endpoint_parity": true, + "duplicate_side_effects": "none", + "runtime_files": [ + "3axis-tutorial_mm.var", + "tool.tbl", + "position_mm.txt" + ] + }, + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "known_boundaries": [ + "native restart uses source-defined individual home order Z/X/Y; Worker persistence is independently verified", + "OPFS physical crash oracle remains external" + ], + "report_sha256": "a2d125b06fe81ad8442c3b2b1f766e2a01e8a3160b4738ebc1cba59f565800f2", + "schema": "axis3-tutorial-persistence-report.v1", + "status": "verified", + "task_id": "TUTORIAL-13", + "test": { + "command": [ + "node", + "web/worker/test_axis3_tutorial_persistence.mjs" + ], + "returncode": 0, + "sample": { + "blocked_bad_checkpoint": "blocked", + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "checkpoint_hash": "fnv1a64:a95260f1642ffa0a", + "continuous_hash": "fnv1a64:7984fdfabec7d093", + "endpoint_equal": true, + "event_cursor": 6, + "exact_runtime_files": [ + "3axis-tutorial_mm.var", + "tool.tbl", + "position_mm.txt" + ], + "recovered_hash": "fnv1a64:7984fdfabec7d093", + "schema": "axis3-tutorial-persistence.v1", + "status": "verified" + }, + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stdout_sha256": "e0f3160dc9216515660d460b11b77e18a11ab73555b7a72e09540edf7bf2a03e" + } +} diff --git a/coverage/axis3-tutorial-program.report.json b/coverage/axis3-tutorial-program.report.json new file mode 100644 index 0000000..1f2ce55 --- /dev/null +++ b/coverage/axis3-tutorial-program.report.json @@ -0,0 +1,129 @@ +{ + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "checks": { + "determinism": { + "state_hash": "fnv1a64:79b6b470739e0e14" + }, + "mdi": { + "active_program_rejected": "mdi_while_program_active", + "after_abort_recovery": "verified" + }, + "program_control": [ + "PROGRAM_LOAD", + "PROGRAM_RUN", + "PROGRAM_PAUSE", + "PROGRAM_RESUME", + "PROGRAM_STEP", + "PROGRAM_ABORT", + "PROGRAM_RESTART" + ], + "rs274": { + "distance_modes": [ + "G90/absolute", + "G91/incremental" + ], + "feed_words": [ + "F120", + "F60" + ], + "motion": [ + "G0", + "G1" + ], + "program_end": "M2", + "units": "G21/mm" + } + }, + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "inputs": [ + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "sha256": "b801d4fb7a3d66fac7a4202d56c384f75b039f55c70cce64c2975c5454875388" + }, + { + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal", + "sha256": "6c01e40c2244d3b534c0d3c60f26a9cdc5232defc79611234c78477209cfda1f" + }, + { + "path": "wasm-core/include/sim_interpreter.h", + "sha256": "c5feac77f9ee272fb66292317925c19b32f30ec49a57e99a4a8bf72f7136d7a6" + }, + { + "path": "wasm-core/src/sim_interpreter.c", + "sha256": "83c7980028bbf2bcf8b57571acc8097813f0af69f958ce9acb20debd975fd6ac" + }, + { + "path": "wasm-core/tests/sim_interpreter_test.c", + "sha256": "74129da940e2b6306b809f8d13b1bd5c7daf8577ab7cc52978e4f60ca860cda5" + }, + { + "path": "web/worker/program-runner.mjs", + "sha256": "1e1794d0682851ea59602e3e13ea14d31a41e312b4f00276f750757d12322c81" + }, + { + "path": "web/worker/sim-session.mjs", + "sha256": "47c0918797b6a60ed72dce6014fb3f365f620e31be34d8d66f5311971dbe16fd" + }, + { + "path": "web/worker/test_axis3_tutorial_program.mjs", + "sha256": "77a2f2f7b85a8f2e4056b66ffa2c0ba22b26002a0866460ea70835ac09d986f6" + } + ], + "known_boundaries": [ + "native evidence is the locked interpreter regression, not a realtime hardware oracle", + "MDI is rejected while a program is paused/running and is accepted after abort/recovery", + "full LinuxCNC canonical trajectory/oracle remains outside this case slice" + ], + "native_interpreter": { + "path": "build-native/sim_interpreter_test", + "returncode": 0, + "status": "verified", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stdout_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "observed": { + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "distance_modes": [ + "G90", + "G91" + ], + "final_hash": "fnv1a64:79b6b470739e0e14", + "invalid_code": "program_interpreter", + "mdi": { + "blocked_while_paused": "mdi_while_program_active", + "distance_mode": 90, + "position": { + "x": 2, + "y": 3, + "z": -1 + }, + "status": "verified" + }, + "restart": "loaded", + "run": { + "final": "completed", + "paused": true, + "resumed": true, + "state": "STOPPED" + }, + "schema": "axis3-tutorial-program.v1", + "status": "verified", + "step": "verified", + "units": "G21" + }, + "report_sha256": "abdb15db09b4b0c4cf6b8e205d70e7b01ff917f92ca8fadcb62f742a52cc2c43", + "schema": "axis3-tutorial-program-report.v1", + "status": "verified", + "task_id": "TUTORIAL-05", + "worker": { + "command": [ + "node", + "web/worker/test_axis3_tutorial_program.mjs" + ], + "returncode": 0, + "status": "verified", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stdout_sha256": "e5ea393698cb71388596abd901d81d025fa2a4a47aaed14d45eb9af809cf956b" + } +} diff --git a/coverage/axis3-tutorial-resource-graph.report.json b/coverage/axis3-tutorial-resource-graph.report.json new file mode 100644 index 0000000..f07ed72 --- /dev/null +++ b/coverage/axis3-tutorial-resource-graph.report.json @@ -0,0 +1,472 @@ +{ + "boundaries": [ + "only this case is in scope", + "exact paths are retained; basename substitution is forbidden", + "host Python process is replaced by a source-mapped Web Vismach adapter", + "real hardware and realtime scheduling are outside this pure simulation case" + ], + "capabilities": { + "./3axis-tutorial": "WEB-EQUIV", + "axis": "WEB-EQUIV", + "hal_manualtoolchange": "SIM-ADAPTER", + "trivkins": "SIM-CORE", + "vismach_model": "WEB-EQUIV" + }, + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "hal_entries": [ + { + "command": "loadrt", + "line": 5, + "raw": "loadrt [KINS]KINEMATICS", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "loadrt", + "line": 8, + "raw": "loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "loadrt", + "line": 10, + "raw": "loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "loadrt", + "line": 12, + "raw": "loadrt hypot names=vel_xy,vel_xyz", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 15, + "raw": "addf motion-command-handler servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 16, + "raw": "addf motion-controller servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 18, + "raw": "addf ddt_x servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 19, + "raw": "addf ddt_xv servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 20, + "raw": "addf ddt_y servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 21, + "raw": "addf ddt_yv servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 22, + "raw": "addf ddt_z servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 23, + "raw": "addf ddt_zv servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 24, + "raw": "addf vel_xy servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "addf", + "line": 25, + "raw": "addf vel_xyz servo-thread", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 29, + "raw": "net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 30, + "raw": "net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 31, + "raw": "net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 35, + "raw": "net Xvel ddt_x.out => ddt_xv.in vel_xy.in0", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 36, + "raw": "net Xacc <= ddt_xv.out", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 37, + "raw": "net Yvel ddt_y.out => ddt_yv.in vel_xy.in1", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 38, + "raw": "net Yacc <= ddt_yv.out", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 39, + "raw": "net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 40, + "raw": "net Zacc <= ddt_zv.out", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 43, + "raw": "net XYvel vel_xy.out => vel_xyz.in1", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 44, + "raw": "net XYZvel <= vel_xyz.out", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 47, + "raw": "net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "loadusr", + "line": 49, + "raw": "loadusr -W hal_manualtoolchange", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 50, + "raw": "net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 51, + "raw": "net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 52, + "raw": "net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 53, + "raw": "net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "loadusr", + "line": 56, + "raw": "loadusr -W ./3axis-tutorial", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 59, + "raw": "net j0 joint.0.pos-fb => 3axis-tutorial.jointX", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 60, + "raw": "net j1 joint.1.pos-fb => 3axis-tutorial.jointY", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 61, + "raw": "net j2 joint.2.pos-fb => 3axis-tutorial.jointZ", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 64, + "raw": "net tool_len 3axis-tutorial.toollength <= motion.tooloffset.z", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + { + "command": "net", + "line": 65, + "raw": "net tool_rad halui.tool.diameter 3axis-tutorial.tooldiameter", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + } + ], + "ini_entries": [ + { + "key": "VERSION", + "line": 14, + "section": "EMC", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "1.0" + }, + { + "key": "DISPLAY", + "line": 27, + "section": "DISPLAY", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "axis" + }, + { + "key": "INTRO_GRAPHIC", + "line": 48, + "section": "DISPLAY", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "linuxcnc.gif" + }, + { + "key": "PARAMETER_FILE", + "line": 69, + "section": "RS274NGC", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "3axis-tutorial_mm.var" + }, + { + "key": "HALFILE", + "line": 105, + "section": "HAL", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "3axis-tutorial.hal" + }, + { + "key": "COORDINATES", + "line": 126, + "section": "TRAJ", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "X Y Z" + }, + { + "key": "TOOL_TABLE", + "line": 154, + "section": "EMCIO", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "tool.tbl" + }, + { + "key": "KINEMATICS", + "line": 159, + "section": "KINS", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "trivkins" + }, + { + "key": "JOINTS", + "line": 161, + "section": "KINS", + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "value": "3" + } + ], + "report_sha256": "fde31d4730cfd8a3345a550d32983c30ea9515493902a68b151352438de10c62", + "runtime_generated": [ + { + "kind": "parameter_file", + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var", + "policy": "missing file starts with zero defaults and is created/updated at runtime", + "source": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc::restore_parameters/save_parameters" + }, + { + "kind": "parameter_backup", + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var.bak", + "policy": "native backup created on parameter save", + "source": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc::save_parameters" + }, + { + "kind": "position_file", + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/position_mm.txt", + "policy": "runtime position persistence; not a source fixture", + "source": "3axis-tutorial.ini:[TRAJ]POSITION_FILE" + } + ], + "schema": "axis3-tutorial-resource-graph.v1", + "shared_assets": [ + { + "configured_value": "linuxcnc.gif", + "resolved_path": "linuxcnc/linuxcnc.gif", + "scope": "DISPLAY.INTRO_GRAPHIC only" + } + ], + "source_files": [ + { + "bytes": 5349, + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "role": "case_source", + "sha256": "b801d4fb7a3d66fac7a4202d56c384f75b039f55c70cce64c2975c5454875388", + "status": "present" + }, + { + "bytes": 2447, + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal", + "role": "case_source", + "sha256": "6c01e40c2244d3b534c0d3c60f26a9cdc5232defc79611234c78477209cfda1f", + "status": "present" + }, + { + "bytes": 10203, + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial", + "role": "case_source", + "sha256": "da5f8266cecd79cdeaa01bf07c4fba17d5c748ccc7dedfc7efdf0354deee9cc7", + "status": "present" + }, + { + "bytes": 115, + "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl", + "role": "case_source", + "sha256": "6a1736d9a44a30e62d7a8be4df960adc909e7ef026af10ab8e8abf6a613ce4ea", + "status": "present" + }, + { + "bytes": 8718, + "path": "linuxcnc/linuxcnc.gif", + "role": "source_dependency", + "sha256": "6c6da4afc3ecdc1b812dd6878318da0120996bd6889b4dd2ddb480b905d9f4b1", + "status": "present" + }, + { + "bytes": 33242, + "path": "linuxcnc/lib/python/vismach.py", + "role": "source_dependency", + "sha256": "e3b317eb8f4b17428ae0127850681c947fd3aecac4d23938d21449defe0d6998", + "status": "present" + }, + { + "bytes": 2332, + "path": "linuxcnc/lib/python/hal.py", + "role": "source_dependency", + "sha256": "cb5ea7bae18114d17961d929ec0ce65f96a7bd5188e3181da7bc650d82ae4b39", + "status": "present" + }, + { + "bytes": 2274, + "path": "linuxcnc/lib/hallib/basic_sim.tcl", + "role": "source_dependency", + "sha256": "d9851b0a8861e6d66de745a8ae230d4b38b65c34f8b05bdb6705792d2d4050be", + "status": "present" + }, + { + "bytes": 16117, + "path": "linuxcnc/src/libnml/inifile/inifile.cc", + "role": "source_dependency", + "sha256": "7defe6abe023a1741bb465c05de09d529c0750c34dcd80d57be962c5cbea71c0", + "status": "present" + }, + { + "bytes": 94199, + "path": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc", + "role": "source_dependency", + "sha256": "73935d127557c0e8f9da6267f629351ec5198fbce05c665c678819383901d61b", + "status": "present" + } + ], + "status": "verified", + "task_id": "TUTORIAL-01", + "vismach_python": { + "component": [ + "3axis-tutorial" + ], + "imports": [ + [ + "vismach", + "" + ], + [ + "", + "hal" + ], + [ + "", + "math" + ], + [ + "", + "sys" + ], + [ + "", + "linuxcnc" + ] + ], + "model_symbols": [ + "HalTranslate", + "HalToolCylinder", + "CylinderZ", + "Capture", + "Collection", + "main" + ], + "pins": [ + { + "direction": "HAL_IN", + "name": "jointX", + "type": "HAL_FLOAT" + }, + { + "direction": "HAL_IN", + "name": "jointY", + "type": "HAL_FLOAT" + }, + { + "direction": "HAL_IN", + "name": "jointZ", + "type": "HAL_FLOAT" + }, + { + "direction": "HAL_IN", + "name": "toollength", + "type": "HAL_FLOAT" + }, + { + "direction": "HAL_IN", + "name": "tooldiameter", + "type": "HAL_FLOAT" + } + ], + "sha256": "da5f8266cecd79cdeaa01bf07c4fba17d5c748ccc7dedfc7efdf0354deee9cc7" + } +} diff --git a/coverage/axis3-tutorial-sequence.report.json b/coverage/axis3-tutorial-sequence.report.json new file mode 100644 index 0000000..fb7a7c8 --- /dev/null +++ b/coverage/axis3-tutorial-sequence.report.json @@ -0,0 +1,271 @@ +{ + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "first_divergence": null, + "host_boundaries": [], + "known_boundaries": [ + "case INI has no HOME_SEQUENCE, so AXIS source semantics require individual Z/X/Y home rather than Home All", + "manual toolchange is completed through the source-defined hal_manualtoolchange.change_button pin", + "Worker fixed-tick sequence remains independently verified" + ], + "native": { + "report_sha256": "e4f6f046b739226300c74b48cbc667981c10c7b2587dd4634597b64b50857957", + "returncode": 0, + "status": "verified", + "stderr_sha256": "debe7b150bd962d32aa3c79e75ae35efb0c27619f66d6b5e8d64148076f29a87", + "stdout_sha256": "c4d6892a0c470c6a0884d58dca57abc32958a959fd84eed4b5bdb74d35246148" + }, + "operation_contract": [ + "STATE_ESTOP_RESET", + "STATE_ON", + "MODE_MANUAL", + "HOME_Z", + "HOME_X", + "HOME_Y", + "JOG_X_INCREMENT", + "JOG_Y_INCREMENT", + "JOG_Z_INCREMENT", + "MODE_MDI", + "MDI_G21_G90", + "MDI_G0", + "MDI_G1", + "PROGRAM_OPEN", + "MODE_AUTO", + "PROGRAM_RUN", + "PROGRAM_PAUSE", + "PROGRAM_RESUME", + "PROGRAM_ABORT", + "TOOL_CHANGE_T1" + ], + "report_sha256": "33a355907251c2176a190ab2b462a25b62aefafb7f8e3da24a654dbc75cee6d2", + "schema": "axis3-tutorial-sequence-report.v1", + "status": "verified", + "task_id": "TUTORIAL-12", + "worker": { + "returncode": 0, + "sample": { + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "checkpoint_hash": "fnv1a64:62255398442adbba", + "endpoint_hash": "fnv1a64:a59dbd6e075e1fb5", + "first_error": null, + "operations": [ + { + "code": null, + "kind": "HELLO", + "operation": "HELLO", + "response_kind": "CAPABILITIES", + "seq": 1, + "state_hash": null, + "status": null, + "tick": 0 + }, + { + "code": null, + "kind": "SESSION_ATTACH", + "operation": "SESSION_ATTACH", + "response_kind": "SESSION_READY", + "seq": 2, + "state_hash": "fnv1a64:85748e012d214808", + "status": null, + "tick": 0 + }, + { + "code": null, + "kind": "LOAD_WORKSPACE", + "operation": "LOAD_WORKSPACE", + "response_kind": "COMMAND_RESULT", + "seq": 3, + "state_hash": "fnv1a64:d62bca2b1867469f", + "status": "verified", + "tick": 0 + }, + { + "code": null, + "kind": "HOME", + "operation": "HOME_Z", + "response_kind": "COMMAND_RESULT", + "seq": 4, + "state_hash": null, + "status": "verified", + "tick": 0 + }, + { + "code": null, + "kind": "HOME", + "operation": "HOME_X", + "response_kind": "COMMAND_RESULT", + "seq": 5, + "state_hash": null, + "status": "verified", + "tick": 0 + }, + { + "code": null, + "kind": "HOME", + "operation": "HOME_Y", + "response_kind": "COMMAND_RESULT", + "seq": 6, + "state_hash": null, + "status": "verified", + "tick": 0 + }, + { + "code": null, + "kind": "JOG_START", + "operation": "JOG_X", + "response_kind": "COMMAND_RESULT", + "seq": 7, + "state_hash": null, + "status": "verified", + "tick": 0 + }, + { + "code": null, + "kind": "SIM_STEP", + "operation": "JOG_X_TICK", + "response_kind": "COMMAND_RESULT", + "seq": 8, + "state_hash": "fnv1a64:ee75026790992559", + "status": "verified", + "tick": 10 + }, + { + "code": null, + "kind": "JOG_STOP", + "operation": "JOG_STOP", + "response_kind": "COMMAND_RESULT", + "seq": 9, + "state_hash": null, + "status": "verified", + "tick": 10 + }, + { + "code": null, + "kind": "PROGRAM_LOAD", + "operation": "PROGRAM_LOAD", + "response_kind": "COMMAND_RESULT", + "seq": 10, + "state_hash": null, + "status": "verified", + "tick": 10 + }, + { + "code": null, + "kind": "PROGRAM_RUN", + "operation": "PROGRAM_RUN", + "response_kind": "COMMAND_RESULT", + "seq": 11, + "state_hash": null, + "status": "verified", + "tick": 10 + }, + { + "code": null, + "kind": "CHECKPOINT", + "operation": "CHECKPOINT", + "response_kind": "CHECKPOINT_READY", + "seq": 12, + "state_hash": "fnv1a64:62255398442adbba", + "status": "verified", + "tick": 10 + }, + { + "code": null, + "kind": "SIM_STEP", + "operation": "PROGRAM_TICK", + "response_kind": "COMMAND_RESULT", + "seq": 13, + "state_hash": "fnv1a64:820d17cf2e6b928f", + "status": "verified", + "tick": 11 + }, + { + "code": null, + "kind": "PROGRAM_PAUSE", + "operation": "PROGRAM_PAUSE", + "response_kind": "COMMAND_RESULT", + "seq": 14, + "state_hash": null, + "status": "verified", + "tick": 11 + }, + { + "code": null, + "kind": "PROGRAM_RESUME", + "operation": "PROGRAM_RESUME", + "response_kind": "COMMAND_RESULT", + "seq": 15, + "state_hash": null, + "status": "verified", + "tick": 11 + }, + { + "code": null, + "kind": "PROGRAM_ABORT", + "operation": "PROGRAM_ABORT", + "response_kind": "COMMAND_RESULT", + "seq": 16, + "state_hash": null, + "status": "verified", + "tick": 11 + }, + { + "code": null, + "kind": "PROGRAM_RESTART", + "operation": "PROGRAM_RESTART", + "response_kind": "COMMAND_RESULT", + "seq": 17, + "state_hash": null, + "status": "verified", + "tick": 11 + }, + { + "code": "sim_io_ok", + "kind": "TOOL_PREPARE", + "operation": "TOOL_PREPARE_T1", + "response_kind": "COMMAND_RESULT", + "seq": 18, + "state_hash": "fnv1a64:135fb60b4301fb56", + "status": "verified", + "tick": 11 + }, + { + "code": "sim_io_ok", + "kind": "TOOL_PREPARED", + "operation": "TOOL_PREPARED_T1", + "response_kind": "COMMAND_RESULT", + "seq": 19, + "state_hash": "fnv1a64:ddbc5ae64aecc679", + "status": "verified", + "tick": 11 + }, + { + "code": "sim_io_ok", + "kind": "TOOL_CHANGE", + "operation": "TOOL_CHANGE_T1", + "response_kind": "COMMAND_RESULT", + "seq": 20, + "state_hash": "fnv1a64:6bdc3f14d85b7ae7", + "status": "verified", + "tick": 11 + }, + { + "code": "sim_io_ok", + "kind": "TOOL_CHANGED", + "operation": "TOOL_CHANGED_T1", + "response_kind": "COMMAND_RESULT", + "seq": 21, + "state_hash": "fnv1a64:5c31c79e9a721120", + "status": "verified", + "tick": 11 + } + ], + "schema": "axis3-tutorial-sequence.v1", + "sequence_hash": "fnv1a64:2b4602c9204b7a5a", + "status": "verified" + }, + "status": "verified", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stdout_sha256": "6e5f4a22f83af8b7abdeea449d7a8899e6e7f4888d9bd69f67a4ff53563bfba2" + } +} diff --git a/coverage/axis3-tutorial-tool-io.report.json b/coverage/axis3-tutorial-tool-io.report.json new file mode 100644 index 0000000..3879f57 --- /dev/null +++ b/coverage/axis3-tutorial-tool-io.report.json @@ -0,0 +1,62 @@ +{ + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "coverage": [ + "tool.tbl T1 prepare/change", + "spindle command/ramp/at-speed/stop", + "mist/flood coolant and fault", + "probe arm/update/trip/disarm", + "ESTOP and IO_RECOVER" + ], + "known_boundaries": [ + "native manual toolchange dialog is completed through the source-defined change_button HAL acknowledgement; Worker uses the same handshake semantics", + "real spindle/physical probe hardware is excluded", + "full native same-sequence recorder is TUTORIAL-12" + ], + "report_sha256": "529b35a6fb84f561772b941a57d8bea3cf355969a622c01287afd5e642e0e246", + "schema": "axis3-tutorial-tool-io-report.v1", + "status": "verified", + "task_id": "TUTORIAL-11", + "test": { + "command": [ + "node", + "web/worker/test_axis3_tutorial_tool_io.mjs" + ], + "returncode": 0, + "sample": { + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "coolant": { + "fault_blocked": true, + "flood": true, + "mist": true + }, + "estop": { + "blocked_code": "sim_io_estop", + "recovered": true + }, + "final_hash": "fnv1a64:928605c9336d0d29", + "probe": { + "position": { + "x": 1, + "y": 2, + "z": -3 + }, + "state": "tripped" + }, + "schema": "axis3-tutorial-tool-io.v1", + "spindle": { + "at_speed": true, + "command_rpm": 600, + "speed_rpm": 600 + }, + "status": "verified", + "tool": { + "busy_change_code": "sim_io_state", + "changed": true, + "current": 1 + } + }, + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stdout_sha256": "3c7078aec95f86035fc14ae87e8166cf8c5eaf485bfb4533d04dfbc53928e2a6" + } +} diff --git a/coverage/axis3-tutorial-visual/chromium-desktop.png b/coverage/axis3-tutorial-visual/chromium-desktop.png new file mode 100644 index 0000000..178b022 Binary files /dev/null and b/coverage/axis3-tutorial-visual/chromium-desktop.png differ diff --git a/coverage/axis3-tutorial-visual/chromium-mobile.png b/coverage/axis3-tutorial-visual/chromium-mobile.png new file mode 100644 index 0000000..7c592ad Binary files /dev/null and b/coverage/axis3-tutorial-visual/chromium-mobile.png differ diff --git a/coverage/axis3-tutorial-visual/native-axis.png b/coverage/axis3-tutorial-visual/native-axis.png new file mode 100644 index 0000000..5972b4e Binary files /dev/null and b/coverage/axis3-tutorial-visual/native-axis.png differ diff --git a/coverage/browser-matrix-remediation.report.json b/coverage/browser-matrix-remediation.report.json index d1db868..1e724b2 100644 --- a/coverage/browser-matrix-remediation.report.json +++ b/coverage/browser-matrix-remediation.report.json @@ -77,10 +77,10 @@ "status": "present" }, { - "bytes": 15568, + "bytes": 15574, "path": "coverage/release-remediation-intake.report.json", "role": "remediation_intake", - "sha256": "86ba1971fec3cbef1431fb211c9258b5ad568b3267aa8bbbd6f61706f3286b77", + "sha256": "c4abf81d8a7fb08ee61ed9ceb655803a6a2620d5e1dce9c47117ee17579f3b1e", "status": "present" } ], @@ -167,7 +167,7 @@ "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", "remediation_status": "blocked_matrix_unverified", - "report_sha256": "87d6715003d80e6e546d47c607d6d3c2624807970589062377dded8f999c2e6d", + "report_sha256": "302aba61dcb56244fbee940f60695c743cd1edeae415e7ffda2991fd63109688", "review_policy": { "current_environment_limit": "Safari binary and browser farm are unavailable; observed Chromium/Firefox probes do not establish a release minimum", "forbidden": [ diff --git a/coverage/browser-performance-matrix.report.json b/coverage/browser-performance-matrix.report.json index ae8ad48..3360f98 100644 --- a/coverage/browser-performance-matrix.report.json +++ b/coverage/browser-performance-matrix.report.json @@ -51,28 +51,28 @@ "bytes": 225468, "path": "coverage/full-configuration-startup-matrix.report.json", "role": "full_configuration_matrix", - "sha256": "eefde49a278a077e374b751d0d0ed59b1294ce399a757a665e3cc14f569f7656", + "sha256": "f52e5bda5c3d06d7779d1e2f66c03c98381b133599ab9771dca55ab46acf21b5", "status": "present" }, { "bytes": 3170, "path": "coverage/recovery-offline-fault-matrix.report.json", "role": "recovery_offline_fault_matrix", - "sha256": "f8fa6f8f487b2c29c6581aa89e373d71c93af5a8b317055d7eb340f402974412", + "sha256": "17997c17cb0dc1527a892a353d5287318b63cd145a5c83e8d463926e366b1c4e", "status": "present" }, { "bytes": 6180, "path": "coverage/browser-matrix-remediation.report.json", "role": "browser_matrix_remediation", - "sha256": "7e6a8f2dc51ad80a75504407d04f7be6727355dd9f7bcd1ff49cd47eb5cac284", + "sha256": "8eacc6c6e168df19fc2082c1788ce3e5c025e9b528cccc0c5dcf62a84a8664d7", "status": "present" }, { "bytes": 3301, "path": "coverage/frontend-m4.report.json", "role": "frontend_m4", - "sha256": "213411ccef031c360b8db93c2ae2430019baa5b6ea541cd02896514172a11f6c", + "sha256": "948b4a8b88ebfc5dd75c71a6032b619640e8064a328b51e271ba652abb151721", "status": "present" }, { @@ -85,7 +85,7 @@ ], "next_transition": "execute K8-REL-17 release gate refresh after implementation evidence", "release_action": "STOP_RELEASE", - "report_sha256": "0fc082fa4149cd847e2fc48cc2fd3736f16fa0e211765fe04cc44eea175ab847", + "report_sha256": "a82e5d50ef5754ad3a4da8e4a90fbfc92ff1dd7b28a68496ef1a8b461542fc35", "runs": [ { "exit_code": 0, diff --git a/coverage/configuration-resource-remediation.report.json b/coverage/configuration-resource-remediation.report.json index ea18a60..68ccf32 100644 --- a/coverage/configuration-resource-remediation.report.json +++ b/coverage/configuration-resource-remediation.report.json @@ -1,17 +1,17 @@ { "candidate_classification": { - "candidate_basename_match": 544, + "candidate_basename_match": 579, "candidate_requires_reference_resolution": 153, - "no_candidate": 259, + "no_candidate": 224, "reference_requires_resolution": 41 }, "candidate_eligible": false, "checks": { "candidate_resolution_is_non_mutating": { "classification": { - "candidate_basename_match": 544, + "candidate_basename_match": 579, "candidate_requires_reference_resolution": 153, - "no_candidate": 259, + "no_candidate": 224, "reference_requires_resolution": 41 }, "status": "verified" @@ -82,14 +82,14 @@ "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" }, { - "bytes": 15568, + "bytes": 15574, "path": "coverage/release-remediation-intake.report.json", "role": "remediation_intake", - "sha256": "b88b3978114cb7347f890c558ea0b6c948533b8a87d61bcee3806cd0912b0a6d", + "sha256": "c4abf81d8a7fb08ee61ed9ceb655803a6a2620d5e1dce9c47117ee17579f3b1e", "status": "present" } ], @@ -110,7 +110,10 @@ }, { "basename_token": "anglejog.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/anglejog/anglejog.var", + "web/react/dist/linuxcnc/configs/sim/axis/anglejog/anglejog.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/anglejog/anglejog.ini", "parse_status": "missing", @@ -123,7 +126,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/anglejog/anglejog.ini", @@ -163,7 +167,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/axis.ini", @@ -198,7 +209,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis.ini", @@ -212,7 +224,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis.ini", @@ -228,7 +241,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis.ini", @@ -242,7 +256,8 @@ { "basename_token": "check_xyz_constraints.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/check_xyz_constraints.hal" + "linuxcnc/lib/hallib/check_xyz_constraints.hal", + "web/react/dist/linuxcnc/lib/hallib/check_xyz_constraints.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis.ini", @@ -282,7 +297,9 @@ { "basename_token": "sim-9axis.var", "candidate_paths": [ - "linuxcnc/configs/sim/qtvcp_screens/sim-9axis.var" + "linuxcnc/configs/sim/axis/sim-9axis.var", + "linuxcnc/configs/sim/qtvcp_screens/sim-9axis.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-9axis.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/axis_9axis.ini", @@ -296,7 +313,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis_9axis.ini", @@ -310,7 +328,8 @@ { "basename_token": "locking_indexer.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/locking_indexer.hal" + "linuxcnc/lib/hallib/locking_indexer.hal", + "web/react/dist/linuxcnc/lib/hallib/locking_indexer.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis_9axis.ini", @@ -349,7 +368,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/axis_mm.ini", "parse_status": "missing", @@ -383,7 +405,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis_mm.ini", @@ -397,7 +420,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis_mm.ini", @@ -413,7 +437,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/axis_mm.ini", @@ -451,7 +476,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/canterp.ini", @@ -478,7 +504,10 @@ }, { "basename_token": "demo_sim_cl.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.var", + "web/react/dist/linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.ini", "parse_status": "missing", @@ -514,7 +543,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.ini", @@ -527,7 +557,10 @@ }, { "basename_token": "db_nonran.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/db_demo/db_nonran.var", + "web/react/dist/linuxcnc/configs/sim/axis/db_demo/db_nonran.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/db_demo/db_nonran.ini", "parse_status": "missing", @@ -539,7 +572,10 @@ }, { "basename_token": "db_ran.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/db_demo/db_ran.var", + "web/react/dist/linuxcnc/configs/sim/axis/db_demo/db_ran.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/db_demo/db_ran.ini", "parse_status": "missing", @@ -552,7 +588,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/dynamic_offsets.ini", @@ -580,7 +623,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/dynamic_offsets.ini", @@ -608,7 +652,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/eoffsets.ini", @@ -622,7 +673,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/eoffsets.ini", @@ -636,7 +688,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/jwp_z.ini", @@ -650,7 +709,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/jwp_z.ini", @@ -664,7 +724,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/opa.ini", @@ -692,7 +759,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/external_offsets/opa.ini", @@ -706,7 +774,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/extrajoints/12extrajoints.ini", @@ -720,7 +789,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/extrajoints/12extrajoints.ini", @@ -762,7 +838,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/extrajoints/1extrajoint.ini", @@ -804,7 +887,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/extrajoints/2extrajoints.ini", @@ -818,7 +902,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/extrajoints/2extrajoints.ini", @@ -887,7 +978,10 @@ }, { "basename_token": "foam.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/foam/foam.var", + "web/react/dist/linuxcnc/configs/sim/axis/foam/foam.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/foam/axis_foam.ini", "parse_status": "missing", @@ -900,7 +994,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/foam/axis_foam.ini", @@ -1003,7 +1098,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry.ini", @@ -1019,7 +1121,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry.ini", @@ -1033,7 +1136,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry.ini", @@ -1048,7 +1152,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry.ini", @@ -1165,7 +1270,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry_jjog.ini", @@ -1181,7 +1293,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry_jjog.ini", @@ -1195,7 +1308,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry_jjog.ini", @@ -1210,7 +1324,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry_jjog.ini", @@ -1258,7 +1373,10 @@ }, { "basename_token": "gantry_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/gantry/gantry_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/gantry/gantry_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gantry/gantry_mm.ini", "parse_status": "missing", @@ -1271,7 +1389,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/geometry/xyzc.ini", @@ -1284,7 +1403,10 @@ }, { "basename_token": "xyzc.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/geometry/xyzc.var", + "web/react/dist/linuxcnc/configs/sim/axis/geometry/xyzc.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/geometry/xyzc.ini", "parse_status": "missing", @@ -1297,7 +1419,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/geometry/xyzc_origin.ini", @@ -1310,7 +1433,10 @@ }, { "basename_token": "xyzc.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/geometry/xyzc.var", + "web/react/dist/linuxcnc/configs/sim/axis/geometry/xyzc.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/geometry/xyzc_origin.ini", "parse_status": "missing", @@ -1337,7 +1463,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel.ini", @@ -1351,7 +1484,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel.ini", @@ -1391,7 +1525,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel_tester.ini", @@ -1405,7 +1546,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel_tester.ini", @@ -1445,7 +1587,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_tab.ini", @@ -1459,7 +1608,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_tab.ini", @@ -1499,7 +1649,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/probe.ini", @@ -1513,7 +1670,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/probe.ini", @@ -1553,7 +1711,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/set-param-from-ini.ini", @@ -1567,7 +1732,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/gladevcp/set-param-from-ini.ini", @@ -1607,7 +1773,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/halui_pyvcp/halui.ini", @@ -1644,7 +1817,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/halui_pyvcp/halui.ini", @@ -1672,7 +1846,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/histogram_demo.ini", @@ -1686,7 +1867,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/histogram_demo.ini", @@ -1741,7 +1923,14 @@ }, { "basename_token": "sim-lathe.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "linuxcnc/configs/sim/axis/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-lathe.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/historical_lathe.ini", "parse_status": "missing", @@ -1775,7 +1964,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/historical_lathe.ini", @@ -1791,7 +1981,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/historical_lathe.ini", @@ -1806,7 +1997,9 @@ "basename_token": "lathe.hal", "candidate_paths": [ "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.hal", - "linuxcnc/lib/hallib/lathe.hal" + "linuxcnc/lib/hallib/lathe.hal", + "web/react/dist/linuxcnc/configs/sim/axis/lathe_multispindle/lathe.hal", + "web/react/dist/linuxcnc/lib/hallib/lathe.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/historical_lathe.ini", @@ -1834,7 +2027,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ini_hal_demo.ini", @@ -1848,7 +2048,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ini_hal_demo.ini", @@ -1903,7 +2104,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/axis-iocontrolv2-demo.ini", "parse_status": "missing", @@ -1939,7 +2143,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/axis-iocontrolv2-demo.ini", @@ -1978,7 +2183,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/g8812.ini", "parse_status": "missing", @@ -2014,7 +2222,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/g8812.ini", @@ -2053,7 +2262,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/m66track.ini", "parse_status": "missing", @@ -2089,7 +2301,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/m66track.ini", @@ -2128,7 +2341,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui-ns.ini", "parse_status": "missing", @@ -2164,7 +2380,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui-ns.ini", @@ -2203,7 +2420,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui.ini", "parse_status": "missing", @@ -2239,7 +2459,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui.ini", @@ -2278,7 +2499,10 @@ }, { "basename_token": "xyzb.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var", + "web/react/dist/linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini", "parse_status": "missing", @@ -2319,7 +2543,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini", @@ -2333,7 +2558,8 @@ { "basename_token": "wheeljogpins.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/wheeljogpins.tcl" + "linuxcnc/lib/hallib/wheeljogpins.tcl", + "web/react/dist/linuxcnc/lib/hallib/wheeljogpins.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini", @@ -2360,7 +2586,10 @@ }, { "basename_token": "xyzb.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var", + "web/react/dist/linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini", "parse_status": "missing", @@ -2387,7 +2616,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini", @@ -2401,7 +2631,8 @@ { "basename_token": "wheeljogpins.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/wheeljogpins.tcl" + "linuxcnc/lib/hallib/wheeljogpins.tcl", + "web/react/dist/linuxcnc/lib/hallib/wheeljogpins.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini", @@ -2429,7 +2660,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx-xhc-hb04.ini", @@ -2443,7 +2675,8 @@ { "basename_token": "xhc-hb04.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/xhc-hb04.tcl" + "linuxcnc/lib/hallib/xhc-hb04.tcl", + "web/react/dist/linuxcnc/lib/hallib/xhc-hb04.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx-xhc-hb04.ini", @@ -2485,7 +2718,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.ini", @@ -2498,7 +2732,10 @@ }, { "basename_token": "laser.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/laser/laser.var", + "web/react/dist/linuxcnc/configs/sim/axis/laser/laser.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/laser/laser.ini", "parse_status": "missing", @@ -2511,7 +2748,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/laser/laser.ini", @@ -2538,7 +2776,14 @@ }, { "basename_token": "sim-lathe.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "linuxcnc/configs/sim/axis/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-lathe.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/lathe-fanucy/lathe-fanucy.ini", "parse_status": "missing", @@ -2551,7 +2796,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/lathe-fanucy/lathe-fanucy.ini", @@ -2578,7 +2824,14 @@ }, { "basename_token": "sim-lathe.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "linuxcnc/configs/sim/axis/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-lathe.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/lathe.ini", "parse_status": "missing", @@ -2591,7 +2844,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/lathe.ini", @@ -2618,7 +2872,14 @@ }, { "basename_token": "sim-lathe.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "linuxcnc/configs/sim/axis/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-lathe.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.ini", "parse_status": "missing", @@ -2631,7 +2892,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.ini", @@ -2647,7 +2909,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.ini", @@ -2682,7 +2945,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ldelta.ini", @@ -2696,7 +2966,8 @@ { "basename_token": "sim_ldelta.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_ldelta.hal" + "linuxcnc/lib/hallib/sim_ldelta.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_ldelta.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ldelta.ini", @@ -2710,7 +2981,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ldelta.ini", @@ -2738,7 +3010,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ldelta_demo.ini", @@ -2752,7 +3031,8 @@ { "basename_token": "sim_ldelta.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_ldelta.hal" + "linuxcnc/lib/hallib/sim_ldelta.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_ldelta.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ldelta_demo.ini", @@ -2766,7 +3046,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ldelta_demo.ini", @@ -2822,7 +3103,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/minimal_xyz.ini", @@ -2836,7 +3118,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/minimal_xyz.ini", @@ -2850,7 +3139,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/1_onpause_local.ini", @@ -2864,7 +3154,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/1_onpause_local.ini", @@ -2906,7 +3197,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/2_onpause_external.ini", @@ -2920,7 +3212,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/2_onpause_external.ini", @@ -2934,7 +3227,8 @@ { "basename_token": "moveoff_external.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/moveoff_external.hal" + "linuxcnc/lib/hallib/moveoff_external.hal", + "web/react/dist/linuxcnc/lib/hallib/moveoff_external.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/2_onpause_external.ini", @@ -2990,7 +3284,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/3_always_local.ini", @@ -3004,7 +3299,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/3_always_local.ini", @@ -3046,7 +3342,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/4_always_external.ini", @@ -3060,7 +3357,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/4_always_external.ini", @@ -3074,7 +3372,8 @@ { "basename_token": "moveoff_external.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/moveoff_external.hal" + "linuxcnc/lib/hallib/moveoff_external.hal", + "web/react/dist/linuxcnc/lib/hallib/moveoff_external.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/4_always_external.ini", @@ -3130,7 +3429,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/5_no_gui.ini", @@ -3144,7 +3444,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/5_no_gui.ini", @@ -3214,7 +3515,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/6_zretract.ini", @@ -3228,7 +3530,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/6_zretract.ini", @@ -3242,7 +3545,8 @@ { "basename_token": "moveoff_external.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/moveoff_external.hal" + "linuxcnc/lib/hallib/moveoff_external.hal", + "web/react/dist/linuxcnc/lib/hallib/moveoff_external.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/6_zretract.ini", @@ -3256,7 +3560,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/7_pyvcp.ini", @@ -3270,7 +3575,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/7_pyvcp.ini", @@ -3284,7 +3590,8 @@ { "basename_token": "moveoff_external.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/moveoff_external.hal" + "linuxcnc/lib/hallib/moveoff_external.hal", + "web/react/dist/linuxcnc/lib/hallib/moveoff_external.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/7_pyvcp.ini", @@ -3326,7 +3633,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/8_gladevcp.ini", @@ -3340,7 +3648,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/8_gladevcp.ini", @@ -3354,7 +3663,8 @@ { "basename_token": "moveoff_external.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/moveoff_external.hal" + "linuxcnc/lib/hallib/moveoff_external.hal", + "web/react/dist/linuxcnc/lib/hallib/moveoff_external.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/moveoff/8_gladevcp.ini", @@ -3410,7 +3720,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui.ini", @@ -3424,7 +3741,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui.ini", @@ -3452,7 +3770,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_gcmc.ini", @@ -3466,7 +3791,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_gcmc.ini", @@ -3493,7 +3819,14 @@ }, { "basename_token": "sim-lathe.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "linuxcnc/configs/sim/axis/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-lathe.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_lathe.ini", "parse_status": "missing", @@ -3506,7 +3839,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_lathe.ini", @@ -3534,7 +3868,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_simple.ini", @@ -3548,7 +3889,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_simple.ini", @@ -3576,7 +3918,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/pyngcgui_axis.ini", @@ -3590,7 +3939,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/ngcgui/pyngcgui_axis.ini", @@ -3618,7 +3968,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/acc_test.ini", @@ -3632,7 +3989,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/acc_test.ini", @@ -3692,7 +4050,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/axis_noio.ini", "parse_status": "missing", @@ -3707,7 +4068,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/axis_noio.ini", @@ -3765,7 +4127,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/iocontrol-removed.ini", "parse_status": "missing", @@ -3804,7 +4169,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/medium.ini", @@ -3818,7 +4190,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/medium.ini", @@ -3832,7 +4205,8 @@ { "basename_token": "check_xyz_constraints.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/check_xyz_constraints.hal" + "linuxcnc/lib/hallib/check_xyz_constraints.hal", + "web/react/dist/linuxcnc/lib/hallib/check_xyz_constraints.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/orphans/medium.ini", @@ -3892,7 +4266,10 @@ }, { "basename_token": "linuxcnc.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/corexy/linuxcnc.var", + "web/react/dist/linuxcnc/configs/sim/axis/corexy/linuxcnc.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/panelui-demo/panelui-demo.ini", "parse_status": "missing", @@ -3931,7 +4308,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini", @@ -3957,7 +4335,8 @@ { "basename_token": "qtplasmac_comp.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/qtplasmac_comp.hal" + "linuxcnc/lib/hallib/qtplasmac_comp.hal", + "web/react/dist/linuxcnc/lib/hallib/qtplasmac_comp.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/plasma/imperial.ini", @@ -4021,7 +4400,8 @@ { "basename_token": "qtplasmac_comp.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/qtplasmac_comp.hal" + "linuxcnc/lib/hallib/qtplasmac_comp.hal", + "web/react/dist/linuxcnc/lib/hallib/qtplasmac_comp.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/plasma/metric.ini", @@ -4099,7 +4479,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/profile_axis.ini", @@ -4113,7 +4500,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/profile_axis.ini", @@ -4153,7 +4541,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/qtvcp/qtvcp_tab.ini", @@ -4167,7 +4562,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/qtvcp/qtvcp_tab.ini", @@ -4207,7 +4603,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/qtvcp/qtvismach_tab.ini", @@ -4221,7 +4624,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/qtvcp/qtvismach_tab.ini", @@ -4261,7 +4665,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/random_tc.ini", @@ -4275,7 +4686,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/random_tc.ini", @@ -4301,7 +4713,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/rdelta.ini", @@ -4315,7 +4734,8 @@ { "basename_token": "sim_rdelta.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_rdelta.hal" + "linuxcnc/lib/hallib/sim_rdelta.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_rdelta.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/rdelta.ini", @@ -4329,7 +4749,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/rdelta.ini", @@ -4371,7 +4792,9 @@ { "basename_token": "sim-9axis.var", "candidate_paths": [ - "linuxcnc/configs/sim/qtvcp_screens/sim-9axis.var" + "linuxcnc/configs/sim/axis/sim-9axis.var", + "linuxcnc/configs/sim/qtvcp_screens/sim-9axis.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-9axis.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/cycle/cycle.ini", @@ -4385,7 +4808,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/cycle/cycle.ini", @@ -4399,7 +4823,8 @@ { "basename_token": "locking_indexer.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/locking_indexer.hal" + "linuxcnc/lib/hallib/locking_indexer.hal", + "web/react/dist/linuxcnc/lib/hallib/locking_indexer.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/cycle/cycle.ini", @@ -4439,7 +4864,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/extend-builtins/extend-builtins.ini", @@ -4453,7 +4885,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/extend-builtins/extend-builtins.ini", @@ -4493,7 +4926,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/getting-started/demo.ini", @@ -4507,7 +4947,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/getting-started/demo.ini", @@ -4546,7 +4987,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/manual-toolchange-with-tool-length-switch/manualtoolchange.ini", "parse_status": "missing", @@ -4559,7 +5003,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/manual-toolchange-with-tool-length-switch/manualtoolchange.ini", @@ -4598,7 +5043,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/rack-toolchange/racktoolchange.ini", "parse_status": "missing", @@ -4611,7 +5059,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/rack-toolchange/racktoolchange.ini", @@ -4651,7 +5100,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/stop-lookahead/demo.ini", @@ -4677,7 +5133,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/remap/stop-lookahead/demo.ini", @@ -4729,7 +5186,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini", @@ -4743,7 +5201,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/simtcl/twopass_basic.ini", @@ -4778,7 +5237,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/simtcl/twopass_compat.ini", @@ -4794,7 +5254,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/simtcl/twopass_compat.ini", @@ -4822,7 +5283,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/spindle_orient/orient.ini", @@ -4857,7 +5325,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/spindle_orient/orient.ini", @@ -4873,7 +5342,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/spindle_orient/orient.ini", @@ -4913,7 +5383,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/axis/twopass/twopass.ini", @@ -4948,7 +5425,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/twopass/twopass.ini", @@ -4962,7 +5440,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/twopass/twopass.ini", @@ -4978,7 +5457,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/twopass/twopass.ini", @@ -5080,7 +5560,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini", @@ -5130,7 +5611,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini", @@ -5168,7 +5650,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", @@ -5218,7 +5701,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini", @@ -5336,7 +5820,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini", @@ -5388,7 +5873,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini", @@ -5442,7 +5928,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/millturn/millturn.ini", @@ -5482,7 +5969,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/puma/puma.ini", @@ -5522,7 +6010,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini", @@ -5562,7 +6051,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/puma/puma560_uvw.ini", @@ -5602,7 +6092,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini", @@ -5666,7 +6157,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini", @@ -5735,7 +6227,8 @@ { "basename_token": "gantry_mm.tbl", "candidate_paths": [ - "linuxcnc/configs/sim/axis/gantry/gantry_mm.tbl" + "linuxcnc/configs/sim/axis/gantry/gantry_mm.tbl", + "web/react/dist/linuxcnc/configs/sim/axis/gantry/gantry_mm.tbl" ], "edge_kind": "ini:EMCIO:TOOL_TABLE", "entrypoint": "linuxcnc/configs/sim/axis/wrapped_rotary/wrapped_rotary.ini", @@ -5763,7 +6256,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout1.ini", @@ -5777,7 +6271,8 @@ { "basename_token": "xhc-hb04.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/xhc-hb04.tcl" + "linuxcnc/lib/hallib/xhc-hb04.tcl", + "web/react/dist/linuxcnc/lib/hallib/xhc-hb04.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout1.ini", @@ -5805,7 +6300,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2.ini", @@ -5819,7 +6315,8 @@ { "basename_token": "xhc-hb04.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/xhc-hb04.tcl" + "linuxcnc/lib/hallib/xhc-hb04.tcl", + "web/react/dist/linuxcnc/lib/hallib/xhc-hb04.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2.ini", @@ -5847,7 +6344,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2_mm.ini", @@ -5861,7 +6359,8 @@ { "basename_token": "xhc-hb04.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/xhc-hb04.tcl" + "linuxcnc/lib/hallib/xhc-hb04.tcl", + "web/react/dist/linuxcnc/lib/hallib/xhc-hb04.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2_mm.ini", @@ -5972,7 +6471,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/6_axis.ini", @@ -6000,7 +6506,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/7_axis.ini", @@ -6028,7 +6541,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/7_axis_tool.ini", @@ -6056,7 +6576,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/8_axis.ini", @@ -6084,7 +6611,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/9_axis.ini", @@ -6126,7 +6660,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy.ini", @@ -6166,7 +6707,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_4_axis.ini", @@ -6206,7 +6754,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini", @@ -6246,7 +6801,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAC.ini", @@ -6310,7 +6872,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZCW.ini", @@ -6350,7 +6919,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_left_panel.ini", @@ -6390,7 +6966,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_messages.ini", @@ -6430,7 +7013,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_pedant.ini", @@ -6470,7 +7060,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_plasma/gmoccapy_plasma.ini", @@ -6507,7 +7104,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_plasma/gmoccapy_plasma.ini", @@ -6547,7 +7145,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_pyngcgui.ini", @@ -6587,7 +7192,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_right_panel.ini", @@ -6627,7 +7239,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_sim_hardware_button.ini", @@ -6667,7 +7286,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_tool_sensor.ini", @@ -6707,7 +7333,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/gmoccapy_with_user_tabs.ini", @@ -6747,7 +7380,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe.ini", @@ -6799,7 +7439,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_C.ini", @@ -6851,7 +7498,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_CW.ini", @@ -6903,7 +7557,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_backtool.ini", @@ -6955,7 +7616,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_imperial.ini", @@ -7007,7 +7675,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_macros.ini", @@ -7045,7 +7720,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/Gantry/gantry_mm.ini", @@ -7111,7 +7793,8 @@ { "basename_token": "xyzac.var", "candidate_paths": [ - "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac.var" + "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac.var", + "web/react/dist/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac-trt.ini", @@ -7125,7 +7808,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac-trt.ini", @@ -7153,7 +7837,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/plasma_config/gmoccapy_plasma.ini", @@ -7190,7 +7881,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gmoccapy/plasma_config/gmoccapy_plasma.ini", @@ -7230,7 +7922,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen.ini", @@ -7265,7 +7964,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen.ini", @@ -7279,7 +7979,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen.ini", @@ -7295,7 +7996,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen.ini", @@ -7347,7 +8049,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/9axis.ini", @@ -7361,7 +8064,8 @@ { "basename_token": "locking_indexer.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/locking_indexer.hal" + "linuxcnc/lib/hallib/locking_indexer.hal", + "web/react/dist/linuxcnc/lib/hallib/locking_indexer.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/9axis.ini", @@ -7401,7 +8105,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gaxis_no_plot.ini", @@ -7436,7 +8147,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gaxis_no_plot.ini", @@ -7450,7 +8162,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gaxis_no_plot.ini", @@ -7466,7 +8179,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gaxis_no_plot.ini", @@ -7506,7 +8220,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gscreen_gaxis.ini", @@ -7541,7 +8262,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gscreen_gaxis.ini", @@ -7555,7 +8277,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gscreen_gaxis.ini", @@ -7571,7 +8294,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/gscreen_gaxis.ini", @@ -7611,7 +8335,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/industrial.ini", @@ -7646,7 +8377,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/industrial.ini", @@ -7660,7 +8392,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/industrial.ini", @@ -7676,7 +8409,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/industrial.ini", @@ -7702,7 +8436,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester.ini", @@ -7737,7 +8478,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester.ini", @@ -7751,7 +8493,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester.ini", @@ -7767,7 +8510,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester.ini", @@ -7820,7 +8564,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester_metric.ini", "parse_status": "missing", @@ -7854,7 +8601,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester_metric.ini", @@ -7868,7 +8616,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester_metric.ini", @@ -7884,7 +8633,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester_metric.ini", @@ -7945,7 +8695,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_lathe.ini", @@ -7959,7 +8716,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_lathe.ini", @@ -7998,7 +8756,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_mm.ini", "parse_status": "missing", @@ -8032,7 +8793,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_mm.ini", @@ -8046,7 +8808,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_mm.ini", @@ -8062,7 +8825,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/gscreen_mm.ini", @@ -8102,7 +8866,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/industrial_lathe_wear/industrial_lathe_wear.ini", @@ -8116,7 +8887,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/industrial_lathe_wear/industrial_lathe_wear.ini", @@ -8156,7 +8928,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen.ini", @@ -8170,7 +8949,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen.ini", @@ -8210,7 +8990,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen_popupkeyboard.ini", @@ -8224,7 +9011,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen_popupkeyboard.ini", @@ -8264,7 +9052,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/silverdragon/silverdragon.ini", @@ -8301,7 +9096,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/gscreen/silverdragon/silverdragon.ini", @@ -8340,7 +9136,10 @@ }, { "basename_token": "linuxcnc.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/corexy/linuxcnc.var", + "web/react/dist/linuxcnc/configs/sim/axis/corexy/linuxcnc.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/gscreen/spartan/spartan.ini", "parse_status": "missing", @@ -8366,7 +9165,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_bottom_panel.ini", "parse_status": "missing", @@ -8400,7 +9202,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_bottom_panel.ini", @@ -8416,7 +9219,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_bottom_panel.ini", @@ -8455,7 +9259,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_demo1.ini", "parse_status": "missing", @@ -8489,7 +9296,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_demo1.ini", @@ -8505,7 +9313,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_demo1.ini", @@ -8544,7 +9353,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_embed_tab.ini", "parse_status": "missing", @@ -8578,7 +9390,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_embed_tab.ini", @@ -8594,7 +9407,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_embed_tab.ini", @@ -8688,7 +9502,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/gantry/qt_gantry.ini", @@ -8704,7 +9525,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/gantry/qt_gantry.ini", @@ -8718,7 +9540,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/gantry/qt_gantry.ini", @@ -8733,7 +9556,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/gantry/qt_gantry.ini", @@ -8831,7 +9655,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/non-trivial/scara/scara.ini", @@ -8859,7 +9684,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/xyz/qtaxis.ini", @@ -8906,7 +9738,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/xyz/qtaxis.ini", @@ -8922,7 +9755,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtaxis/xyz/qtaxis.ini", @@ -8989,7 +9823,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini", @@ -9003,7 +9838,8 @@ { "basename_token": "simulated-xyyz-home.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/simulated-xyyz-home.hal" + "linuxcnc/lib/hallib/simulated-xyyz-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-xyyz-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini", @@ -9070,7 +9906,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzy.ini", @@ -9085,7 +9922,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzy.ini", @@ -9152,7 +9990,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzya.ini", @@ -9167,7 +10006,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzya.ini", @@ -9267,7 +10107,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_tool_probe/qtdragon_auto_tool_probe.ini", @@ -9367,7 +10208,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_inch.ini", @@ -9455,7 +10297,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_metric.ini", @@ -9510,7 +10353,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_xyza.ini", @@ -9525,7 +10369,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_xyza.ini", @@ -9592,7 +10437,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini", @@ -9607,7 +10453,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini", @@ -9797,7 +10644,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyz.ini", @@ -9864,7 +10712,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyza.ini", @@ -9879,7 +10728,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyza.ini", @@ -9946,7 +10796,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyzab.ini", @@ -10013,7 +10864,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyzac.ini", @@ -10101,7 +10953,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini", @@ -10395,7 +11248,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qttouchy/qttouchy.ini", @@ -10430,7 +11290,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qttouchy/qttouchy.ini", @@ -10446,7 +11307,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qttouchy/qttouchy.ini", @@ -10500,7 +11362,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/blender.ini", @@ -10535,7 +11404,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/blender.ini", @@ -10551,7 +11421,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/blender.ini", @@ -10603,7 +11474,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/industrial_lathe_wear/industrial_lathe_wear.ini", @@ -10617,7 +11495,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/industrial_lathe_wear/industrial_lathe_wear.ini", @@ -10727,7 +11606,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.ini", @@ -10770,7 +11650,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_800x600.ini", @@ -10805,7 +11692,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_800x600.ini", @@ -10819,7 +11707,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_800x600.ini", @@ -10835,7 +11724,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_800x600.ini", @@ -10955,7 +11845,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_gantry.ini", @@ -10971,7 +11868,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_gantry.ini", @@ -10985,7 +11883,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_gantry.ini", @@ -11000,7 +11899,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qt_gantry.ini", @@ -11040,7 +11940,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis.ini", @@ -11087,7 +11994,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis.ini", @@ -11103,7 +12011,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis.ini", @@ -11143,7 +12052,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_lathe/qtaxis_lathe.ini", @@ -11157,7 +12073,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_lathe/qtaxis_lathe.ini", @@ -11209,7 +12126,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_mpg.ini", @@ -11244,7 +12168,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_mpg.ini", @@ -11260,7 +12185,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_mpg.ini", @@ -11312,7 +12238,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault.ini", @@ -11347,7 +12280,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault.ini", @@ -11363,7 +12297,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault.ini", @@ -11415,7 +12350,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_9axis.ini", @@ -11429,7 +12365,8 @@ { "basename_token": "locking_indexer.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/locking_indexer.hal" + "linuxcnc/lib/hallib/locking_indexer.hal", + "web/react/dist/linuxcnc/lib/hallib/locking_indexer.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_9axis.ini", @@ -11535,7 +12472,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_gantry.ini", @@ -11551,7 +12495,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/qtvcp_screens/qtdragon/gantrysim.hal", "linuxcnc/configs/sim/woodpecker/gantrysim.hal", - "linuxcnc/lib/hallib/gantrysim.hal" + "linuxcnc/lib/hallib/gantrysim.hal", + "web/react/dist/linuxcnc/lib/hallib/gantrysim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_gantry.ini", @@ -11565,7 +12510,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_gantry.ini", @@ -11580,7 +12526,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_gantry.ini", @@ -11619,7 +12566,10 @@ }, { "basename_token": "sim_mm.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var", + "web/react/dist/linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_mm.ini", "parse_status": "missing", @@ -11653,7 +12603,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_mm.ini", @@ -11669,7 +12620,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_mm.ini", @@ -11774,7 +12726,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.ini", @@ -11843,7 +12796,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_auto_tool_probe.ini", @@ -11924,7 +12878,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_hd.ini", @@ -12017,7 +12972,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_inch.ini", @@ -12084,7 +13040,8 @@ { "basename_token": "simulated-xyyz-home.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/simulated-xyyz-home.hal" + "linuxcnc/lib/hallib/simulated-xyyz-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-xyyz-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyyz.ini", @@ -12165,7 +13122,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyz.ini", @@ -12245,7 +13203,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyza.ini", @@ -12325,7 +13284,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyzy.ini", @@ -12405,7 +13365,8 @@ "basename_token": "simulated-gantry-home.hal", "candidate_paths": [ "linuxcnc/configs/sim/woodpecker/simulated-gantry-home.hal", - "linuxcnc/lib/hallib/simulated-gantry-home.hal" + "linuxcnc/lib/hallib/simulated-gantry-home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated-gantry-home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyzya.ini", @@ -12445,7 +13406,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_custom/qtdefault_ngc.ini", @@ -12480,7 +13448,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_custom/qtdefault_ngc.ini", @@ -12496,7 +13465,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_custom/qtdefault_ngc.ini", @@ -12536,7 +13506,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/gremlin.ini", @@ -12571,7 +13548,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/gremlin.ini", @@ -12587,7 +13565,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/gremlin.ini", @@ -12627,7 +13606,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_gladevcp.ini", @@ -12662,7 +13648,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_gladevcp.ini", @@ -12678,7 +13665,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_gladevcp.ini", @@ -12718,7 +13706,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_ngc.ini", @@ -12753,7 +13748,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_ngc.ini", @@ -12769,7 +13765,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_ngc.ini", @@ -12809,7 +13806,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtx1mill.ini", @@ -12844,7 +13848,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtx1mill.ini", @@ -12860,7 +13865,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/qtx1mill.ini", @@ -12912,7 +13918,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/tester.ini", @@ -12947,7 +13960,8 @@ { "basename_token": "sim_spindle_encoder.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_spindle_encoder.hal" + "linuxcnc/lib/hallib/sim_spindle_encoder.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_spindle_encoder.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/tester.ini", @@ -12963,7 +13977,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/qtvcp_screens/tester.ini", @@ -13003,7 +14018,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/ldelta.ini", @@ -13017,7 +14039,8 @@ { "basename_token": "sim_ldelta.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/sim_ldelta.hal" + "linuxcnc/lib/hallib/sim_ldelta.hal", + "web/react/dist/linuxcnc/lib/hallib/sim_ldelta.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/ldelta.ini", @@ -13031,7 +14054,8 @@ { "basename_token": "axis_manualtoolchange.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/axis_manualtoolchange.hal" + "linuxcnc/lib/hallib/axis_manualtoolchange.hal", + "web/react/dist/linuxcnc/lib/hallib/axis_manualtoolchange.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/ldelta.ini", @@ -13073,7 +14097,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/servo_sim.ini", @@ -13087,7 +14118,8 @@ { "basename_token": "servo_sim.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/servo_sim.hal" + "linuxcnc/lib/hallib/servo_sim.hal", + "web/react/dist/linuxcnc/lib/hallib/servo_sim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/servo_sim.ini", @@ -13115,7 +14147,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/tklinuxcnc.ini", @@ -13218,7 +14257,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/tripod.ini", @@ -13232,7 +14278,8 @@ { "basename_token": "tripodsim.hal", "candidate_paths": [ - "linuxcnc/lib/hallib/tripodsim.hal" + "linuxcnc/lib/hallib/tripodsim.hal", + "web/react/dist/linuxcnc/lib/hallib/tripodsim.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/tklinuxcnc/tripod.ini", @@ -13246,7 +14293,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/touchy/gladevcp/gladevcp_touchy.ini", @@ -13295,7 +14349,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/touchy/gladevcp/touchy.ini", @@ -13358,7 +14419,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy.ini", @@ -13372,7 +14440,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy.ini", @@ -13399,7 +14468,14 @@ }, { "basename_token": "sim-lathe.var", - "candidate_paths": [], + "candidate_paths": [ + "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "linuxcnc/configs/sim/axis/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var", + "web/react/dist/linuxcnc/configs/sim/axis/sim-lathe.var" + ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_lathe.ini", "parse_status": "missing", @@ -13412,7 +14488,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_lathe.ini", @@ -13454,7 +14531,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_moveoff.ini", @@ -13468,7 +14552,8 @@ { "basename_token": "basic_sim.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/basic_sim.tcl" + "linuxcnc/lib/hallib/basic_sim.tcl", + "web/react/dist/linuxcnc/lib/hallib/basic_sim.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_moveoff.ini", @@ -13482,7 +14567,8 @@ { "basename_token": "hookup_moveoff.tcl", "candidate_paths": [ - "linuxcnc/lib/hallib/hookup_moveoff.tcl" + "linuxcnc/lib/hallib/hookup_moveoff.tcl", + "web/react/dist/linuxcnc/lib/hallib/hookup_moveoff.tcl" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_moveoff.ini", @@ -13496,7 +14582,14 @@ { "basename_token": "sim.var", "candidate_paths": [ - "linuxcnc/tests/abort/g64/sim.var" + "linuxcnc/configs/sim/axis/external_offsets/sim.var", + "linuxcnc/configs/sim/axis/extrajoints/sim.var", + "linuxcnc/configs/sim/axis/gantry/sim.var", + "linuxcnc/configs/sim/axis/gladevcp/sim.var", + "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var", + "linuxcnc/configs/sim/axis/ini_with_includes/sim.var", + "linuxcnc/configs/sim/axis/moveoff/sim.var", + "linuxcnc/configs/sim/axis/ngcgui/sim.var" ], "edge_kind": "ini:RS274NGC:PARAMETER_FILE", "entrypoint": "linuxcnc/configs/sim/touchy/touchy.ini", @@ -13611,7 +14704,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/woodpecker/woodpecker.ini", @@ -13679,7 +14773,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/woodpecker/woodpecker_auto_tool_probe.ini", @@ -13759,7 +14854,8 @@ "candidate_paths": [ "linuxcnc/configs/sim/gmoccapy/simulated_home.hal", "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/simulated_home.hal", - "linuxcnc/lib/hallib/simulated_home.hal" + "linuxcnc/lib/hallib/simulated_home.hal", + "web/react/dist/linuxcnc/lib/hallib/simulated_home.hal" ], "edge_kind": "ini:HAL:HALFILE", "entrypoint": "linuxcnc/configs/sim/woodpecker/woodpecker_xyz.ini", @@ -14054,7 +15150,7 @@ "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", "remediation_status": "blocked_resource_gaps", - "report_sha256": "3a0ba7fa4602a78d0e7f9ed8904ddfbbe8c27fb8636d629d8d2390cb1da8e8a5", + "report_sha256": "ae65463e25b65b7add7d7aafef30e20018a27061cfcc956b7f3d372ef978ff54", "review_policy": { "forbidden": [ "drop_missing_rows", diff --git a/coverage/configuration-startup-runtime.report.json b/coverage/configuration-startup-runtime.report.json index f1147f7..7c83eae 100644 --- a/coverage/configuration-startup-runtime.report.json +++ b/coverage/configuration-startup-runtime.report.json @@ -41,33 +41,33 @@ "status": "present" }, { - "bytes": 5036, + "bytes": 6043, "path": "web/workspace/ini-parser.mjs", "role": "ini_parser", - "sha256": "e7b1cd12773f0c3e92cf76c0021e43888d586a475900c4acfa4234bbee4fdea6", + "sha256": "f1acee4f0002146f107ad0fcf997e85b65c484b1db5e3e9b4dad2a1fdb88b10c", "status": "present" }, { - "bytes": 4870, + "bytes": 9260, "path": "web/workspace/resource-resolver.mjs", "role": "resource_resolver", - "sha256": "8578c373390445b943f362e2e8725f53537c9a94b028f45d25b6c8f25968f0d2", + "sha256": "e7b18c4920723862de05ab5e77181b838156abb4c8259f16c173309471435fe6", "status": "present" }, { "bytes": 4116, "path": "coverage/resource-resolver.report.json", "role": "resolver_report", - "sha256": "80a182192c7b710d2d8eab9536dfdc44538ee87414a020a17cb93a4b5f708e27", + "sha256": "b49bb37483437ffd80af56ed524a92fe83ab28de94238f32570cb4cd85e18b55", "status": "present" } ], "entrypoints": [ { "entrypoint": "config/main.ini", - "resource_graph_hash": "fnv1a64:bfdf8ef907916bcd", + "resource_graph_hash": "fnv1a64:05c778ded69fb8e2", "state": "TASK_READY", - "state_hash": "fnv1a64:4aec15fc6ce0ca11", + "state_hash": "fnv1a64:0181097fa846342d", "status": "READY" }, { @@ -114,37 +114,37 @@ ], "outputs": [ { - "bytes": 10750, + "bytes": 12357, "path": "web/workspace/configuration-startup.mjs", "role": "startup_state_machine", - "sha256": "31f7ea442a320df735376811b0ebbf813f05c8212d9ddb6e70146850fa75f84b", + "sha256": "07c967acf84bd084f97b5d1a818294269eec68603caeee7694859f49bf11d7be", "status": "present" }, { - "bytes": 54158, + "bytes": 57994, "path": "web/worker/sim-session.mjs", "role": "worker_integration", - "sha256": "7740507c712d262be2b0483febf43bbd5af23810b60cd2887fff0e70ec5129f0", + "sha256": "47c0918797b6a60ed72dce6014fb3f365f620e31be34d8d66f5311971dbe16fd", "status": "present" }, { - "bytes": 5624, + "bytes": 6102, "path": "web/worker/test_configuration_startup_runtime.mjs", "role": "worker_test", - "sha256": "eaed8d84d648f589ec11d785d8cf84476723edcd97d77eff0fff460b425d5f5c", + "sha256": "2a6738cabddea5dc6cb795f93250c71509765c746a588f5151d5b2a3082b8c9e", "status": "present" } ], "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "8b1c8d67a41dfb9841b36ef67a0c188f67b502336c9866dba13680e19617903c", + "report_sha256": "daa8bc91017fe4a64487d8b89f5bd379adb87597570f287832c9d60b650c06d1", "schema": "configuration-startup-runtime-report.v1", "startup_observation": { - "resource_graph_hash": "fnv1a64:bfdf8ef907916bcd", - "state_hash": "fnv1a64:4aec15fc6ce0ca11", + "resource_graph_hash": "fnv1a64:05c778ded69fb8e2", + "state_hash": "fnv1a64:0181097fa846342d", "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "stdout_sha256": "0cdc5e8bf5cc411200027118fe3bef3d172aef0fc305dcc898822635b768f516" + "stdout_sha256": "f16a32ff78ac0c48c7070d76f9b950b1b1a061c6f9c5cb6a128741a96f9f6e20" }, "startup_schema": "configuration-startup-runtime.v1", "states": [ @@ -217,14 +217,14 @@ "exit_code": 0, "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "stdout_sha256": "0cdc5e8bf5cc411200027118fe3bef3d172aef0fc305dcc898822635b768f516" + "stdout_sha256": "f16a32ff78ac0c48c7070d76f9b950b1b1a061c6f9c5cb6a128741a96f9f6e20" }, "runs": 2, "second": { "exit_code": 0, "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "stdout_sha256": "0cdc5e8bf5cc411200027118fe3bef3d172aef0fc305dcc898822635b768f516" + "stdout_sha256": "f16a32ff78ac0c48c7070d76f9b950b1b1a061c6f9c5cb6a128741a96f9f6e20" }, "status": "passed" } diff --git a/coverage/frontend-m1.report.json b/coverage/frontend-m1.report.json index 1580abc..7f5fb1d 100644 --- a/coverage/frontend-m1.report.json +++ b/coverage/frontend-m1.report.json @@ -25,10 +25,10 @@ "status": "present" }, { - "bytes": 8105, + "bytes": 16777, "path": "web/app/app.mjs", "role": "frontend_source", - "sha256": "029534f14dd2efa218390a05ba978193806f03394a860329555efe6b3aca1d42", + "sha256": "5ae3c3df053383f5ae3242aba20c2c8818b04639868e96514955bd1a760ec2ef", "status": "present" }, { @@ -39,17 +39,17 @@ "status": "present" }, { - "bytes": 3133, + "bytes": 2731, "path": "web/app/styles.css", "role": "frontend_source", - "sha256": "e87cc8574a685fe00fa374bd231c092b547b2e7a87947d89a3a30d5bf98a6856", + "sha256": "46bbe2246271ff56922a2765d921be9ca26c701e5579106ca1cad8538b065fd8", "status": "present" }, { - "bytes": 2064, + "bytes": 2167, "path": "web/app/test_frontend_m1.mjs", "role": "frontend_source", - "sha256": "88bbeeadb79a72bb6b6a9560b07de464e9b562e65451428624f2c4fa9d9a368b", + "sha256": "f1160fa3da783dc3626c3e932c3c6bc05fbff31da89e03616b7c7b74c5806041", "status": "present" } ], @@ -73,21 +73,21 @@ "bytes": 4914, "path": "coverage/python-worker-bridge.report.json", "role": "python_worker_bridge", - "sha256": "7833c9ab6df1bdccfc2f8cf5304826ed7ef675653cbbd092c2f235986e2ec61d", + "sha256": "a64ee36839ba9c984c8eea17e48cf6f8925ed46ddbc630814509b4c14abf5029", "status": "present" }, { "bytes": 3685, "path": "coverage/workspace-session-integration.report.json", "role": "workspace_session_integration", - "sha256": "92f571fff86f378726ea4009ab40c80b3a0fbdf36f7794f65031b18598e2bf89", + "sha256": "5453cb84385cdd24d85cd2a4096aae2bdb78f00d08f0e2cdb99288ca56c30c9c", "status": "present" }, { "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" } ], @@ -101,10 +101,10 @@ "status": "present" }, { - "bytes": 8105, + "bytes": 16777, "path": "web/app/app.mjs", "role": "frontend_source", - "sha256": "029534f14dd2efa218390a05ba978193806f03394a860329555efe6b3aca1d42", + "sha256": "5ae3c3df053383f5ae3242aba20c2c8818b04639868e96514955bd1a760ec2ef", "status": "present" }, { @@ -115,22 +115,22 @@ "status": "present" }, { - "bytes": 3133, + "bytes": 2731, "path": "web/app/styles.css", "role": "frontend_source", - "sha256": "e87cc8574a685fe00fa374bd231c092b547b2e7a87947d89a3a30d5bf98a6856", + "sha256": "46bbe2246271ff56922a2765d921be9ca26c701e5579106ca1cad8538b065fd8", "status": "present" }, { - "bytes": 2064, + "bytes": 2167, "path": "web/app/test_frontend_m1.mjs", "role": "frontend_source", - "sha256": "88bbeeadb79a72bb6b6a9560b07de464e9b562e65451428624f2c4fa9d9a368b", + "sha256": "f1160fa3da783dc3626c3e932c3c6bc05fbff31da89e03616b7c7b74c5806041", "status": "present" } ], "release_action": "STOP_RELEASE", - "report_sha256": "dbe633bea85b155e52f126cbb1feb5aaa19f5248bf26a17200315f94ad00c7b3", + "report_sha256": "1d314542f4312efc5b7d821685f9d3f1d9b7778f9eea857a5441313eab01db1c", "schema": "frontend-m1.v1", "smoke": { "exit_code": 0, diff --git a/coverage/frontend-m2.report.json b/coverage/frontend-m2.report.json index 1445f39..b16ede0 100644 --- a/coverage/frontend-m2.report.json +++ b/coverage/frontend-m2.report.json @@ -45,24 +45,24 @@ "status": "present" }, { - "bytes": 4468, + "bytes": 4470, "path": "coverage/frontend-m1.report.json", "role": "frontend_m1", - "sha256": "632637f904164182140010f092546b1e9e860eb8a9b6bdfcb65f2777a4fe0e64", + "sha256": "52f285d35c83121baa0e63214c5a16907158fdc42f246815d22c3497e89ee4a3", "status": "present" }, { "bytes": 11813, "path": "coverage/virtual-device-fault-matrix.report.json", "role": "virtual_device_fault_matrix", - "sha256": "40e3e8d0f7facc5167930ae03410b0437920e4927b720cae6fff74fc6e82732f", + "sha256": "6cad7235733178f045b7dda3be16b5ebac003e91b2b9709494a85da06b3cf11b", "status": "present" }, { "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" } ], @@ -76,24 +76,24 @@ "status": "present" }, { - "bytes": 4304, + "bytes": 5083, "path": "web/app/state-panel.mjs", "role": "frontend_source", - "sha256": "37bca21adf673ae04209f9defb6407dbbcf4e8cd967b8a6dd71fd899f9e352d2", + "sha256": "87f6dcfd4eef347bbedf73dbf88575db1974fce1e6f980212d62f0830c040699", "status": "present" }, { - "bytes": 8105, + "bytes": 16777, "path": "web/app/app.mjs", "role": "frontend_source", - "sha256": "029534f14dd2efa218390a05ba978193806f03394a860329555efe6b3aca1d42", + "sha256": "5ae3c3df053383f5ae3242aba20c2c8818b04639868e96514955bd1a760ec2ef", "status": "present" }, { - "bytes": 3133, + "bytes": 2731, "path": "web/app/styles.css", "role": "frontend_source", - "sha256": "e87cc8574a685fe00fa374bd231c092b547b2e7a87947d89a3a30d5bf98a6856", + "sha256": "46bbe2246271ff56922a2765d921be9ca26c701e5579106ca1cad8538b065fd8", "status": "present" }, { @@ -105,7 +105,7 @@ } ], "release_action": "STOP_RELEASE", - "report_sha256": "9e20129559e077993830e58c6a88d34347b5bb178ad42de1cf6bf3d969889cc7", + "report_sha256": "add0bf61f66878b2cf3104cce4d1ece6f5d753028dca8833d951a9c6c501903e", "schema": "frontend-m2.v1", "smoke": { "exit_code": 0, diff --git a/coverage/frontend-m3.report.json b/coverage/frontend-m3.report.json index 50df4fd..89fb793 100644 --- a/coverage/frontend-m3.report.json +++ b/coverage/frontend-m3.report.json @@ -36,24 +36,24 @@ "status": "present" }, { - "bytes": 3416, + "bytes": 3417, "path": "coverage/frontend-m2.report.json", "role": "frontend_m2", - "sha256": "88e3ba635335da23e22d0b7b485c6b4195528de4dab1a98005609b0c837841db", + "sha256": "154a65bef62e48edee41fd7c30fecf6e70c915089ef09b136d9f3a12ce4e9dfe", "status": "present" }, { "bytes": 3685, "path": "coverage/workspace-session-integration.report.json", "role": "workspace_session_integration", - "sha256": "92f571fff86f378726ea4009ab40c80b3a0fbdf36f7794f65031b18598e2bf89", + "sha256": "5453cb84385cdd24d85cd2a4096aae2bdb78f00d08f0e2cdb99288ca56c30c9c", "status": "present" }, { "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" } ], @@ -74,10 +74,10 @@ "status": "present" }, { - "bytes": 8105, + "bytes": 16777, "path": "web/app/app.mjs", "role": "frontend_source", - "sha256": "029534f14dd2efa218390a05ba978193806f03394a860329555efe6b3aca1d42", + "sha256": "5ae3c3df053383f5ae3242aba20c2c8818b04639868e96514955bd1a760ec2ef", "status": "present" }, { @@ -89,7 +89,7 @@ } ], "release_action": "STOP_RELEASE", - "report_sha256": "d12aa2f0626d2e2353f3f03737eb800a7d2531039e3932d4710811a4f90d6e96", + "report_sha256": "7c94f2804d91abc6869e5befb90f574677ef68670cac868ed4c577b16abcd96f", "schema": "frontend-m3.v1", "smoke": { "exit_code": 0, diff --git a/coverage/frontend-m4.report.json b/coverage/frontend-m4.report.json index 32653ba..e7cc89e 100644 --- a/coverage/frontend-m4.report.json +++ b/coverage/frontend-m4.report.json @@ -36,41 +36,41 @@ "status": "present" }, { - "bytes": 3059, + "bytes": 3060, "path": "coverage/frontend-m3.report.json", "role": "frontend_m3", - "sha256": "af37ac9dfdf692b1036e62d9e94bdc7d5855667f4db18eae87537ff41fc94c90", + "sha256": "ab1d182bbf57ad2474dac56751937b2ca4de2326a26b9652709b50785666379b", "status": "present" }, { "bytes": 2535591, "path": "coverage/hal-component-manifest.report.json", "role": "hal_component_manifest", - "sha256": "d28deea84e03c71bd137825695fc1adf6d8af37fc8b8a74fe8e68105a193cd4b", + "sha256": "bef0cb643203ac6ef239d0d5c975ef4d2b30902d09a77c1a3103f7983ee2f5a6", "status": "present" }, { "bytes": 11813, "path": "coverage/virtual-device-fault-matrix.report.json", "role": "virtual_device_fault_matrix", - "sha256": "40e3e8d0f7facc5167930ae03410b0437920e4927b720cae6fff74fc6e82732f", + "sha256": "6cad7235733178f045b7dda3be16b5ebac003e91b2b9709494a85da06b3cf11b", "status": "present" }, { "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" } ], "next_transition": "execute REG-01 full configuration startup matrix", "outputs": [ { - "bytes": 1318, + "bytes": 1587, "path": "web/app/device-panel.mjs", "role": "frontend_source", - "sha256": "df54448017ae50455b3a96642bd6904678509cf14b49288e53b059699188a856", + "sha256": "43a4144e75a3d489d9b54c5f135db0bc4608cac5f45b6d5346a56d9ef545e03c", "status": "present" }, { @@ -96,7 +96,7 @@ } ], "release_action": "STOP_RELEASE", - "report_sha256": "39995ee2f5cea423315a572b0cb3d122c8e400793f868a7e74bf2d42c6cf25e2", + "report_sha256": "6f71305c15d3e1d8391c66e17d7c1704af64741f0cb2f11552f88d6b707993f8", "schema": "frontend-m4.v1", "smoke": { "exit_code": 0, diff --git a/coverage/full-case-acceptance-s8-10.report.json b/coverage/full-case-acceptance-s8-10.report.json index c6ab246..c51cef9 100644 --- a/coverage/full-case-acceptance-s8-10.report.json +++ b/coverage/full-case-acceptance-s8-10.report.json @@ -2,7 +2,7 @@ "acceptance_status": "blocked", "blockers": [ { - "count": 225, + "count": 140, "id": "remaining_case_blockers", "reason": "235-case startup matrix retains resource/HAL/INI/STARTUP blockers; blocked rows are not promoted", "status": "blocked" @@ -30,7 +30,7 @@ "acceptance_blockers_retained": { "blockers": [ { - "count": 225, + "count": 140, "id": "remaining_case_blockers", "reason": "235-case startup matrix retains resource/HAL/INI/STARTUP blockers; blocked rows are not promoted", "status": "blocked" @@ -51,9 +51,9 @@ "status": "verified" }, "case_matrix_aggregated": { - "blocked": 225, + "blocked": 140, "cases": 235, - "ready": 10, + "ready": 95, "status": "verified" }, "context_consistency": { @@ -82,16 +82,16 @@ "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "coverage": { "case_matrix": { - "blocked": 225, + "blocked": 140, "case_count": 235, "counts": { - "BLOCKED_HAL": 4, - "BLOCKED_INI": 3, - "BLOCKED_RESOURCE": 216, - "BLOCKED_STARTUP": 2, - "TASK_READY": 10 + "BLOCKED_HAL": 106, + "BLOCKED_INI": 19, + "BLOCKED_RESOURCE": 12, + "BLOCKED_STARTUP": 3, + "TASK_READY": 95 }, - "ready": 10, + "ready": 95, "status": "verified" }, "display_families": { @@ -131,12 +131,12 @@ "status": "present" }, { - "bytes": 186147, + "bytes": 297881, "implementation_status": "verified", "path": "coverage/sim-case-matrix-s8-06.report.json", "role": "case_matrix", "schema": "sim-case-matrix-s8-06-report.v1", - "sha256": "010b00aea1f37f1f91572d1618f455ed08a886aaca2b09f26fbde7b0fb545ff6", + "sha256": "40a657b0e046373515a8929e321ce515a26a0c6a805a5e3ce6734262877d83ac", "status": "verified", "task_id": "S8-06" }, @@ -189,11 +189,11 @@ "task_id": "P8-01" }, { - "bytes": 6340, + "bytes": 6180, "path": "coverage/browser-matrix-remediation.report.json", "role": "browser_matrix", "schema": "browser-matrix-remediation.v1", - "sha256": "1ba374b8ebfcdabe5363c519011ae73a6535a5e5643149810ac0279a955896a5", + "sha256": "8eacc6c6e168df19fc2082c1788ce3e5c025e9b528cccc0c5dcf62a84a8664d7", "status": "complete", "task_id": "K8-REL-12" }, @@ -313,8 +313,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "57a96da8599a37eeb484ba222964286dc7ebdf706cbdd768a0bb1d6477fc49f5", - "stdout_tail": "{\"schema\":\"configuration-batch-s2-sample.v1\",\"status\":\"verified\",\"total\":264,\"ready\":56,\"blocked\":208,\"batch_hash\":\"fnv1a64:8e61897622fda66f\",\"native_state_hash\":\"fnv1a64:4aec15fc6ce0ca11\",\"wasm_state_hash\":\"fnv1a64:4aec15fc6ce0ca11\",\"worker_hash\":\"fnv1a64:152b83c479037715\",\"checkpoint_hash\":\"fnv1a64:0db2aa6e935a9fe0\"}\n" + "stdout_sha256": "4eefbe39896d980f89864e3d0eb52746cf8095c6963c34b9a7db10745a16064f", + "stdout_tail": "{\"schema\":\"configuration-batch-s2-sample.v1\",\"status\":\"verified\",\"total\":264,\"ready\":56,\"blocked\":208,\"batch_hash\":\"fnv1a64:8e61897622fda66f\",\"native_state_hash\":\"fnv1a64:0181097fa846342d\",\"wasm_state_hash\":\"fnv1a64:0181097fa846342d\",\"worker_hash\":\"fnv1a64:152b83c479037715\",\"checkpoint_hash\":\"fnv1a64:0db2aa6e935a9fe0\"}\n" }, { "command": [ @@ -326,8 +326,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "61d8a36e898b55e0fe8ef8bbd33617056711dc027d4cb2a365b1ef9042777237", - "stdout_tail": "{\"schema\":\"configuration-corexy-s7-05-sample.v1\",\"status\":\"verified\",\"entrypoint\":\"linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini\",\"include_graph\":[\"linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini\",\"linuxcnc/configs/sim/axis/corexy/corexy_base.inc\"],\"hal_preflight\":{\"status\":\"ready\",\"record_count\":72,\"blocked_count\":0},\"runtime_startup\":{\"status\":\"blocked\",\"state\":\"BLOCKED\",\"blocked_resources\":[\"linuxcnc/configs/sim/axis/corexy/linuxcnc.var\",\"linuxcnc/configs/sim/axis/corexy/tool.tbl\"],\"state_hash\":\"fnv1a64:108a2d7be9d26549\"},\"boundaries\":[\"static HAL preflight is verified\",\"runtime remains BLOCKED on missing linuxcnc.var/tool.tbl\",\"no resource substitution or READY promotion is fabricated\"]}\n" + "stdout_sha256": "29dea60c2a6741aa92259bbea8019c64690fcfe6f7dc6f77e5622191a3a35c81", + "stdout_tail": "{\"schema\":\"configuration-corexy-s7-05-sample.v1\",\"status\":\"verified\",\"entrypoint\":\"linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini\",\"include_graph\":[\"linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini\",\"linuxcnc/configs/sim/axis/corexy/corexy_base.inc\"],\"hal_preflight\":{\"status\":\"ready\",\"record_count\":72,\"blocked_count\":0},\"runtime_startup\":{\"status\":\"ready\",\"state\":\"TASK_READY\",\"generated_resources\":[\"linuxcnc/configs/sim/axis/corexy/linuxcnc.var\",\"linuxcnc/configs/sim/axis/corexy/tool.tbl\"],\"state_hash\":\"fnv1a64:d3e31a8e7bd69348\"},\"boundaries\":[\"static HAL preflight is verified\",\"missing parameter/tool files are materialized at their exact configured paths\",\"no basename substitution is fabricated\"]}\n" }, { "command": [ @@ -352,8 +352,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "0cdc5e8bf5cc411200027118fe3bef3d172aef0fc305dcc898822635b768f516", - "stdout_tail": "configuration_startup_runtime=passed state_hash=fnv1a64:4aec15fc6ce0ca11 resource_hash=fnv1a64:bfdf8ef907916bcd\n" + "stdout_sha256": "f16a32ff78ac0c48c7070d76f9b950b1b1a061c6f9c5cb6a128741a96f9f6e20", + "stdout_tail": "configuration_startup_runtime=passed state_hash=fnv1a64:0181097fa846342d resource_hash=fnv1a64:05c778ded69fb8e2\n" }, { "command": [ @@ -378,8 +378,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "d6cf4e28ae1a1eb8c793e77c024c556cf7c70a05f7987cbf285c518d041e4d86", - "stdout_tail": "ef1346aa8381fbf\"},\"checkpoint_hash\":\"fnv1a64:0588a94071a3124a\"},{\"path\":\"linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini\",\"mode\":\"hal\",\"joints\":[6,2,3],\"endpoint_hash\":\"fnv1a64:ffc1d01c492a66c8\",\"hal_records\":100,\"mode_parity\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:ffc1d01c492a66c8\",\"actual_hash\":\"fnv1a64:ffc1d01c492a66c8\"},\"recovery\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:eef1346aa8381fbf\",\"actual_hash\":\"fnv1a64:eef1346aa8381fbf\"},\"checkpoint_hash\":\"fnv1a64:2229c5fa57f2571d\"}],\"distinction\":{\"kins\":\"corexykins homes motor joints directly\",\"hal\":\"trivkins + corexy_by_hal routes Cartesian commands through alpha/beta HAL transform\"},\"boundary\":\"native/WASM corexy HAL formula oracle remains separately source-verified; other case families remain queued\"}\n" + "stdout_sha256": "425fe6538f1755be1090462044a912f61c3bf9662e046b2e4f7293aef5a2bfd8", + "stdout_tail": "ef1346aa8381fbf\"},\"checkpoint_hash\":\"fnv1a64:b222d6f4e9de3a6c\"},{\"path\":\"linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini\",\"mode\":\"hal\",\"joints\":[6,2,3],\"endpoint_hash\":\"fnv1a64:ffc1d01c492a66c8\",\"hal_records\":100,\"mode_parity\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:ffc1d01c492a66c8\",\"actual_hash\":\"fnv1a64:ffc1d01c492a66c8\"},\"recovery\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:eef1346aa8381fbf\",\"actual_hash\":\"fnv1a64:eef1346aa8381fbf\"},\"checkpoint_hash\":\"fnv1a64:0815c73f9565dba6\"}],\"distinction\":{\"kins\":\"corexykins homes motor joints directly\",\"hal\":\"trivkins + corexy_by_hal routes Cartesian commands through alpha/beta HAL transform\"},\"boundary\":\"native/WASM corexy HAL formula oracle remains separately source-verified; other case families remain queued\"}\n" }, { "command": [ @@ -495,8 +495,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "7abb856f6e5c1d27883e8230f8193a7cbff7f8a7795ac103f3de29ce57aa38e2", - "stdout_tail": "ash\":\"fnv1a64:81a5b31c84a8448f\"},\"checkpoint_hash\":\"fnv1a64:e707ac9e3ffac347\",\"fast_endpoint_hash\":\"fnv1a64:900a74795f5ed908\"},{\"path\":\"linuxcnc/configs/sim/axis/rdelta.ini\",\"type\":\"rotarydelta\",\"startup\":\"TASK_READY\",\"joints\":[10.000000000717074,10.000000000717074,10.000000000717074],\"endpoint_hash\":\"fnv1a64:8a7036de80c3e018\",\"mode_parity\":{\"equal\":true,\"expected_hash\":\"fnv1a64:8a7036de80c3e018\",\"actual_hash\":\"fnv1a64:8a7036de80c3e018\"},\"recovery\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:9d2824fd7d1e3a07\",\"actual_hash\":\"fnv1a64:9d2824fd7d1e3a07\"},\"checkpoint_hash\":\"fnv1a64:8b1d429af4f0d2ae\",\"fast_endpoint_hash\":\"fnv1a64:8a7036de80c3e018\"}],\"boundary\":\"Delta lineardelta/rotarydelta only; official kinematics oracle remains separately blocked; other machine families queued\"}\n" + "stdout_sha256": "52347a59adda31e23fefc60b458a1363edb8349d0711d8fd740afee6a0c68f6e", + "stdout_tail": "ash\":\"fnv1a64:81a5b31c84a8448f\"},\"checkpoint_hash\":\"fnv1a64:ad6882e8f5aa3f63\",\"fast_endpoint_hash\":\"fnv1a64:900a74795f5ed908\"},{\"path\":\"linuxcnc/configs/sim/axis/rdelta.ini\",\"type\":\"rotarydelta\",\"startup\":\"TASK_READY\",\"joints\":[10.000000000717074,10.000000000717074,10.000000000717074],\"endpoint_hash\":\"fnv1a64:8a7036de80c3e018\",\"mode_parity\":{\"equal\":true,\"expected_hash\":\"fnv1a64:8a7036de80c3e018\",\"actual_hash\":\"fnv1a64:8a7036de80c3e018\"},\"recovery\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:9d2824fd7d1e3a07\",\"actual_hash\":\"fnv1a64:9d2824fd7d1e3a07\"},\"checkpoint_hash\":\"fnv1a64:686cb2e861c384e4\",\"fast_endpoint_hash\":\"fnv1a64:8a7036de80c3e018\"}],\"boundary\":\"Delta lineardelta/rotarydelta only; official kinematics oracle remains separately blocked; other machine families queued\"}\n" }, { "command": [ @@ -508,8 +508,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "116150a1d54bf879ebd83cfeafc83f253dd3c40736889de045089a7287e78631", - "stdout_tail": "{\"schema\":\"minimal-xyz-vertical-s8-04-sample.v1\",\"status\":\"verified\",\"case\":\"linuxcnc/configs/sim/axis/minimal_xyz.ini\",\"startup_state\":\"TASK_READY\",\"jog\":{\"tick\":10,\"x\":0.020000000000000004},\"override\":{\"feed\":0.5,\"spindle\":1.2},\"program\":{\"status\":\"completed\",\"line\":5,\"mdi\":\"verified\"},\"recovery\":{\"status\":\"recovered\",\"parity\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:b28f69a38b7079a5\",\"actual_hash\":\"fnv1a64:b28f69a38b7079a5\"}},\"estop\":{\"blocked_code\":\"sim_io_estop\",\"recovered\":\"READY\"},\"endpoint_hash\":\"fnv1a64:b28f69a38b7079a5\",\"checkpoint_hash\":\"fnv1a64:4fcbfaed8c9ee75e\"}\n" + "stdout_sha256": "2464cf8490e8949613032d56bbc76e9581ec95d2835f90a6f200adc694d3307c", + "stdout_tail": "{\"schema\":\"minimal-xyz-vertical-s8-04-sample.v1\",\"status\":\"verified\",\"case\":\"linuxcnc/configs/sim/axis/minimal_xyz.ini\",\"startup_state\":\"TASK_READY\",\"jog\":{\"tick\":10,\"x\":0.020000000000000004},\"override\":{\"feed\":0.5,\"spindle\":1.2},\"program\":{\"status\":\"completed\",\"line\":5,\"mdi\":\"verified\"},\"recovery\":{\"status\":\"recovered\",\"parity\":{\"equal\":true,\"difference\":null,\"expected_hash\":\"fnv1a64:b28f69a38b7079a5\",\"actual_hash\":\"fnv1a64:b28f69a38b7079a5\"}},\"estop\":{\"blocked_code\":\"sim_io_estop\",\"recovered\":\"READY\"},\"endpoint_hash\":\"fnv1a64:b28f69a38b7079a5\",\"checkpoint_hash\":\"fnv1a64:0d1d5fb6bfb2bcca\"}\n" }, { "command": [ @@ -664,8 +664,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "a00f52be956390d89116a0b3256a2ee16a3407e23dd025698000d8cdce33e13e", - "stdout_tail": "ild_INI.py\",\"statement\":\"print(\\\"INTRO_GRAPHIC = linuxcnc.gif\\\", file=file)\",\"sha256\":\"487639b7fdc52127b13076a81eb0f1a599f527051011d798b19339487fe230f2\"},\"resource\":{\"type\":\"image\",\"path\":\"linuxcnc/linuxcnc.gif\",\"bytes\":11,\"asset_sha256\":\"6c6da4afc3ecdc1b812dd6878318da0120996bd6889b4dd2ddb480b905d9f4b1\",\"data_hash\":\"fnv1a64:074f2812443c9d8f\"},\"resource_graph\":{\"state_hash\":\"fnv1a64:754149e575838554\",\"repeated_state_hash\":\"fnv1a64:754149e575838554\",\"deterministic\":true},\"wrong_key\":{\"status\":\"blocked\",\"code\":\"resource_missing\",\"type\":\"tool_table\"},\"wrong_section\":{\"status\":\"blocked\",\"code\":\"resource_missing\",\"type\":\"image\"},\"boundaries\":[\"only DISPLAY.INTRO_GRAPHIC linuxcnc.gif uses the canonical shared asset\",\"generic basename and tool/parameter/HAL/program substitution remains blocked\"]}\n" + "stdout_sha256": "9aa66803c98251ee4bae2c7215a6a673a78530e4d7bda0be92e4114366e0a47a", + "stdout_tail": "ild_INI.py\",\"statement\":\"print(\\\"INTRO_GRAPHIC = linuxcnc.gif\\\", file=file)\",\"sha256\":\"487639b7fdc52127b13076a81eb0f1a599f527051011d798b19339487fe230f2\"},\"resource\":{\"type\":\"image\",\"path\":\"linuxcnc/linuxcnc.gif\",\"bytes\":11,\"asset_sha256\":\"6c6da4afc3ecdc1b812dd6878318da0120996bd6889b4dd2ddb480b905d9f4b1\",\"data_hash\":\"fnv1a64:074f2812443c9d8f\"},\"resource_graph\":{\"state_hash\":\"fnv1a64:1842a65975649a25\",\"repeated_state_hash\":\"fnv1a64:1842a65975649a25\",\"deterministic\":true},\"wrong_key\":{\"status\":\"blocked\",\"code\":\"resource_missing\",\"type\":\"tool_table\"},\"wrong_section\":{\"status\":\"blocked\",\"code\":\"resource_missing\",\"type\":\"image\"},\"boundaries\":[\"only DISPLAY.INTRO_GRAPHIC linuxcnc.gif uses the canonical shared asset\",\"generic basename and tool/parameter/HAL/program substitution remains blocked\"]}\n" }, { "command": [ @@ -677,8 +677,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "6914e071ac172f5f7eabd1703fb830d5b5bec3c65f4ed8388644974c64739d3e", - "stdout_tail": "resource_resolver=passed resolved=7 blocked=0 state_hash=fnv1a64:ecfa944f62553aef\n" + "stdout_sha256": "bc37c2f01580bc4adb8e8288fb7ed038b55c45114278888928eb674728049d72", + "stdout_tail": "resource_resolver=passed resolved=7 blocked=0 state_hash=fnv1a64:3f3a016998337082\n" }, { "command": [ @@ -703,8 +703,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "f4380e2b396993afdf53abc2d45259cdd3c1c7ebf817a97c8e7e609816bc02f2", - "stdout_tail": "ash\":\"fnv1a64:ac6bb635f7de1e65\",\"startup_hash\":\"fnv1a64:56f596c8fa411397\",\"generated_hal\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_cmds.hal\"},{\"path\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both.ini\",\"state\":\"TASK_READY\",\"loader_hash\":\"fnv1a64:21e84877bb4577bf\",\"startup_hash\":\"fnv1a64:75503e90f7838c58\",\"generated_hal\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_cmds.hal\"},{\"path\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto.ini\",\"state\":\"TASK_READY\",\"loader_hash\":\"fnv1a64:6998a2e084e48833\",\"startup_hash\":\"fnv1a64:1360a74237b2e63d\",\"generated_hal\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto_cmds.hal\"}],\"fixture_policy\":\"user-authorized-runtime-copy\",\"boundary\":\"XZ identity/BOTH/AUTO cases share exact xz.var and xz.tbl inputs; unrelated cases remain outside this batch\"}\n" + "stdout_sha256": "ffa1c661b43a983806fd7b54f5b23f522b145642f62947043c4272ef94bc6c6f", + "stdout_tail": "ash\":\"fnv1a64:a4ab68a146862e0b\",\"startup_hash\":\"fnv1a64:44094ec5ccb824dc\",\"generated_hal\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_cmds.hal\"},{\"path\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both.ini\",\"state\":\"TASK_READY\",\"loader_hash\":\"fnv1a64:a98e33012b17653d\",\"startup_hash\":\"fnv1a64:dfb0daf3ee7e0870\",\"generated_hal\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_cmds.hal\"},{\"path\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto.ini\",\"state\":\"TASK_READY\",\"loader_hash\":\"fnv1a64:df19f8a145f1489d\",\"startup_hash\":\"fnv1a64:6377e82e4920afd8\",\"generated_hal\":\"linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto_cmds.hal\"}],\"fixture_policy\":\"user-authorized-runtime-copy\",\"boundary\":\"XZ identity/BOTH/AUTO cases share exact xz.var and xz.tbl inputs; unrelated cases remain outside this batch\"}\n" }, { "command": [ @@ -716,8 +716,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "97f0832720fa09c0ef9422856a351d6781533dfcf4b937c1ce4a3a035f1fca40", - "stdout_tail": "/configs/sim/woodpecker/woodpecker.var\"],\"runtime_fixtures\":[],\"loader_state_hash\":\"fnv1a64:0c48bf05deed6d6c\",\"startup_state\":\"BLOCKED\",\"startup_state_hash\":null,\"resource_blocked_count\":null,\"hal_record_count\":null,\"hal_blocked_count\":null,\"first_diagnostic\":null},{\"path\":\"linuxcnc/configs/sim/woodpecker/woodpecker.ini\",\"source_sha256\":\"1948487bf44a5c7d5b32186a6b9f330d55cb61bbab55da4a5834f95439cc0deb\",\"static_status\":\"blocked\",\"loader_status\":\"blocked\",\"classification\":\"BLOCKED_RESOURCE\",\"fetched_count\":6,\"missing\":[\"linuxcnc/configs/sim/woodpecker/woodpecker.var\"],\"runtime_fixtures\":[],\"loader_state_hash\":\"fnv1a64:7d91ff39528b18f1\",\"startup_state\":\"BLOCKED\",\"startup_state_hash\":null,\"resource_blocked_count\":null,\"hal_record_count\":null,\"hal_blocked_count\":null,\"first_diagnostic\":null}]}\n" + "stdout_sha256": "a34cde732106bf9042852e7c386e5714a3a752bde0c30ad55141d431d498b343", + "stdout_tail": "th\":\"linuxcnc/configs/sim/woodpecker/woodpecker.ini\",\"source_sha256\":\"1948487bf44a5c7d5b32186a6b9f330d55cb61bbab55da4a5834f95439cc0deb\",\"static_status\":\"blocked\",\"loader_status\":\"ready\",\"classification\":\"TASK_READY\",\"fetched_count\":6,\"missing\":[],\"runtime_fixtures\":[{\"case_path\":\"linuxcnc/configs/sim/woodpecker/woodpecker.ini\",\"resource_path\":\"linuxcnc/configs/sim/woodpecker/woodpecker.var\",\"key\":\"PARAMETER_FILE\",\"kind\":\"parameter_file\",\"reason\":\"LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit\",\"data_hash\":\"fnv1a64:14650fb0739d0383\"}],\"loader_state_hash\":\"fnv1a64:871dd4be4f95f9ce\",\"startup_state\":\"TASK_READY\",\"startup_state_hash\":\"fnv1a64:a327a522476bca50\",\"resource_blocked_count\":0,\"hal_record_count\":52,\"hal_blocked_count\":0,\"first_diagnostic\":null}]}\n" }, { "command": [ @@ -729,8 +729,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "ba35e1a59b65c9cb2b522593051e0b364fd03b2257c8c6bd89e90a8fd0a27988", - "stdout_tail": "{\"schema\":\"sim-case-startup-s8-02-sample.v1\",\"status\":\"verified\",\"fixture_policy\":\"user-authorized-runtime-copy\",\"cases\":{\"minimal_xyz\":{\"status\":\"ready\",\"state\":\"TASK_READY\",\"runtime_fixture\":\"linuxcnc/configs/sim/axis/minimal_xyz_cmds.hal\",\"loader_hash\":\"fnv1a64:90f3d9d1fc4ffa6e\",\"startup_hash\":\"fnv1a64:a0391180d4faafb6\"},\"corexy_by_kins\":{\"status\":\"ready\",\"state\":\"TASK_READY\",\"fixtures\":[\"linuxcnc/configs/sim/axis/corexy/linuxcnc.var\",\"linuxcnc/configs/sim/axis/corexy/tool.tbl\"],\"loader_hash\":\"fnv1a64:330a5d2f9d7b1a02\",\"startup_hash\":\"fnv1a64:5fb982e5b98cec3d\"}},\"boundary\":\"fixtures are copied from executed LinuxCNC/runtime case inputs and are hash-locked; no unrelated basename substitution\"}\n" + "stdout_sha256": "7ea7c44db02b66b0896c2f7098bb540031bc5586d56b608f218c17f256fdbce4", + "stdout_tail": "{\"schema\":\"sim-case-startup-s8-02-sample.v1\",\"status\":\"verified\",\"fixture_policy\":\"user-authorized-runtime-copy\",\"cases\":{\"minimal_xyz\":{\"status\":\"ready\",\"state\":\"TASK_READY\",\"runtime_fixture\":\"linuxcnc/configs/sim/axis/minimal_xyz_cmds.hal\",\"loader_hash\":\"fnv1a64:26abfd27afe303aa\",\"startup_hash\":\"fnv1a64:765ca470c81e5470\"},\"corexy_by_kins\":{\"status\":\"ready\",\"state\":\"TASK_READY\",\"fixtures\":[\"linuxcnc/configs/sim/axis/corexy/linuxcnc.var\",\"linuxcnc/configs/sim/axis/corexy/tool.tbl\"],\"loader_hash\":\"fnv1a64:601fe7743440277d\",\"startup_hash\":\"fnv1a64:cfc42d3b1ef963c9\"}},\"boundary\":\"fixtures are copied from executed LinuxCNC/runtime case inputs and are hash-locked; no unrelated basename substitution\"}\n" }, { "command": [ @@ -807,7 +807,7 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "c3d69c8e274b2aa9b530173dad4ee2324508a63f7ae8afae63089dc7d3d02254", + "stdout_sha256": "3752bd644a5ca9e34ea1ea97499176ffd6322fb1db29275bca7d7bbc54ac50fb", "stdout_tail": "ae3105528e63e8cd307926ddf250ef9f394117b8b8a30f45d859f6fc\",\"status\":\"READY\",\"startup_preflight\":\"static_ready\",\"resource_status\":\"unindexed\",\"diagnostic_code\":null,\"missing_count\":0,\"unresolved_count\":0}],\"counts\":{\"total\":264,\"sim_configs\":216,\"test_configs\":48,\"READY\":56,\"BLOCKED\":208},\"workflow\":{\"batch_schema\":\"configuration-startup-batch.v1\",\"batch_state_hash\":\"fnv1a64:8e61897622fda66f\",\"restore_equal\":true,\"diagnostic_count\":208,\"entrypoint_hash\":\"fnv1a64:b3cdda0d2d756943\"},\"boundaries\":[\"READY is static startup preflight, not an official LinuxCNC runtime oracle\",\"BLOCKED rows retain resource/kinematics diagnostics and are never promoted\",\"full native/WASM/Worker startup probes remain represented by configuration-startup-runtime evidence\"],\"aggregate_hash\":\"fnv1a64:57da6a5de56b4db0\"}\n" }, { @@ -976,8 +976,34 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "bfa6db990445c1c0e33ebc8e7beeb04911438385fad882eae86602c46477741a", - "stdout_tail": "authoritative_panels=passed fields=28 fault=limit\n" + "stdout_sha256": "cf8bd394609fabe833768ba49d4f9dc02e21e7e86dbe80f98d45e33e07b326b2", + "stdout_tail": "authoritative_panels=passed fields=3 fault=limit\n" + }, + { + "command": [ + "node", + "web/app/test_axis_contract.mjs" + ], + "label": "web/app/test_axis_contract.mjs", + "returncode": 0, + "status": "passed", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stderr_tail": "", + "stdout_sha256": "d7c1bed6ecc10ae8fb5b74c7861abfd3dd16d91f22665bf56bda3a97357dc0fc", + "stdout_tail": "{\"schema\":\"axis-contract-sample.v1\",\"status\":\"verified\",\"commands\":20,\"matrix\":20,\"blocked_reasons\":[\"axis_mdi_queue_full\",\"axis_estop_active\"]}\n" + }, + { + "command": [ + "node", + "web/app/test_axis_operation_controller.mjs" + ], + "label": "web/app/test_axis_operation_controller.mjs", + "returncode": 0, + "status": "passed", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "stderr_tail": "", + "stdout_sha256": "8d87866325a0ee2a3444b121dc79c98409a182f9a92c185b8ccb420806a56750", + "stdout_tail": "{\"schema\":\"axis-operation-controller-sample.v1\",\"status\":\"verified\",\"calls\":2,\"phases\":[\"pending\",\"result\",\"blocked\",\"pending\",\"result\"],\"last_operation\":\"axis-sim-step-000003\"}\n" }, { "command": [ @@ -1015,8 +1041,8 @@ "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stderr_tail": "", - "stdout_sha256": "4f68db84d7409ff6bb80aad69719e1b88705d51eeb12e46b37a995eb7807a5d6", - "stdout_tail": "{\"schema\":\"browser-performance-sample.v1\",\"files\":[{\"file\":\"index.html\",\"bytes\":367},{\"file\":\"app.mjs\",\"bytes\":16269},{\"file\":\"worker-client.mjs\",\"bytes\":7508},{\"file\":\"styles.css\",\"bytes\":4796},{\"file\":\"controls.mjs\",\"bytes\":1337},{\"file\":\"state-panel.mjs\",\"bytes\":4451},{\"file\":\"project-workflow.mjs\",\"bytes\":2238},{\"file\":\"recovery-panel.mjs\",\"bytes\":1689},{\"file\":\"device-panel.mjs\",\"bytes\":1318},{\"file\":\"hal-panel.mjs\",\"bytes\":826},{\"file\":\"machine-view.mjs\",\"bytes\":2083}],\"total_bytes\":42882,\"stable\":true}\n" + "stdout_sha256": "ef3b8b2e5f03c995cc26966d2a67952be05989ce07bf408bbbd8f6b76d88fc7e", + "stdout_tail": "{\"schema\":\"browser-performance-sample.v1\",\"files\":[{\"file\":\"index.html\",\"bytes\":367},{\"file\":\"app.mjs\",\"bytes\":16777},{\"file\":\"worker-client.mjs\",\"bytes\":7508},{\"file\":\"styles.css\",\"bytes\":2731},{\"file\":\"controls.mjs\",\"bytes\":1337},{\"file\":\"state-panel.mjs\",\"bytes\":5083},{\"file\":\"project-workflow.mjs\",\"bytes\":2238},{\"file\":\"recovery-panel.mjs\",\"bytes\":1689},{\"file\":\"device-panel.mjs\",\"bytes\":1587},{\"file\":\"hal-panel.mjs\",\"bytes\":826},{\"file\":\"machine-view.mjs\",\"bytes\":2083}],\"total_bytes\":42226,\"stable\":true}\n" }, { "command": [ @@ -1150,10 +1176,10 @@ } ], "counts": { - "app_tests": 14, + "app_tests": 16, "failed": 0, - "passed": 72, - "total": 72, + "passed": 74, + "total": 74, "worker_tests": 56 }, "policy": "build, native CTest, Worker and App regressions are implementation evidence only", @@ -1161,7 +1187,7 @@ } }, "release_action": "STOP_RELEASE", - "report_sha256": "2e8c4bdc528c99b318c03b2a8e2d0754d98cb0e2fb66cb50e8e8f3baee982c54", + "report_sha256": "b2833b218a16b5dde284f1709f8ec261e3add356762b063f018f8fbafc4f6c64", "schema": "full-case-acceptance-s8-10-report.v1", "status": "blocked", "task_id": "S8-10" diff --git a/coverage/full-configuration-startup-matrix.report.json b/coverage/full-configuration-startup-matrix.report.json index 0b8eccd..6c3f800 100644 --- a/coverage/full-configuration-startup-matrix.report.json +++ b/coverage/full-configuration-startup-matrix.report.json @@ -65,21 +65,21 @@ "bytes": 2535591, "path": "coverage/hal-component-manifest.report.json", "role": "hal_component_manifest", - "sha256": "d28deea84e03c71bd137825695fc1adf6d8af37fc8b8a74fe8e68105a193cd4b", + "sha256": "bef0cb643203ac6ef239d0d5c975ef4d2b30902d09a77c1a3103f7983ee2f5a6", "status": "present" }, { "bytes": 3301, "path": "coverage/frontend-m4.report.json", "role": "frontend_m4", - "sha256": "213411ccef031c360b8db93c2ae2430019baa5b6ea541cd02896514172a11f6c", + "sha256": "f38acbc255ad4e33e6debcd258c03ed392faabd63892ace0cf843c246ee888eb", "status": "present" }, { "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" } ], @@ -5014,7 +5014,7 @@ ], "next_transition": "execute REG-03 recovery and offline fault matrix", "release_action": "STOP_RELEASE", - "report_sha256": "6c1a936377dbae52a9626171a9d64a213cbdb4919b50a13da5e4bdde184e8df0", + "report_sha256": "548d027932b79f559a6edd1656a284c17debc27151d46ab2908db34ecd9feec4", "schema": "full-configuration-startup-matrix.v1", "status": "partial", "task_id": "REG-01" diff --git a/coverage/gui-browser-visual-fe-m4.report.json b/coverage/gui-browser-visual-fe-m4.report.json index 5460cc0..885b1a6 100644 --- a/coverage/gui-browser-visual-fe-m4.report.json +++ b/coverage/gui-browser-visual-fe-m4.report.json @@ -73,13 +73,13 @@ "implementation_status": "verified", "outputs": [ { - "bytes": 132308, - "sha256": "a3a67ad2cfceb572e2c5b80d472b35186a82ae0332ec3042e5eb63b5f7295f33", + "bytes": 133878, + "sha256": "0b1fc615a30979ccfd6acb0c2444f91ab8b5737e770d3b4a87f14a8fd8bcb9e6", "viewport": "desktop" }, { - "bytes": 48697, - "sha256": "8c839f0d9f270090e22544f1fe28748d1766c71464033a9fe4a1019c18b559b0", + "bytes": 50148, + "sha256": "9179030f214a434fd5093f3471c5ff2930f46bb7484886c5614aa7237eb66097", "viewport": "mobile" } ], @@ -110,7 +110,7 @@ "--disable-dev-shm-usage", "--virtual-time-budget=4000", "--window-size=1440,900", - "--screenshot=/tmp/linuxcnc-gui-visual-xp6ovsfu/desktop.png", + "--screenshot=/home/mes006/linuxcncWebWASM/coverage/axis3-tutorial-visual/chromium-desktop.png", "--dump-dom", "http://127.0.0.1:5174/" ], @@ -122,7 +122,7 @@ "toolbar_icon_count": 20, "toolbar_icon_scope": "axis-toolbar" }, - "dom_sha256": "dbe55352ea426148ecf7142bc56c7c276c5822c067406f101736240839ada047", + "dom_sha256": "120b88c5272d6d4cd742478d145a003559c91012a4461c67532d547ef78831af", "markers": { "Active G-Codes:": true, "Coolant": true, @@ -146,12 +146,12 @@ }, "returncode": 0, "screenshot": { - "bytes": 132308, - "path": "/tmp/linuxcnc-gui-visual-xp6ovsfu/desktop.png", - "sha256": "a3a67ad2cfceb572e2c5b80d472b35186a82ae0332ec3042e5eb63b5f7295f33" + "bytes": 133878, + "path": "/home/mes006/linuxcncWebWASM/coverage/axis3-tutorial-visual/chromium-desktop.png", + "sha256": "0b1fc615a30979ccfd6acb0c2444f91ab8b5737e770d3b4a87f14a8fd8bcb9e6" }, "status": "verified", - "stderr_sha256": "f82829b494eb4a87c11e6dd04a47e7e172b0ee1c3805acab12561d8b7c2c0322", + "stderr_sha256": "2f0c71c7548ffd7ecb8024c4bbdc08d3bbfca9f9a9d7005c3dc390ff20239b8b", "window": "1440,900" }, "mobile": { @@ -180,7 +180,7 @@ "--disable-dev-shm-usage", "--virtual-time-budget=4000", "--window-size=390,844", - "--screenshot=/tmp/linuxcnc-gui-visual-xp6ovsfu/mobile.png", + "--screenshot=/home/mes006/linuxcncWebWASM/coverage/axis3-tutorial-visual/chromium-mobile.png", "--dump-dom", "http://127.0.0.1:5174/" ], @@ -192,7 +192,7 @@ "toolbar_icon_count": 20, "toolbar_icon_scope": "axis-toolbar" }, - "dom_sha256": "261a23a8c8f6479fd50fcdb4d745f9ddab10d7fff9bab51a7da1e4938b2f6ccd", + "dom_sha256": "dbdb67148452abb83cd00486c0c473a84d6c043dfd9981a4f451ef618ca3fc85", "markers": { "Active G-Codes:": true, "Coolant": true, @@ -216,17 +216,17 @@ }, "returncode": 0, "screenshot": { - "bytes": 48697, - "path": "/tmp/linuxcnc-gui-visual-xp6ovsfu/mobile.png", - "sha256": "8c839f0d9f270090e22544f1fe28748d1766c71464033a9fe4a1019c18b559b0" + "bytes": 50148, + "path": "/home/mes006/linuxcncWebWASM/coverage/axis3-tutorial-visual/chromium-mobile.png", + "sha256": "9179030f214a434fd5093f3471c5ff2930f46bb7484886c5614aa7237eb66097" }, "status": "verified", - "stderr_sha256": "63b4ad056f773061e195fc3f826b64ab1b084cfbedbbbec7d283c668f1f4b9da", + "stderr_sha256": "4be6b7667d8afc9016573161313c926e026fbbd2a6c5be46ed298e3d459ce1b7", "window": "390,844" } }, "release_action": "STOP_RELEASE", - "report_sha256": "301fae229574e9e0bb4090330ed6d783da4e9771a1c1666473b1cf011f6330d6", + "report_sha256": "c8717fb1f3d0d5ef73de83c9dba5f9fa4d714a37042d8cd84510df58eac6fca2", "route": "http://127.0.0.1:5174/", "schema": "gui-browser-visual-fe-m4-report.v1", "status": "verified", diff --git a/coverage/hal-component-manifest.report.json b/coverage/hal-component-manifest.report.json index 7f3f39e..0d0b1b3 100644 --- a/coverage/hal-component-manifest.report.json +++ b/coverage/hal-component-manifest.report.json @@ -75636,13 +75636,13 @@ "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" } ], "next_transition": "execute M3-RT-03 virtual device fault injection and replay", "release_action": "STOP_RELEASE", - "report_sha256": "e7a2fea5e236e73728ec6bf576406dba85118a7dabb3a7a49c193eec2d88998c", + "report_sha256": "f23d29783558a319f7772291dee3a14a4e282294684441ddb90e8858cc5bfe92", "schema": "hal-component-manifest.v1", "status": "partial", "task_id": "M3-RT-02" diff --git a/coverage/implementation-license-remediation.report.json b/coverage/implementation-license-remediation.report.json index cbee972..579fae3 100644 --- a/coverage/implementation-license-remediation.report.json +++ b/coverage/implementation-license-remediation.report.json @@ -1003,21 +1003,21 @@ "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" }, { - "bytes": 15568, + "bytes": 15574, "path": "coverage/release-remediation-intake.report.json", "role": "remediation_intake", - "sha256": "b88b3978114cb7347f890c558ea0b6c948533b8a87d61bcee3806cd0912b0a6d", + "sha256": "c4abf81d8a7fb08ee61ed9ceb655803a6a2620d5e1dce9c47117ee17579f3b1e", "status": "present" } ], "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", "remediation_status": "blocked_pending_owner_decision", - "report_sha256": "388f94bf33c9e0214097ceba4d168e3178f3d8c4aeee29184181190e8efec23c", + "report_sha256": "3575948f3df62ab059f6a0b9dacd94cf31da0207e871ef821fcd1c926c462193", "schema": "implementation-license-remediation.v1", "status": "complete", "task_id": "K8-REL-13" diff --git a/coverage/ini-parser.report.json b/coverage/ini-parser.report.json index 434d506..0586f0f 100644 --- a/coverage/ini-parser.report.json +++ b/coverage/ini-parser.report.json @@ -23,7 +23,7 @@ "bytes": 3779, "path": "coverage/workspace-runtime.report.json", "role": "workspace_report", - "sha256": "9facf98ddc63d7819c0f44ac983f8aa19c8507cdce8b9ba1e446e849fdee1746", + "sha256": "229cc2b3e16c29acfa8c8936f118268f5e6738356d1883520b17b2d7b41c0bc8", "status": "present" }, { @@ -48,10 +48,10 @@ ], "outputs": [ { - "bytes": 5036, + "bytes": 6043, "path": "web/workspace/ini-parser.mjs", "role": "ini_parser", - "sha256": "e7b1cd12773f0c3e92cf76c0021e43888d586a475900c4acfa4234bbee4fdea6", + "sha256": "f1acee4f0002146f107ad0fcf997e85b65c484b1db5e3e9b4dad2a1fdb88b10c", "status": "present" }, { @@ -64,7 +64,7 @@ ], "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "6228a76912dd0bd59d29d329d714476cd83aa505b00897f0ae98ed7a60f7e6c3", + "report_sha256": "f8ac5f6dc55cd0a8ed69b7f7aad84fcdedca60612bfdccfec7c9b670d0d5003e", "schema": "ini-parser-report.v1", "status": "passed", "task_id": "P2-02", diff --git a/coverage/k8-milestone-closeout.report.json b/coverage/k8-milestone-closeout.report.json index 73cad65..5b7ebd3 100644 --- a/coverage/k8-milestone-closeout.report.json +++ b/coverage/k8-milestone-closeout.report.json @@ -156,7 +156,7 @@ "status": "verified" }, "audit_self_hash": { - "declared": "2011f99b5e93b3d16697d0b347bdd55f572a99475ca518e9de9316baacf2b0aa", + "declared": "61fa9c413b56f88d717e3fc472dd757b9da42cad1fee02131ae0e4af81e5e352", "status": "verified" }, "blocker_preservation": { @@ -184,22 +184,22 @@ }, { "path": "coverage/post-release-audit.report.json", - "sha256": "6794b4fd2b3b2ffb54b6a48d298265a8ac9b700bf5e1da434d80c9bb2a45f328", + "sha256": "67360195c796e1e6448a25567922c56cfee00312350df887841d8945871e251b", "status": "verified" }, { "path": "coverage/release-candidate-gate.report.json", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "verified" }, { "path": "coverage/release-closure.report.json", - "sha256": "7dea93eaf2ae9edcdc53c484171629f8bed1904679c062a9a328ddc15fa74986", + "sha256": "229a7dc2caef03dc6b90507b5f692f2592e7928da6094c9040b02321cc50bd5c", "status": "verified" }, { "path": "coverage/release-evidence-index.json", - "sha256": "5eecf795a2d5a887a46ef0a0fcd0e9ea40de77a47553f582c8239da7d41161e5", + "sha256": "d6babb01fed08d16be4db9764c9cecac60c6005d0655e627a8adf7586b97d006", "status": "verified" } ], @@ -238,28 +238,28 @@ "bytes": 26665, "path": "coverage/post-release-audit.report.json", "role": "post_release_audit", - "sha256": "6794b4fd2b3b2ffb54b6a48d298265a8ac9b700bf5e1da434d80c9bb2a45f328", + "sha256": "67360195c796e1e6448a25567922c56cfee00312350df887841d8945871e251b", "status": "present" }, { "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" }, { "bytes": 1945, "path": "coverage/release-closure.report.json", "role": "release_closure", - "sha256": "7dea93eaf2ae9edcdc53c484171629f8bed1904679c062a9a328ddc15fa74986", + "sha256": "229a7dc2caef03dc6b90507b5f692f2592e7928da6094c9040b02321cc50bd5c", "status": "present" }, { "bytes": 1435099, "path": "coverage/release-evidence-index.json", "role": "release_evidence_index", - "sha256": "5eecf795a2d5a887a46ef0a0fcd0e9ea40de77a47553f582c8239da7d41161e5", + "sha256": "d6babb01fed08d16be4db9764c9cecac60c6005d0655e627a8adf7586b97d006", "status": "present" }, { @@ -292,7 +292,7 @@ }, "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", - "report_sha256": "d01884df05489c053a1cf9cc75edb191196d942a05c1e1b88a41e4058ded8211", + "report_sha256": "8604e75560fb53e24a9c0b58d37d6254db4523fc77a342e703b5b09faf878a71", "schema": "k8-milestone-closeout.v1", "source_baseline": { "context_lock": { diff --git a/coverage/manifest-ownership-remediation.report.json b/coverage/manifest-ownership-remediation.report.json index 035d011..fddb022 100644 --- a/coverage/manifest-ownership-remediation.report.json +++ b/coverage/manifest-ownership-remediation.report.json @@ -100056,10 +100056,10 @@ "status": "present" }, { - "bytes": 15568, + "bytes": 15574, "path": "coverage/release-remediation-intake.report.json", "role": "remediation_intake", - "sha256": "b88b3978114cb7347f890c558ea0b6c948533b8a87d61bcee3806cd0912b0a6d", + "sha256": "c4abf81d8a7fb08ee61ed9ceb655803a6a2620d5e1dce9c47117ee17579f3b1e", "status": "present" } ], @@ -100072,7 +100072,7 @@ "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", "remediation_status": "blocked_pending_manifest_review", - "report_sha256": "5afeb0263ea51660bcd55a719159773412e1e4eab50bb79306b7c68ab59ac052", + "report_sha256": "ea3987b42d0dae638005a17405d18504bbd3e235136165bb0cd1273109b70f8b", "review_policy": { "forbidden": [ "promote_to_accepted", diff --git a/coverage/official-oracle-remediation.report.json b/coverage/official-oracle-remediation.report.json index e307046..a8fe855 100644 --- a/coverage/official-oracle-remediation.report.json +++ b/coverage/official-oracle-remediation.report.json @@ -82,10 +82,10 @@ "status": "present" }, { - "bytes": 15568, + "bytes": 15574, "path": "coverage/release-remediation-intake.report.json", "role": "release_remediation_intake.report", - "sha256": "b88b3978114cb7347f890c558ea0b6c948533b8a87d61bcee3806cd0912b0a6d", + "sha256": "c4abf81d8a7fb08ee61ed9ceb655803a6a2620d5e1dce9c47117ee17579f3b1e", "status": "present" } ], @@ -148,7 +148,7 @@ "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", "remediation_status": "blocked_missing_locked_inputs", - "report_sha256": "ab2efdc651f8e9a5f29a41a5e0b9b189866ccebd9592795969713212c9c8c5a1", + "report_sha256": "20219761a529efa40c6dbff695384826b5fe16eefc4bcc9c277ceec1fedf15f5", "review_policy": { "forbidden": [ "promote_matrixkins_to_official", diff --git a/coverage/owner-review-gate-refresh.report.json b/coverage/owner-review-gate-refresh.report.json index badf10b..e7ced79 100644 --- a/coverage/owner-review-gate-refresh.report.json +++ b/coverage/owner-review-gate-refresh.report.json @@ -79,7 +79,7 @@ "bytes": 9239, "path": "coverage/remediation-evidence-roundup.report.json", "role": "remediation_roundup", - "sha256": "3600fe5d079057767bd9c7f05b8ded4664cefc00e037ec2e565b49f58658b746", + "sha256": "79eb39a73c8b16295dd51e19968f99f59dfd8cdecb9feffb2131cc0d453738a9", "status": "present" }, { @@ -93,14 +93,14 @@ "bytes": 26665, "path": "coverage/post-release-audit.report.json", "role": "post_release_audit", - "sha256": "6794b4fd2b3b2ffb54b6a48d298265a8ac9b700bf5e1da434d80c9bb2a45f328", + "sha256": "67360195c796e1e6448a25567922c56cfee00312350df887841d8945871e251b", "status": "present" } ], "next_transition": "collect owner decisions, create a new context when locked inputs change, then regenerate closure/audit/gate", "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", - "report_sha256": "01e5db9138cc6b1a1f471dbd2a30f88451ee7fac7ebafb295db8b2c7c4941563", + "report_sha256": "8ef20d02dfa542abd2ee09945602d79c247bdac3bcca4e94ad58803187b76084", "review_status": "owner_input_required", "schema": "owner-review-gate-refresh.v1", "status": "blocked", diff --git a/coverage/project-task-readiness.report.json b/coverage/project-task-readiness.report.json index 2e0f798..6c44935 100644 --- a/coverage/project-task-readiness.report.json +++ b/coverage/project-task-readiness.report.json @@ -76,7 +76,7 @@ "bytes": 3467, "path": "coverage/owner-review-gate-refresh.report.json", "role": "owner_review", - "sha256": "ab41b449d01ea12a9131f6c99ac5f686b787ea14c186dbb2a2095059e2aa661d", + "sha256": "700c1a7dc48a7d52a6caec514b002df993c212f70d89719b57181a3745cc506f", "status": "present" }, { @@ -90,7 +90,7 @@ "next_transition": "WAIT-OWNER-01: pause until six owner decisions or a new locked context input arrives; no automatic retry", "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "c01efd36e7c88038f050a0044e56a0c0da6d07c562613bae0c879c05b7e25a16", + "report_sha256": "7d608b3783cd48e600a4c8583068e585748ef84611e44934b0da2e57a3e3f733", "schema": "project-task-readiness.v1", "status": "partial", "task_id": "GOV-01", @@ -111,7 +111,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/hal-component-manifest.report.json", "report_status": "partial", - "task_hash": "e7a2fea5e236e73728ec6bf576406dba85118a7dabb3a7a49c193eec2d88998c" + "task_hash": "f23d29783558a319f7772291dee3a14a4e282294684441ddb90e8858cc5bfe92" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -120,7 +120,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/virtual-device-fault-matrix.report.json", "report_status": "partial", - "task_hash": "a5f271dd9f5ad84957cd930ab66aaaa26cd1bb64dd0aa7e9119f6dec2c35e0c5" + "task_hash": "b018f34eed6dbd9fb53abbcd24a0ccdec4d5db4e979d148f86f7d5b43199e0e6" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -129,7 +129,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/workspace-session-integration.report.json", "report_status": "partial", - "task_hash": "5116c38fb9853899e2b9b63dd51f9afe1f8b6afaf1a6c5af429f6c3e78370dfd" + "task_hash": "0fd233ac461ea14bc51fce2e7d81385b702bb9cf932d871568eb8ad630dc85c1" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -138,7 +138,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/python-worker-bridge.report.json", "report_status": "partial", - "task_hash": "6e893c719193ecc01a76f57764cc2eecc2393763da15bcf995bdaf4d496fc055" + "task_hash": "a8cfaa5cd6b8afc594fe6292284eefc8ff4cf6a1655212c02099c3997d612570" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -147,7 +147,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/frontend-m1.report.json", "report_status": "partial", - "task_hash": "dbe633bea85b155e52f126cbb1feb5aaa19f5248bf26a17200315f94ad00c7b3" + "task_hash": "1d314542f4312efc5b7d821685f9d3f1d9b7778f9eea857a5441313eab01db1c" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -156,7 +156,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/frontend-m2.report.json", "report_status": "partial", - "task_hash": "9e20129559e077993830e58c6a88d34347b5bb178ad42de1cf6bf3d969889cc7" + "task_hash": "add0bf61f66878b2cf3104cce4d1ece6f5d753028dca8833d951a9c6c501903e" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -165,7 +165,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/frontend-m3.report.json", "report_status": "partial", - "task_hash": "d12aa2f0626d2e2353f3f03737eb800a7d2531039e3932d4710811a4f90d6e96" + "task_hash": "7c94f2804d91abc6869e5befb90f574677ef68670cac868ed4c577b16abcd96f" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -174,7 +174,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/frontend-m4.report.json", "report_status": "partial", - "task_hash": "39995ee2f5cea423315a572b0cb3d122c8e400793f868a7e74bf2d42c6cf25e2" + "task_hash": "6f71305c15d3e1d8391c66e17d7c1704af64741f0cb2f11552f88d6b707993f8" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -183,7 +183,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/full-configuration-startup-matrix.report.json", "report_status": "partial", - "task_hash": "6c1a936377dbae52a9626171a9d64a213cbdb4919b50a13da5e4bdde184e8df0" + "task_hash": "548d027932b79f559a6edd1656a284c17debc27151d46ab2908db34ecd9feec4" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -192,7 +192,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/recovery-offline-fault-matrix.report.json", "report_status": "partial", - "task_hash": "fdf946b6133f6e0f405ffd9b66189f55663c3dc45df4e6934e16b15565ecc9f2" + "task_hash": "f6fd66e959cb95fb5e751ce5f897ade4f1719ba141dc3ed6c83edc0b0365a19e" }, { "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", @@ -201,7 +201,7 @@ "release_action": "STOP_RELEASE", "report": "coverage/browser-performance-matrix.report.json", "report_status": "partial", - "task_hash": "db1be56cb41198b185fbf543f71d0bc2f61bfd93b3794dcb5e13851496415258" + "task_hash": "a82e5d50ef5754ad3a4da8e4a90fbfc92ff1dd7b28a68496ef1a8b461542fc35" } ] } diff --git a/coverage/python-worker-bridge.report.json b/coverage/python-worker-bridge.report.json index f95766a..2a9e9a0 100644 --- a/coverage/python-worker-bridge.report.json +++ b/coverage/python-worker-bridge.report.json @@ -47,7 +47,7 @@ "bytes": 3685, "path": "coverage/workspace-session-integration.report.json", "role": "workspace_session_integration", - "sha256": "92f571fff86f378726ea4009ab40c80b3a0fbdf36f7794f65031b18598e2bf89", + "sha256": "5453cb84385cdd24d85cd2a4096aae2bdb78f00d08f0e2cdb99288ca56c30c9c", "status": "present" }, { @@ -60,7 +60,7 @@ ], "next_transition": "execute FE-M1 minimal real frontend vertical slice", "release_action": "STOP_RELEASE", - "report_sha256": "59f9a29b62a109207e565c9c18836bd97d3341f9b43c13f61dd8866a06f12f22", + "report_sha256": "ccadc41b9a53ba9cb4f31445b3c39211ebe5ccc2d058a57a96f3590423fa933f", "runtime": { "abi_version": "2025_0", "artifacts": [ diff --git a/coverage/recovery-offline-fault-matrix.report.json b/coverage/recovery-offline-fault-matrix.report.json index 1b0337e..1d23279 100644 --- a/coverage/recovery-offline-fault-matrix.report.json +++ b/coverage/recovery-offline-fault-matrix.report.json @@ -38,14 +38,14 @@ "bytes": 225468, "path": "coverage/full-configuration-startup-matrix.report.json", "role": "full_configuration_matrix", - "sha256": "eefde49a278a077e374b751d0d0ed59b1294ce399a757a665e3cc14f569f7656", + "sha256": "f2140e4c1685ca17738645faedb962dcaa7210200c9151084bd5df40285eadf9", "status": "present" }, { "bytes": 3685, "path": "coverage/workspace-session-integration.report.json", "role": "workspace_session_integration", - "sha256": "92f571fff86f378726ea4009ab40c80b3a0fbdf36f7794f65031b18598e2bf89", + "sha256": "5453cb84385cdd24d85cd2a4096aae2bdb78f00d08f0e2cdb99288ca56c30c9c", "status": "present" }, { @@ -72,7 +72,7 @@ ], "next_transition": "execute REG-04 browser and performance matrix", "release_action": "STOP_RELEASE", - "report_sha256": "a380d0ce4d4824acf924ffe8679099ecf1f005b98593772c8aa7d2a47e4df3fa", + "report_sha256": "c63705dcf9f98b8d2ea8d68e52610c6b573c8580ad2024f1b5926315381dda26", "sample": { "first": { "exit_code": 0, diff --git a/coverage/release-acceptance-remediation.report.json b/coverage/release-acceptance-remediation.report.json index 2268b0d..5efcda8 100644 --- a/coverage/release-acceptance-remediation.report.json +++ b/coverage/release-acceptance-remediation.report.json @@ -1897,7 +1897,7 @@ "bytes": 4628776, "path": "coverage/manifest-ownership-remediation.report.json", "role": "manifest_ownership_remediation", - "sha256": "a2dc46e168eb43f2101be4995dc751e776b2660f8b13dc371632af51cb9c8284", + "sha256": "22942fd03988f5aedfb4895332456b7c0a873013d71b4cb28e26ed037cba946e", "status": "present" }, { @@ -1908,17 +1908,17 @@ "status": "present" }, { - "bytes": 15568, + "bytes": 15574, "path": "coverage/release-remediation-intake.report.json", "role": "remediation_intake", - "sha256": "b88b3978114cb7347f890c558ea0b6c948533b8a87d61bcee3806cd0912b0a6d", + "sha256": "c4abf81d8a7fb08ee61ed9ceb655803a6a2620d5e1dce9c47117ee17579f3b1e", "status": "present" } ], "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", "remediation_status": "blocked_no_eligible_entries", - "report_sha256": "3a172bcdf52460f93ceb79aaea3611b16d1aeaf70788347acb55d0ab7ffa6ad2", + "report_sha256": "63f8f65fe645a7e47c98a73fd4afb62985d9fb9e91a1109da3649276197f6d46", "schema": "release-acceptance-remediation.v1", "status": "complete", "task_id": "K8-REL-09" diff --git a/coverage/release-remediation-intake.report.json b/coverage/release-remediation-intake.report.json index d16e652..e4a0909 100644 --- a/coverage/release-remediation-intake.report.json +++ b/coverage/release-remediation-intake.report.json @@ -62,37 +62,37 @@ "actual_bytes": 26665, "actual_sha256": "67360195c796e1e6448a25567922c56cfee00312350df887841d8945871e251b", "expected_bytes": 26665, - "expected_sha256": "6794b4fd2b3b2ffb54b6a48d298265a8ac9b700bf5e1da434d80c9bb2a45f328", + "expected_sha256": "67360195c796e1e6448a25567922c56cfee00312350df887841d8945871e251b", "path": "coverage/post-release-audit.report.json", "role": "post_release_audit", - "status": "blocked" + "status": "verified" }, { "actual_bytes": 7196, "actual_sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "expected_bytes": 7196, - "expected_sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1", + "expected_sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", - "status": "blocked" + "status": "verified" }, { "actual_bytes": 1945, "actual_sha256": "229a7dc2caef03dc6b90507b5f692f2592e7928da6094c9040b02321cc50bd5c", "expected_bytes": 1945, - "expected_sha256": "7dea93eaf2ae9edcdc53c484171629f8bed1904679c062a9a328ddc15fa74986", + "expected_sha256": "229a7dc2caef03dc6b90507b5f692f2592e7928da6094c9040b02321cc50bd5c", "path": "coverage/release-closure.report.json", "role": "release_closure", - "status": "blocked" + "status": "verified" }, { "actual_bytes": 1435099, "actual_sha256": "d6babb01fed08d16be4db9764c9cecac60c6005d0655e627a8adf7586b97d006", "expected_bytes": 1435099, - "expected_sha256": "5eecf795a2d5a887a46ef0a0fcd0e9ea40de77a47553f582c8239da7d41161e5", + "expected_sha256": "d6babb01fed08d16be4db9764c9cecac60c6005d0655e627a8adf7586b97d006", "path": "coverage/release-evidence-index.json", "role": "release_evidence_index", - "status": "blocked" + "status": "verified" }, { "actual_bytes": 7647, @@ -104,7 +104,7 @@ "status": "verified" } ], - "status": "blocked" + "status": "verified" }, "no_reclassification": { "status": "verified" @@ -112,8 +112,8 @@ "source_report_self_hashes": { "reports": [ { - "actual": "d01884df05489c053a1cf9cc75edb191196d942a05c1e1b88a41e4058ded8211", - "declared": "d01884df05489c053a1cf9cc75edb191196d942a05c1e1b88a41e4058ded8211", + "actual": "8604e75560fb53e24a9c0b58d37d6254db4523fc77a342e703b5b09faf878a71", + "declared": "8604e75560fb53e24a9c0b58d37d6254db4523fc77a342e703b5b09faf878a71", "path": "coverage/k8-milestone-closeout.report.json", "status": "verified" }, @@ -168,7 +168,7 @@ "bytes": 10299, "path": "coverage/k8-milestone-closeout.report.json", "role": "k8_milestone_closeout", - "sha256": "6dd6004c6687f9cef63afa90fcb24661b0f9c877647e810d80da264879f7fb8f", + "sha256": "20d32516b7894c37fd77670bb47a9acfc43fcea80424812221d83b8cb1b3bb6b", "status": "present" }, { @@ -278,7 +278,7 @@ }, "release_action": "STOP_RELEASE", "release_decision": "blocked_not_release_candidate", - "report_sha256": "a52cd3e8390beb7f15923f7c88be4f3e5c79197c32b2448e326911682eb1ae06", + "report_sha256": "e9fd3824bf2404d11aade8252bd0d85975d2a6c36d4f824f496debd047882c13", "schema": "release-remediation-intake.v1", "source_baseline": { "context_lock": { @@ -291,7 +291,7 @@ "linuxcnc_source_sha": "239dcf4284762ad7e9c65d390bc5524d855c2f8e", "linuxcnc_version": "2.10.0~pre0" }, - "status": "blocked", + "status": "complete", "work_items": [ { "count": 6249, diff --git a/coverage/remediation-evidence-roundup.report.json b/coverage/remediation-evidence-roundup.report.json index 3e4693b..3f5c993 100644 --- a/coverage/remediation-evidence-roundup.report.json +++ b/coverage/remediation-evidence-roundup.report.json @@ -29,7 +29,7 @@ "context": "verified", "path": "coverage/manifest-ownership-remediation.report.json", "remediation_status": "blocked_pending_manifest_review", - "report_sha256": "5afeb0263ea51660bcd55a719159773412e1e4eab50bb79306b7c68ab59ac052", + "report_sha256": "ea3987b42d0dae638005a17405d18504bbd3e235136165bb0cd1273109b70f8b", "self_hash": "verified", "status": "complete" }, @@ -37,7 +37,7 @@ "context": "verified", "path": "coverage/release-acceptance-remediation.report.json", "remediation_status": "blocked_no_eligible_entries", - "report_sha256": "3a172bcdf52460f93ceb79aaea3611b16d1aeaf70788347acb55d0ab7ffa6ad2", + "report_sha256": "63f8f65fe645a7e47c98a73fd4afb62985d9fb9e91a1109da3649276197f6d46", "self_hash": "verified", "status": "complete" }, @@ -45,7 +45,7 @@ "context": "verified", "path": "coverage/official-oracle-remediation.report.json", "remediation_status": "blocked_missing_locked_inputs", - "report_sha256": "ab2efdc651f8e9a5f29a41a5e0b9b189866ccebd9592795969713212c9c8c5a1", + "report_sha256": "20219761a529efa40c6dbff695384826b5fe16eefc4bcc9c277ceec1fedf15f5", "self_hash": "verified", "status": "complete" }, @@ -53,7 +53,7 @@ "context": "verified", "path": "coverage/configuration-resource-remediation.report.json", "remediation_status": "blocked_resource_gaps", - "report_sha256": "3a0ba7fa4602a78d0e7f9ed8904ddfbbe8c27fb8636d629d8d2390cb1da8e8a5", + "report_sha256": "ae65463e25b65b7add7d7aafef30e20018a27061cfcc956b7f3d372ef978ff54", "self_hash": "verified", "status": "complete" }, @@ -61,7 +61,7 @@ "context": "verified", "path": "coverage/browser-matrix-remediation.report.json", "remediation_status": "blocked_matrix_unverified", - "report_sha256": "2f47276d3ea7ce985796881fb0ae6c009c5762c7f3ba199c7b101f9f63f4310a", + "report_sha256": "302aba61dcb56244fbee940f60695c743cd1edeae415e7ffda2991fd63109688", "self_hash": "verified", "status": "complete" }, @@ -69,7 +69,7 @@ "context": "verified", "path": "coverage/implementation-license-remediation.report.json", "remediation_status": "blocked_pending_owner_decision", - "report_sha256": "388f94bf33c9e0214097ceba4d168e3178f3d8c4aeee29184181190e8efec23c", + "report_sha256": "3575948f3df62ab059f6a0b9dacd94cf31da0207e871ef821fcd1c926c462193", "self_hash": "verified", "status": "complete" } @@ -92,10 +92,10 @@ "status": "present" }, { - "bytes": 15568, + "bytes": 15574, "path": "coverage/release-remediation-intake.report.json", "role": "remediation_intake", - "sha256": "86ba1971fec3cbef1431fb211c9258b5ad568b3267aa8bbbd6f61706f3286b77", + "sha256": "c4abf81d8a7fb08ee61ed9ceb655803a6a2620d5e1dce9c47117ee17579f3b1e", "status": "present" }, { @@ -116,49 +116,49 @@ "bytes": 10299, "path": "coverage/k8-milestone-closeout.report.json", "role": "k8_closeout", - "sha256": "6dd6004c6687f9cef63afa90fcb24661b0f9c877647e810d80da264879f7fb8f", + "sha256": "20d32516b7894c37fd77670bb47a9acfc43fcea80424812221d83b8cb1b3bb6b", "status": "present" }, { "bytes": 4628776, "path": "coverage/manifest-ownership-remediation.report.json", "role": "K8-REL-08", - "sha256": "a2dc46e168eb43f2101be4995dc751e776b2660f8b13dc371632af51cb9c8284", + "sha256": "22942fd03988f5aedfb4895332456b7c0a873013d71b4cb28e26ed037cba946e", "status": "present" }, { "bytes": 143970, "path": "coverage/release-acceptance-remediation.report.json", "role": "K8-REL-09", - "sha256": "cbe1d67a603896ecdb098766f39ed8810f8af44574d2e747ba6713758ca14881", + "sha256": "db447b1cd74e8ccc77f091daf88105700328cb9f817f24f4de6b298ca6abc7b0", "status": "present" }, { "bytes": 5541, "path": "coverage/official-oracle-remediation.report.json", "role": "K8-REL-10", - "sha256": "b4bef9f289cdf6775d69acae30bb5969ca17df992db1165886aac24910b3eeca", + "sha256": "97da275e5b8f731dd7c7ab95759583dd919348d84474594604da83fbe57479cc", "status": "present" }, { - "bytes": 759645, + "bytes": 824084, "path": "coverage/configuration-resource-remediation.report.json", "role": "K8-REL-11", - "sha256": "d50bccf422d9b903b85634f31539f47ee72c93aa9525b06c3ab3f4b8a74ab812", + "sha256": "58569d009891ff58c625bc4a71facb299865f3773330f76c0960b2a254bf96e3", "status": "present" }, { - "bytes": 6340, + "bytes": 6180, "path": "coverage/browser-matrix-remediation.report.json", "role": "K8-REL-12", - "sha256": "1ba374b8ebfcdabe5363c519011ae73a6535a5e5643149810ac0279a955896a5", + "sha256": "8eacc6c6e168df19fc2082c1788ce3e5c025e9b528cccc0c5dcf62a84a8664d7", "status": "present" }, { "bytes": 41237, "path": "coverage/implementation-license-remediation.report.json", "role": "K8-REL-13", - "sha256": "7fdc270333f2df98c1723ed45f30bda4aea605abe629250d653ee7c34ffcb6ef", + "sha256": "e23bf87de27f1367fe77e24c1d35a1a414258ccd4213ab7b71e108ed59487abf", "status": "present" } ], @@ -195,7 +195,7 @@ "context": "verified", "path": "coverage/manifest-ownership-remediation.report.json", "remediation_status": "blocked_pending_manifest_review", - "report_sha256": "5afeb0263ea51660bcd55a719159773412e1e4eab50bb79306b7c68ab59ac052", + "report_sha256": "ea3987b42d0dae638005a17405d18504bbd3e235136165bb0cd1273109b70f8b", "self_hash": "verified", "status": "complete" }, @@ -203,7 +203,7 @@ "context": "verified", "path": "coverage/release-acceptance-remediation.report.json", "remediation_status": "blocked_no_eligible_entries", - "report_sha256": "3a172bcdf52460f93ceb79aaea3611b16d1aeaf70788347acb55d0ab7ffa6ad2", + "report_sha256": "63f8f65fe645a7e47c98a73fd4afb62985d9fb9e91a1109da3649276197f6d46", "self_hash": "verified", "status": "complete" }, @@ -211,7 +211,7 @@ "context": "verified", "path": "coverage/official-oracle-remediation.report.json", "remediation_status": "blocked_missing_locked_inputs", - "report_sha256": "ab2efdc651f8e9a5f29a41a5e0b9b189866ccebd9592795969713212c9c8c5a1", + "report_sha256": "20219761a529efa40c6dbff695384826b5fe16eefc4bcc9c277ceec1fedf15f5", "self_hash": "verified", "status": "complete" }, @@ -219,7 +219,7 @@ "context": "verified", "path": "coverage/configuration-resource-remediation.report.json", "remediation_status": "blocked_resource_gaps", - "report_sha256": "3a0ba7fa4602a78d0e7f9ed8904ddfbbe8c27fb8636d629d8d2390cb1da8e8a5", + "report_sha256": "ae65463e25b65b7add7d7aafef30e20018a27061cfcc956b7f3d372ef978ff54", "self_hash": "verified", "status": "complete" }, @@ -227,7 +227,7 @@ "context": "verified", "path": "coverage/browser-matrix-remediation.report.json", "remediation_status": "blocked_matrix_unverified", - "report_sha256": "2f47276d3ea7ce985796881fb0ae6c009c5762c7f3ba199c7b101f9f63f4310a", + "report_sha256": "302aba61dcb56244fbee940f60695c743cd1edeae415e7ffda2991fd63109688", "self_hash": "verified", "status": "complete" }, @@ -235,12 +235,12 @@ "context": "verified", "path": "coverage/implementation-license-remediation.report.json", "remediation_status": "blocked_pending_owner_decision", - "report_sha256": "388f94bf33c9e0214097ceba4d168e3178f3d8c4aeee29184181190e8efec23c", + "report_sha256": "3575948f3df62ab059f6a0b9dacd94cf31da0207e871ef821fcd1c926c462193", "self_hash": "verified", "status": "complete" } }, - "report_sha256": "dde615bdce9981a05ae34a27860e703af0410f41f3f94821c9c0bd52e5e82632", + "report_sha256": "7fad2354e6cba91d35b4fbb1c2efa31598de6e44dcf0f395cd8cc74166d8bee0", "review_policy": { "forbidden": [ "promote_blocked_to_accepted", diff --git a/coverage/resource-resolver.report.json b/coverage/resource-resolver.report.json index fa13cd1..10d3466 100644 --- a/coverage/resource-resolver.report.json +++ b/coverage/resource-resolver.report.json @@ -32,7 +32,7 @@ "bytes": 3940, "path": "coverage/ini-parser.report.json", "role": "ini_report", - "sha256": "1d542427354419bcd897c3f05dc3119aa81157abaa740edfb4a9b38e65103a3c", + "sha256": "7f2357c4646d4f4838c3d6d91299f375ab7e7330695f4b684e13c14db67842e5", "status": "present" }, { @@ -43,10 +43,10 @@ "status": "present" }, { - "bytes": 5036, + "bytes": 6043, "path": "web/workspace/ini-parser.mjs", "role": "ini_parser", - "sha256": "e7b1cd12773f0c3e92cf76c0021e43888d586a475900c4acfa4234bbee4fdea6", + "sha256": "f1acee4f0002146f107ad0fcf997e85b65c484b1db5e3e9b4dad2a1fdb88b10c", "status": "present" } ], @@ -57,10 +57,10 @@ ], "outputs": [ { - "bytes": 4870, + "bytes": 9260, "path": "web/workspace/resource-resolver.mjs", "role": "resolver", - "sha256": "8578c373390445b943f362e2e8725f53537c9a94b028f45d25b6c8f25968f0d2", + "sha256": "e7b18c4920723862de05ab5e77181b838156abb4c8259f16c173309471435fe6", "status": "present" }, { @@ -73,7 +73,7 @@ ], "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "1dc84b56ba77afc4f6b403d5ecf59b9c9152d4693fc28c57d656d32e3d2478c1", + "report_sha256": "2dd9ad41f8313086bcb6199ffd6b77c62a1f901b3ef91f5cd8ed5ebc148e3de3", "schema": "resource-resolver-report.v1", "status": "passed", "task_id": "P2-03", @@ -118,14 +118,14 @@ "exit_code": 0, "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "stdout_sha256": "6914e071ac172f5f7eabd1703fb830d5b5bec3c65f4ed8388644974c64739d3e" + "stdout_sha256": "bc37c2f01580bc4adb8e8288fb7ed038b55c45114278888928eb674728049d72" }, "runs": 2, "second": { "exit_code": 0, "status": "passed", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "stdout_sha256": "6914e071ac172f5f7eabd1703fb830d5b5bec3c65f4ed8388644974c64739d3e" + "stdout_sha256": "bc37c2f01580bc4adb8e8288fb7ed038b55c45114278888928eb674728049d72" }, "status": "passed" } diff --git a/coverage/sim-case-catalog.report.json b/coverage/sim-case-catalog.report.json index 756bc40..67b4572 100644 --- a/coverage/sim-case-catalog.report.json +++ b/coverage/sim-case-catalog.report.json @@ -5,12 +5,12 @@ "host devices, unsupported dynamic loaders, and missing LinuxCNC source resources remain blocked" ], "catalog": { - "catalog_sha256": "fc01e55d6f5af4f3e4e117abba89c572b45964da961bc0c9924a1de40fa9df19", + "catalog_sha256": "ac762b8b27b4b7988c0c8c532c6299a0957a69538ccb42bc65f78593b8ab4815", "module": "web/workspace/sim-case-catalog.mjs" }, "counts": { "cases": 235, - "files": 2090, + "files": 2000, "indexed_blocked": 226, "indexed_static_ready": 9 }, @@ -18,48 +18,48 @@ "inputs": [ { "path": "coverage/full-configuration-startup-matrix.report.json", - "sha256": "eefde49a278a077e374b751d0d0ed59b1294ce399a757a665e3cc14f569f7656" + "sha256": "f2140e4c1685ca17738645faedb962dcaa7210200c9151084bd5df40285eadf9" }, { "path": "coverage/hal-component-manifest.report.json", - "sha256": "eec91d371461058b40d895877dd7d6ddb0f205334d00417d9ada1c086bb1d9ef" + "sha256": "bef0cb643203ac6ef239d0d5c975ef4d2b30902d09a77c1a3103f7983ee2f5a6" } ], "outputs": [ { - "bytes": 230051, + "bytes": 226050, "path": "web/workspace/sim-case-catalog.mjs", - "sha256": "73ba963f5e5b501449e67e435392f253c30afce8af6d08e42ba733ddbc23c963", + "sha256": "a43d9868fb8d749cd9aa7958cfc6630cbc1bbf78827feb612d7c2f952d267b99", "status": "present" }, { - "bytes": 8866, + "bytes": 11291, "path": "web/workspace/sim-case-loader.mjs", - "sha256": "bf4a5222d2f8d0795e5f90c2ca66a8a197e81a7342130bdfbd940e6e604e4d3c", + "sha256": "9f76f8fd886a9e39990b0036c4a75c1cc5a02325da5487bbe5793702a746f8ee", "status": "present" }, { - "bytes": 3395, + "bytes": 3444, "path": "web/workspace/hal-configuration.mjs", - "sha256": "94d80fd9a4e51492217ddce2b93157739df39cb7670437e8b5a6db5e58f874ae", + "sha256": "3979f687b9a808256b918b9e1919a0ed6d59c591cb990d4b7bdb57903c50a385", "status": "present" }, { - "bytes": 1851, + "bytes": 2911, "path": "web/workspace/test_sim_case_loader.mjs", - "sha256": "b617cc93e7e5fec2f29d5c4efeff33fa8f4e4c2249184953d6997635da55b480", + "sha256": "0a07affb488505f91889cb3b843eb84782725b9f337313f1023510778e3381c3", "status": "present" }, { - "bytes": 16269, + "bytes": 16777, "path": "web/app/app.mjs", - "sha256": "78b1ed7e0261a187672126ed2c5bfd2461b02c37c6e0fb568fa69b80d73be4b6", + "sha256": "5ae3c3df053383f5ae3242aba20c2c8818b04639868e96514955bd1a760ec2ef", "status": "present" }, { - "bytes": 4796, + "bytes": 2731, "path": "web/app/styles.css", - "sha256": "ec77d0fe14b9863d7b64b2d1ec9c75691f9de38cf61fe6a6b8a03b8a0ec6fc00", + "sha256": "46bbe2246271ff56922a2765d921be9ca26c701e5579106ca1cad8538b065fd8", "status": "present" }, { @@ -75,7 +75,7 @@ "status": "present" } ], - "report_sha256": "2d3fb17baad340f234eba8688b5646ffdf76bd25f6995453db5afaf05e680d31", + "report_sha256": "b17fe0aad525c7b9e914d6a1ff384ab640bc8d3f475e8553aa3745bed02c49c0", "schema": "linuxcnc-sim-case-catalog-report.v1", "scope": "configs/sim case catalog and exact-path browser loader input", "status": "verified", diff --git a/coverage/sim-case-matrix-s8-06.report.json b/coverage/sim-case-matrix-s8-06.report.json index da9f7d7..918f54e 100644 --- a/coverage/sim-case-matrix-s8-06.report.json +++ b/coverage/sim-case-matrix-s8-06.report.json @@ -1,6 +1,6 @@ { "boundaries": [ - "TASK_READY is limited to 7 cases; 228 cases remain explicitly blocked by resource/HAL/INI conditions", + "TASK_READY includes only cases whose exact resources and Web HAL/INI preflight pass; remaining cases retain explicit blockers", "matrix is Worker startup classification, not official native oracle acceptance", "no blocked case is promoted by basename substitution" ], @@ -19,17 +19,17 @@ "status": "verified" }, "known_ready_cases": { - "cases": 10, + "cases": 95, "status": "verified" } }, "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "counts": { - "BLOCKED_HAL": 4, - "BLOCKED_INI": 3, - "BLOCKED_RESOURCE": 216, - "BLOCKED_STARTUP": 2, - "TASK_READY": 10 + "BLOCKED_HAL": 106, + "BLOCKED_INI": 19, + "BLOCKED_RESOURCE": 12, + "BLOCKED_STARTUP": 3, + "TASK_READY": 95 }, "execution": { "command": [ @@ -41,61 +41,99 @@ "case_count": 235, "cases": [ { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:fcb5b4496ae874f6", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/anglejog/anglejog.tbl", - "linuxcnc/configs/sim/axis/anglejog/anglejog.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:883c0a0910f6552d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/anglejog/anglejog.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/anglejog/anglejog.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/anglejog/anglejog.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/anglejog/anglejog.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/anglejog/anglejog.tbl" + } + ], "source_sha256": "2a8c89afad09a946eddae548b3bfdc3aa4c1f385e785e24a6a50db722215d035", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:1e272d74951767e3", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:3ee8ff940384bc6e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/sim-9axis.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 34, + "loader_state_hash": "fnv1a64:90f02953a8ae747d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/axis_9axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/axis_9axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim-9axis.var" + } + ], "source_sha256": "6e3b7b49ed0ed5d840ff8052c05d9c50dad4baba7c9b0bef43a774056388b403", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:783b4f44f0d92386", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, + "classification": "TASK_READY", + "fetched_count": 9, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:78d3d9f3a07ddbab", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 89, + "loader_state_hash": "fnv1a64:7abf1afd6a719568", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/axis_mm.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/axis_mm.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim_mm.var" + } + ], "source_sha256": "233aca0e517d0e6d70fa21da86734f6db80d4bee3761b28af92981bda1450749", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:a1c7d40972279437", "static_status": "blocked" }, { @@ -104,53 +142,86 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 140, - "loader_state_hash": "fnv1a64:88f46231effbd04b", + "loader_state_hash": "fnv1a64:5754179fa29e0d6f", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/axis.ini", "resource_blocked_count": 0, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "a41915c4d0d48f46dd595d5d269e2fc73962f7d19897b220368dbc0e4dc96594", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:ba58c24d4aaeb30a", + "startup_state_hash": "fnv1a64:9d756e970ffc5613", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:124066b76b000b7e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/canterp.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:a9645202d9d0e996", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/canterp.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/canterp.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/canterp.var" + } + ], "source_sha256": "6d7fa7ff7b5586731297f3c1da653c9266da87cd54a7351f361a9fd9ba1fee36", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:147ef9a22d04692a", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ce51240e9c4fc802", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 15, + "path": null, + "source": "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 63, + "loader_state_hash": "fnv1a64:ad31ba7fffef39e7", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/classicladder/demo_sim_cl.var" + } + ], "source_sha256": "db8d3ac20cfb5cbdb3cc2c888cbadcbdc296b1e0dc171afabcdc167d2442581c", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:b12f616d58451977", "static_status": "blocked" }, { @@ -159,15 +230,32 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 100, - "loader_state_hash": "fnv1a64:7a36b86ad37e175f", + "loader_state_hash": "fnv1a64:d1b293b3746197ca", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini", "resource_blocked_count": 0, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/corexy/linuxcnc.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/corexy/corexy_by_hal.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/corexy/tool.tbl" + } + ], "source_sha256": "e838da30ce5fba2d049487d48bd2aeff46b1390a5a448f31980d9ce06121740f", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:9eaf83b6115a49a8", + "startup_state_hash": "fnv1a64:33c1a4fd43c86948", "static_status": "ready" }, { @@ -176,417 +264,692 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 72, - "loader_state_hash": "fnv1a64:330a5d2f9d7b1a02", + "loader_state_hash": "fnv1a64:601fe7743440277d", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini", "resource_blocked_count": 0, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/corexy/linuxcnc.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/corexy/corexy_by_kins.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/corexy/tool.tbl" + } + ], "source_sha256": "b6682cc5186944a44c2aa78501c4f350e56b4da1151348fa9fc3ece5f0eeea3a", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:5fb982e5b98cec3d", + "startup_state_hash": "fnv1a64:cfc42d3b1ef963c9", "static_status": "ready" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:61223b9339913a27", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/db_demo/db_nonran.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:303546ee5b858fce", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/db_demo/db_nonran.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/db_demo/db_nonran.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/db_demo/db_nonran.var" + } + ], "source_sha256": "5da7358586f1d94de2564011d161817b694105f81d076fba6b922e1fab8a42fb", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:6c33d8da7d3da255", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:8feb75a41d9dd45d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/db_demo/db_ran.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:a4635d5dc7eb0a49", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/db_demo/db_ran.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/db_demo/db_ran.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/db_demo/db_ran.var" + } + ], "source_sha256": "d53daf2cd1bb1fb43538c4ba5194fe72b660c9fd3f3812e54429c84b9005468e", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:65caebab06118bdf", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 2, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:cfa62ce054fa59f2", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/external_offsets/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 3, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:85ff9ddc27edc8d4", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/external_offsets/dynamic_offsets.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/external_offsets/dynamic_offsets.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/external_offsets/sim.var" + } + ], "source_sha256": "4889a5b4227148c706ec527dda91ae4229161f23d942f62aec122492ee8138c7", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:95ebf5840ddbff83", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:307e40db1af14aec", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/external_offsets/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 35, + "loader_state_hash": "fnv1a64:159ba644637efce3", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/external_offsets/eoffsets.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/external_offsets/eoffsets.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/external_offsets/sim.var" + } + ], "source_sha256": "d6002e2682da417caf66fcae6d6bee9df4c44f1f3355ef70a7f759ed57ad74f7", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:d8a1a8b96f774491", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 2, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:345e42913f79979e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/external_offsets/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 3, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:79da11f079ba8bfe", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/external_offsets/jwp_z.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/external_offsets/jwp_z.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/external_offsets/sim.var" + } + ], "source_sha256": "0e48f593dc6412e59d41844b58f2b3e1ff1e1c3659d38d64f06e4bb893a0f5e5", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:5d392fd40ae04d37", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:551ab46d9ec231ca", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/external_offsets/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 55, + "loader_state_hash": "fnv1a64:547d2858de91d3d2", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/external_offsets/opa.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/external_offsets/opa.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/external_offsets/sim.var" + } + ], "source_sha256": "b965264ad6d7a50a5332f8dd2f29928598fce155ec7954511cbdce549b9ff002", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:fed58822887e2ea1", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 4, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 9, + "path": null, + "source": "linuxcnc/configs/sim/axis/extrajoints/12extrajoints.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:1375ef788f7eab7a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/extrajoints/sim.var" - ], + "loader_state_hash": "fnv1a64:dfdf367424caa53f", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/extrajoints/12extrajoints.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/extrajoints/12extrajoints.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/extrajoints/sim.var" + } + ], "source_sha256": "7b869a94e99c728403cb5fd38b949a1a95ab93a793e3d2b803dd85902595a0af", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:7859571d99073290", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 2, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 3, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 13, + "path": null, + "source": "linuxcnc/configs/sim/axis/extrajoints/1extrajoint.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:71b05698bd58c09a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/extrajoints/sim.var" - ], + "loader_state_hash": "fnv1a64:952f6334726f5f38", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/extrajoints/1extrajoint.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/extrajoints/1extrajoint.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/extrajoints/sim.var" + } + ], "source_sha256": "2c3bec6dcab552b34c84e1cfba25270afe1720f7a2ebf34a9d76cba800d0d538", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:92db78ba1fbc71c7", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 4, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 8, + "path": null, + "source": "linuxcnc/configs/sim/axis/extrajoints/2extrajoints.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:062a368818e8de93", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/extrajoints/sim.var" - ], + "loader_state_hash": "fnv1a64:64d01c7bd8e8b0eb", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/extrajoints/2extrajoints.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/extrajoints/2extrajoints.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/extrajoints/sim.var" + } + ], "source_sha256": "cc254899d06dcd870a978cf22ec832b7b6c6603022749a1602e81a8d92afa950", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:129dabaf0009508b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:d548c76c5b34fad9", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/foam/foam.var", - "linuxcnc/configs/sim/axis/foam/sim.tbl" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:7a921a38172b7096", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/foam/axis_foam.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/foam/axis_foam.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/foam/foam.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/foam/axis_foam.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/foam/sim.tbl" + } + ], "source_sha256": "a176d322e607957f554a954e2cf5e4241ff4ef1181b609990044dcc3432ff958", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:effac2633e89c0d9", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e8bc65619e193f9b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gantry/sim.tbl", - "linuxcnc/configs/sim/axis/gantry/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 75, + "loader_state_hash": "fnv1a64:2fe4944969d232d8", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/gantry/gantry_jjog.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "da911359e075e5dbf9f129bafc389e059aa0f754bb4c0ce67b410ac63e5f91ab", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:f5175caf6217603a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gantry/gantry_mm.var" + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gantry/gantry_jjog.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gantry/sim.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/gantry/gantry_jjog.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/gantry/sim.tbl" + } ], - "path": "linuxcnc/configs/sim/axis/gantry/gantry_mm.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "0692df9758234ff4cb29b22ee58688fe2bf450d93cc386ae096e0a943ef475e3", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "source_sha256": "da911359e075e5dbf9f129bafc389e059aa0f754bb4c0ce67b410ac63e5f91ab", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:82aa408856c3b44b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:962300261e2c8e26", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gantry/sim.tbl", - "linuxcnc/configs/sim/axis/gantry/sim.var" + "hal_blocked_count": 0, + "hal_record_count": 11, + "loader_state_hash": "fnv1a64:e93beb667ec043b1", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/axis/gantry/gantry_mm.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gantry/gantry_mm.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gantry/gantry_mm.var" + } ], - "path": "linuxcnc/configs/sim/axis/gantry/gantry.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "acc7db8d6a38a64598ef277dfea3480f0e7400d461784a0fa0139bded93d5a68", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "source_sha256": "0692df9758234ff4cb29b22ee58688fe2bf450d93cc386ae096e0a943ef475e3", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:146f37acee43f6de", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 2, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:36b62284545b2181", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/geometry/xyzc.var" + "hal_blocked_count": 0, + "hal_record_count": 75, + "loader_state_hash": "fnv1a64:eb2289eaacb896cf", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/axis/gantry/gantry.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gantry/gantry.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gantry/sim.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/gantry/gantry.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/gantry/sim.tbl" + } ], + "source_sha256": "acc7db8d6a38a64598ef277dfea3480f0e7400d461784a0fa0139bded93d5a68", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:b063cc2b0960796d", + "static_status": "blocked" + }, + { + "classification": "BLOCKED_HAL", + "fetched_count": 3, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:c1eae5d1aee3acfc", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/geometry/xyzc_origin.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/geometry/xyzc_origin.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/geometry/xyzc.var" + } + ], "source_sha256": "77aba40722c7a481aad66e3bf05b3fe283965b01d6444c1abc78841c6154363a", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:db5599bc812519a2", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 2, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:23d0f9beef97660a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/geometry/xyzc.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 3, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:4958d175db6e1afc", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/geometry/xyzc.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/geometry/xyzc.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/geometry/xyzc.var" + } + ], "source_sha256": "cafbb5d4c275be232cadb1c4b11d84b2791e8c5544c20f84a7eed3b5ed8bab1e", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:cf48a64ec56e3723", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:133eefb38866fd39", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gladevcp/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:9f7c8f97873678bc", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel_tester.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel_tester.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gladevcp/sim.var" + } + ], "source_sha256": "e8e88a97002d008d234d664d6f14e866b39c89fc09d2d392fffb80367cb6ed68", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:749c0c5e3c03d4d1", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:9e6cbcd30ddad6d1", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gladevcp/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:2932ef220c7dc004", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_panel.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gladevcp/sim.var" + } + ], "source_sha256": "c216752c2f032d47fe3910f6b66ac6375c8cb1201b6393b2f01b9c978f0708e6", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:c6f6f8a111d91ace", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a420c56beb2de994", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gladevcp/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:e6accd8f1b8777d0", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_tab.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gladevcp/gladevcp_tab.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gladevcp/sim.var" + } + ], "source_sha256": "bdbad54582ad4f4cb304bf5c33ea3d45dc7b88a21445cc12737d5fc245624890", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:55193e2ddb88983b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:48d825d21634634e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gladevcp/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:27c8f16b56c2363c", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/gladevcp/probe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gladevcp/probe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gladevcp/sim.var" + } + ], "source_sha256": "66b8ba2d3c6c21409a6686923540058c85fcd5632ffb9827315a5b0f518c5ec9", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:beb3edfcb514c3a5", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:990d002ded78ddba", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/gladevcp/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:a424eb25b8a041d8", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/gladevcp/set-param-from-ini.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/gladevcp/set-param-from-ini.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/gladevcp/sim.var" + } + ], "source_sha256": "651f25fd7656f739c2ae57f033183ba82fecb07b29c0b8b908608ce4d21ab6f5", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:9a9c3864b1f1784e", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:74b07eb629afe17b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 1, + "path": null, + "source": "linuxcnc/configs/sim/axis/halui_pyvcp/pyvcp.hal" + }, + "hal_blocked_count": 1, + "hal_record_count": 127, + "loader_state_hash": "fnv1a64:0eff00ac43f128b0", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/halui_pyvcp/halui.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/halui_pyvcp/halui.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/halui_pyvcp/sim.var" + } + ], "source_sha256": "b74f150915d006fe9ecd14ea0bcb231b7e04d1d44649020de7e0324f1782d3f5", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:d1111c699e44aa14", "static_status": "blocked" }, { @@ -600,34 +963,55 @@ }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:4179a9dfb0cbf4ce", + "loader_state_hash": "fnv1a64:746739f40f426fbd", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/histogram_demo.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/histogram_demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "3eabc315db8e9e21951438ebd95fc5f30cf9b0d5ecb5277e66138f3ccdbdc7f8", "startup_state": "BLOCKED", "startup_state_hash": "fnv1a64:4e6bba187617fb0c", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:3929adf80444dac1", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/sim-lathe.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 9, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/lib/hallib/lathe.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 100, + "loader_state_hash": "fnv1a64:4c808fd321674361", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/historical_lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/historical_lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim-lathe.var" + } + ], "source_sha256": "62809856093198b7a584553d71633a5b40210a059223277d2d3e640563e2de68", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:0d338228582109f8", "static_status": "blocked" }, { @@ -641,12 +1025,21 @@ }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:e6dd2e047b3d6bf5", + "loader_state_hash": "fnv1a64:e4fd170d01f92a74", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/ini_hal_demo.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ini_hal_demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "9abb6d63c35d14d440366d822283521c9169a89fc36d4685c4597fa77fab2879", "startup_state": "BLOCKED", "startup_state_hash": "fnv1a64:6d297279157366e0", @@ -654,193 +1047,284 @@ }, { "classification": "BLOCKED_RESOURCE", - "fetched_count": 20, + "fetched_count": 21, "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:c38b451540893083", + "loader_state_hash": "fnv1a64:d230723c20605d03", "loader_status": "blocked", "missing": [ - "linuxcnc/configs/sim/axis/ini_with_includes/nosuchfile", - "linuxcnc/configs/sim/axis/ini_with_includes/sim.var" + "linuxcnc/configs/sim/axis/ini_with_includes/nosuchfile" ], "path": "linuxcnc/configs/sim/axis/ini_with_includes/includes_demo.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ini_with_includes/includes_demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ini_with_includes/sim.var" + } + ], "source_sha256": "64e0ecbb9fa8d17c54e71c1d59ada6cb79f61f1565f62d57cd2bece9c7237704", "startup_state": "BLOCKED", "startup_state_hash": null, "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:759dcb9f0f9c1c98", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:9c840e4d475b3d7c", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/iocontrolv2/axis-iocontrolv2-demo.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/iocontrolv2/axis-iocontrolv2-demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + } + ], "source_sha256": "9e23e1329c3dcd721f6b65f001b77dbd90e88d19b374545c250c49a88442deff", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:f0c2d37025242226", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:fed650f76b746e0f", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:57e0740a39684c76", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/iocontrolv2/g8812.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/iocontrolv2/g8812.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + } + ], "source_sha256": "334ca534c3eafac4022c5895431515f8f05bbd2a1f150ae09e53b88938b2fd1a", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:f8d747f6dda2de30", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4d40ffee02f42efa", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:20c8ac88aaf0807d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/iocontrolv2/m66track.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/iocontrolv2/m66track.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + } + ], "source_sha256": "c91c56594fb99934a677786e7f8b6b90299cb29f4d8b3be3e85fe9a957579a69", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:677cee6aa4a70ca7", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:42e3626662a63b7f", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:8794d50965ccfa93", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui-ns.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui-ns.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + } + ], "source_sha256": "1b4cdcba969b9494cc5137d602a9a9c216d158f89e3279cff6a41a035b0f9961", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:9e9ed68b12b41e43", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b67ada8cb21fc6a4", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:c867b5c8ea511d48", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/iocontrolv2/owordm6-ui.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/iocontrolv2/sim_mm.var" + } + ], "source_sha256": "b8de1b4257ef8b8eded585e02e36e3ee6caedad53b3f18f45f94bc9cc0b12b2b", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:08a93e1a9ce107b7", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 4, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 5, + "path": null, + "source": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:3eb78acc538922b3", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var" - ], + "loader_state_hash": "fnv1a64:54b38808800039ca", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyyzb.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var" + } + ], "source_sha256": "466833eb371da18428abeac86d759fe36ed5bff73b60a51c10e5303e39c86316", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:b2dbde4d4affbd4e", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 4, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 4, + "path": null, + "source": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:701eb4c8ff939a29", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var" - ], + "loader_state_hash": "fnv1a64:90c4d607a631c5f9", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ja_tests/xyzb_locking_indexer/xyzb.var" + } + ], "source_sha256": "796eacff0e56b2a65d9367836f8c9a17c7f967ae467bc1077503c18f57d362db", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:c642f423abf80b97", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:55ee8ec76fb37d1a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 387, + "hal_record_count": 400, + "loader_state_hash": "fnv1a64:2da5b749531097fc", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx-xhc-hb04.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx-xhc-hb04.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.var" + } + ], "source_sha256": "565d8d65dda4aa26a14c7ae641a81d7c5a0bc311ab308e63bdbebcf910aacdb9", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:7774b10c8aea8bde", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 5, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 10, + "path": null, + "source": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:4e719284e0f787ea", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.var" - ], + "loader_state_hash": "fnv1a64:c1ab94a3fbcac415", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ja_tests/xyzx_mpg/xyzx.var" + } + ], "source_sha256": "6888dfaee112f61d521e0f3cc3af5603863303e24e8e60c80a76b04f88127087", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:078e396b6894f1d6", "static_status": "unindexed" }, { @@ -849,12 +1333,20 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 101, - "loader_state_hash": "fnv1a64:6998a2e084e48833", + "loader_state_hash": "fnv1a64:df19f8a145f1489d", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto.ini", "resource_blocked_count": 0, "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz.var" + }, { "case_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz_both_auto.ini", "config_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xzbase.inc", @@ -864,7 +1356,7 @@ ], "source_sha256": "d94eae8d51a00027f75ff45b84f14e2721de466c4be1af3a5e15d7beeec58ac3", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:1360a74237b2e63d", + "startup_state_hash": "fnv1a64:6377e82e4920afd8", "static_status": "ready" }, { @@ -873,12 +1365,20 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 101, - "loader_state_hash": "fnv1a64:21e84877bb4577bf", + "loader_state_hash": "fnv1a64:a98e33012b17653d", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz_both.ini", "resource_blocked_count": 0, "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz_both.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz.var" + }, { "case_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz_both.ini", "config_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xzbase.inc", @@ -888,7 +1388,7 @@ ], "source_sha256": "d75c9e05e2a781d1344b3840ba82adc6d7d8d47f53aa11b04c3b918d20c5faae", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:75503e90f7838c58", + "startup_state_hash": "fnv1a64:dfb0daf3ee7e0870", "static_status": "ready" }, { @@ -897,12 +1397,20 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 101, - "loader_state_hash": "fnv1a64:ac6bb635f7de1e65", + "loader_state_hash": "fnv1a64:a4ab68a146862e0b", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz.ini", "resource_blocked_count": 0, "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz.var" + }, { "case_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xz.ini", "config_path": "linuxcnc/configs/sim/axis/ja_tests/xz/xzbase.inc", @@ -912,84 +1420,139 @@ ], "source_sha256": "07f5257557a540b02781de3a641dd1830a78a4cbb15a9cc68ad8d2c6eae8ec81", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:56f596c8fa411397", + "startup_state_hash": "fnv1a64:44094ec5ccb824dc", "static_status": "ready" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:266a402465cc7e27", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/laser/laser.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:1fe9168e275f4963", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/laser/laser.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/laser/laser.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/laser/laser.var" + } + ], "source_sha256": "343fcbd64cde1f191b3f9835b56bc8ad4ee244cf1eca824b7c7ec07305a260bd", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:6757c159b30c8113", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "BLOCKED_HAL", "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:96845032b4af014d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.tbl", - "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var" - ], + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 116, + "loader_state_hash": "fnv1a64:2e997b646b18f745", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/lathe_multispindle/sim-lathe.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/lathe_multispindle/lathe.tbl" + } + ], "source_sha256": "fb2dbd47226cf39cc2149850e44d22324c6d6af886e1a2a0d43fa8d9ff36efe6", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:3afe01e1eb3be7b7", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a4c4c8351cbf18e1", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:255ed539bfda20b1", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/lathe-fanucy/lathe-fanucy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/lathe-fanucy/lathe-fanucy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/lathe-fanucy/sim-lathe.var" + } + ], "source_sha256": "be3724c6093b9d507e40d41ef1f5047c3244e8a95acba3aaa72176e15752675c", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:145a82171a643495", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e2e0a3f4b09689e2", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/sim-lathe.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:d6f99e12d3a33155", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim-lathe.var" + } + ], "source_sha256": "e1ce3667979cf2ea4813aa492c2061727d3f02a4d9592db0e4889f4fa53a6447", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:931516b3d0dbde25", "static_status": "blocked" }, { @@ -1003,12 +1566,21 @@ }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:9b164ef56c5d22ac", + "loader_state_hash": "fnv1a64:da5378d1c05fb90f", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/ldelta_demo.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ldelta_demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "ab0645308abe903bf66f36a328b43303aa0e8ad2d19e69a45e2703d665956439", "startup_state": "BLOCKED", "startup_state_hash": "fnv1a64:2c1ddc0f24c80126", @@ -1020,15 +1592,24 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 26, - "loader_state_hash": "fnv1a64:096e9bf27d17dd52", + "loader_state_hash": "fnv1a64:c2b641d54884c5d5", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/ldelta.ini", "resource_blocked_count": 0, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ldelta.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "1567138c3d54b4d9712b5031f6a0b060edadd8d1442d1eff8d93c2beefbb5e0c", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:82501853a99f7ac7", + "startup_state_hash": "fnv1a64:d4997f8214da29f5", "static_status": "blocked" }, { @@ -1037,12 +1618,20 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 132, - "loader_state_hash": "fnv1a64:90f3d9d1fc4ffa6e", + "loader_state_hash": "fnv1a64:26abfd27afe303aa", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/minimal_xyz.ini", "resource_blocked_count": 0, "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/minimal_xyz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + }, { "case_path": "linuxcnc/configs/sim/axis/minimal_xyz.ini", "config_path": "linuxcnc/configs/sim/axis/minimal_xyz.ini", @@ -1052,333 +1641,553 @@ ], "source_sha256": "63923bfb90f4aba843cb89f8dccc34732d803e2bfd5598ed23a2ba22f360d00a", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:a0391180d4faafb6", + "startup_state_hash": "fnv1a64:765ca470c81e5470", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 9, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 18, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/1_onpause_local.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:56d95eb3b94409ed", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:6edf5e629c63e134", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/1_onpause_local.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/1_onpause_local.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "d773e556b4692d60fe55b68d92a02ee69ba1dd128ef3ae4936327fc0f4451761", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:585110b46b52cb7e", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 9, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 10, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 21, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/2_onpause_external.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:e1713cf05bcb1b56", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:047d35061d1c326a", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/2_onpause_external.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/2_onpause_external.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "d5f20008f4f1d9f81c9fbb871b56ca5098c35b5428014fcfcbaf2da516a8143a", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:31a7f70412263529", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 9, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 18, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/3_always_local.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:1383dc9ff52a7649", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:701cecf7676ea8a6", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/3_always_local.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/3_always_local.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "248af931464559c734115afa4c6d7989d7ea4fbc047e8e97a5306baef72b3a8c", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:8c36f8ac8a92cb1e", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 9, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 10, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 21, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/4_always_external.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:61a5b418b9fd5ac8", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:925433ca2c041092", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/4_always_external.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/4_always_external.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "0bb9c9089b579c83afe8286623bdf7c0167e6544ddf73e84217a74cf952205f7", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:24cdc74077522245", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 9, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 18, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/5_no_gui.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:7a63039a5494a5e6", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:5b489751223c7ea1", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/5_no_gui.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/5_no_gui.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "e4e29328d1434e870018460aaaaf986b8e32ed5aa8f4c043d1df7a24f8438376", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:4b1753cba7946d66", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 9, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 10, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 37, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/6_zretract.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:f6a3c7160c7ba9ff", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:d839230f9b149e35", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/6_zretract.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/6_zretract.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "5a8aff43dbb07753e983a562f0ea79eaa0859e9214155bb2657a1d2bde18ec50", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:929f3a6946a51aa3", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 9, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 10, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 24, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/7_pyvcp.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:cfbd9e87cdff6bae", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:cd3966fd4d49b228", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/7_pyvcp.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/7_pyvcp.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "e0fd69e140a109f84e2cd418f91d1312badb8db0d7d8861e42753955140602d2", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:2f0695d946eb9b21", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 9, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 10, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 25, + "path": null, + "source": "linuxcnc/configs/sim/axis/moveoff/8_gladevcp.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:4bd06f544a513f1a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/moveoff/sim.var" - ], + "loader_state_hash": "fnv1a64:2333bb17347b2f1d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/moveoff/8_gladevcp.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/moveoff/8_gladevcp.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/moveoff/sim.var" + } + ], "source_sha256": "a67d7d08de6e0f675280ab4b9d9a50bbf400eae364913282d5370307900180b2", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:6ba570afdf8716c2", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:19428ae9f653f5f2", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ngcgui/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:92f34dd471b009d1", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_gcmc.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_gcmc.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ngcgui/sim.var" + } + ], "source_sha256": "a4cb71679b44afeb5734f8f07d1e2f63332faff54bfd7f9bfd4abfe706a651fe", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:ddb725206194ece7", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:84b2e57b72136a17", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ngcgui/sim-lathe.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:bc4ae8298e677708", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ngcgui/sim-lathe.var" + } + ], "source_sha256": "ec11d67522375c3cd1afbb76b5f12cbe6e5e9e51b430697f54b0e7088639db5a", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:2f2d6aca5e9369d1", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b1b9e3255d98c6a4", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ngcgui/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:7230dfdc36cf2bd5", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_simple.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui_simple.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ngcgui/sim.var" + } + ], "source_sha256": "ec42c49461f66a395154b09e18d94674a17e8a7249791c5adf33b85ea6a19640", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:84ebc56913e15cbf", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:3411193d2ebfee05", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ngcgui/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:170fe757ccd0aaaf", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ngcgui/ngcgui.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ngcgui/sim.var" + } + ], "source_sha256": "a461d37954c2e621505a4f8b6387c00a37489236ccf8522370e3076ddca33b00", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:092faddb45dfe957", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:02e53157beaddfb2", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/ngcgui/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:fa985194a6d2631f", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/ngcgui/pyngcgui_axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/ngcgui/pyngcgui_axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/ngcgui/sim.var" + } + ], "source_sha256": "71f8ed201b46c4642e3f7d787065940e5d29b31452a5802056ede460cecd9f52", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:7dd3884f9618c632", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ac7f12e7c37fd2d6", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/orphans/sim.tbl", - "linuxcnc/configs/sim/axis/orphans/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:d74df15844cdae13", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/orphans/acc_test.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/orphans/acc_test.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/orphans/sim.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/orphans/acc_test.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/orphans/sim.tbl" + } + ], "source_sha256": "8a47360f16911553f9d1a046486ae507e1ee26f314f7ff37b250d5dca420c24a", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:ca179bc3cda8764b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:c530d7db53265f4a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/orphans/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 49, + "loader_state_hash": "fnv1a64:05ed2881ef686d5e", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/orphans/axis_noio.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/orphans/axis_noio.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/orphans/sim_mm.var" + } + ], "source_sha256": "1358837965ce189bb445b1d75d7d4688fb9353ec02a9f3dae53fd3601a9943cc", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:5ca358f8faae41c5", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 1, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 3, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 208, + "path": null, + "source": "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/iocontrol-removed.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:e291de579c1cdfcc", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/sim_mm.var", - "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/tool.tbl" - ], + "loader_state_hash": "fnv1a64:531b9abbd46fdd3d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/iocontrol-removed.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/iocontrol-removed.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/sim_mm.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/iocontrol-removed.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/orphans/iocontrol-removed/tool.tbl" + } + ], "source_sha256": "6777d316581462ba253cec0f5e72ff148d7539bdd21b5e268c3e8da2455a7f31", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:14b5c59c817469af", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:c53d349548d2dd2f", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/orphans/sim.tbl", - "linuxcnc/configs/sim/axis/orphans/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 79, + "loader_state_hash": "fnv1a64:8f20a627ee3dc420", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/orphans/medium.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/orphans/medium.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/orphans/sim.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/orphans/medium.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/orphans/sim.tbl" + } + ], "source_sha256": "258bcd736539fa2d47af1d2c99dd748a2803f8b065c1ef0171e5a98cdbbbb0a6", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:fa846fce5a6c4acb", "static_status": "blocked" }, { @@ -1392,7 +2201,7 @@ }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:e24139577ebc787b", + "loader_state_hash": "fnv1a64:c835b68c192e4e26", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/panelui-demo/_panelui.ini", @@ -1404,41 +2213,65 @@ "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:13a039b42d199f3c", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/panelui-demo/linuxcnc.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 6, + "path": null, + "source": "linuxcnc/configs/sim/axis/panelui-demo/panelui-demo.hal" + }, + "hal_blocked_count": 4, + "hal_record_count": 98, + "loader_state_hash": "fnv1a64:bfa9bff7e3c27df6", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/panelui-demo/panelui-demo.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/panelui-demo/panelui-demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/panelui-demo/linuxcnc.var" + } + ], "source_sha256": "9b47416920a284322363e47771e612fca7415a0a0a594f9f7cbdf4a502c4757e", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:c47712cbba2afafe", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ac7549146ff3d892", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/pentapod/pentapod.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 54, + "loader_state_hash": "fnv1a64:4ea4cc76d9c4d0b6", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/pentapod/pentapod.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/pentapod/pentapod.var" + } + ], "source_sha256": "0fb210122ab482087d3a95e5e7487baecb84c3260dca1769970f4c19b2ad0618", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:ad84e2ba81ae0dd6", "static_status": "blocked" }, { @@ -1447,7 +2280,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:1bac37eec27df5dd", + "loader_state_hash": "fnv1a64:7bcfed410713b108", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/axis/plasma/imperial_parameters.txt" @@ -1466,7 +2299,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:bfc766b34683c705", + "loader_state_hash": "fnv1a64:cd256b9e14fe7bd0", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/axis/plasma/metric_parameters.txt" @@ -1490,53 +2323,24 @@ }, "hal_blocked_count": 27, "hal_record_count": 28, - "loader_state_hash": "fnv1a64:e71df2851f3e1639", + "loader_state_hash": "fnv1a64:6212e0df423a27df", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/profile_axis.ini", "resource_blocked_count": 0, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/profile_axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "f3e7bed9eeecea860ab15d9eef4319715eedcb13315b25f9e62ac9797baed7bb", "startup_state": "BLOCKED", - "startup_state_hash": "fnv1a64:9aaf9a3ecf9fab03", - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:262a385a16ae73a7", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/qtvcp/sim.var" - ], - "path": "linuxcnc/configs/sim/axis/qtvcp/qtvcp_tab.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "29d36b3435bc7b410d8dd57f794c9254a91c11ad06d1b26ad3be39489c4d51ee", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e328205274534f6f", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/qtvcp/sim.var" - ], - "path": "linuxcnc/configs/sim/axis/qtvcp/qtvismach_tab.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "5e610fd07b44d291422378996f098fa27e4dc075e3f3fb49ad6267471b426206", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:42a4273ba2a8f4f0", "static_status": "blocked" }, { @@ -1550,15 +2354,86 @@ }, "hal_blocked_count": 27, "hal_record_count": 28, - "loader_state_hash": "fnv1a64:6d2b1cda0c321077", + "loader_state_hash": "fnv1a64:e4faf193fc3ae1f1", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/axis/qtvcp/qtvcp_tab.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/qtvcp/qtvcp_tab.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/qtvcp/sim.var" + } + ], + "source_sha256": "29d36b3435bc7b410d8dd57f794c9254a91c11ad06d1b26ad3be39489c4d51ee", + "startup_state": "BLOCKED", + "startup_state_hash": "fnv1a64:10928e8fbb3201cc", + "static_status": "blocked" + }, + { + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:055bbdd16c0afa97", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/axis/qtvcp/qtvismach_tab.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/qtvcp/qtvismach_tab.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/qtvcp/sim.var" + } + ], + "source_sha256": "5e610fd07b44d291422378996f098fa27e4dc075e3f3fb49ad6267471b426206", + "startup_state": "BLOCKED", + "startup_state_hash": "fnv1a64:464ae04f2aa3972e", + "static_status": "blocked" + }, + { + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:d654783364d64e73", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/random_tc.ini", "resource_blocked_count": 0, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/random_tc.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "d0b1614f287c10ad0d6dabf81aac69f78e187dddae30225ccaf501c8fdef0f29", "startup_state": "BLOCKED", - "startup_state_hash": "fnv1a64:6e4cbad73ec48e9c", + "startup_state_hash": "fnv1a64:fe7dc75c4cbe197c", "static_status": "blocked" }, { @@ -1567,146 +2442,235 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 34, - "loader_state_hash": "fnv1a64:e893ecf82a9f78dc", + "loader_state_hash": "fnv1a64:20334d69b09d1a29", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/rdelta.ini", "resource_blocked_count": 0, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/rdelta.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/sim.var" + } + ], "source_sha256": "53510733b8fd0230547f48f76ebd35dc5c98f58fe1dba1246777e227ef82c508", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:721e9336240bafcb", + "startup_state_hash": "fnv1a64:06f37cc8579c5405", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4c08bf8a74934768", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/remap/cycle/sim-9axis.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 34, + "loader_state_hash": "fnv1a64:b4d93441a5f1f5b0", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/remap/cycle/cycle.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/remap/cycle/cycle.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/remap/cycle/sim-9axis.var" + } + ], "source_sha256": "ee64fa142ddf5a5288cae36a39445a32488250755f72ea5a1d3df436c2694e8c", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:81b9a966bb7f6028", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e8dd9889b4137a6c", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/remap/extend-builtins/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:02d70a15ee491ba2", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/remap/extend-builtins/extend-builtins.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/remap/extend-builtins/extend-builtins.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/remap/extend-builtins/sim.var" + } + ], "source_sha256": "432ff320ac6d3518a73ae69e924c343c0740d04475a09f99391304f5f7e8cc76", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:62cc61868ff5e951", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:cbf813378acfbab8", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/remap/getting-started/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:ec8fde41f1c52539", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/remap/getting-started/demo.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/remap/getting-started/demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/remap/getting-started/sim.var" + } + ], "source_sha256": "763dd31e6eb32047eb35eecb933f822db3a65e87b1a214f982517369eecdd976", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:50acfc1f2f97de7b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:3dfcde4d913baa22", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/remap/manual-toolchange-with-tool-length-switch/sim_mm.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:d74da95fee07ce09", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/remap/manual-toolchange-with-tool-length-switch/manualtoolchange.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/remap/manual-toolchange-with-tool-length-switch/manualtoolchange.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/remap/manual-toolchange-with-tool-length-switch/sim_mm.var" + } + ], "source_sha256": "6d52f5596d0f0f90c9a2da5a0802d6dfe35c4fbfe1c9cd4e9e6f34a3ab52e064", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:e6d2f7713ef6a226", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:8913983765a9e4ca", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/remap/rack-toolchange/sim_mm.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 31, + "loader_state_hash": "fnv1a64:76886688391ceb7d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/remap/rack-toolchange/racktoolchange.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/remap/rack-toolchange/racktoolchange.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/remap/rack-toolchange/sim_mm.var" + } + ], "source_sha256": "742f1ca34ffc95b1781673ca6ebed5cc23376cc7d94c520d4f8d4036699109e5", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:f8557239bdf4b27b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:cc328097779d7910", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/remap/stop-lookahead/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:db9789abed185fb4", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/remap/stop-lookahead/demo.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/remap/stop-lookahead/demo.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/remap/stop-lookahead/sim.var" + } + ], "source_sha256": "aea088d4bb017ac0474dca3f696c76533d374cac5a40b71944d76a1c89e9dafc", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:eccdbf3e7cb161ea", "static_status": "blocked" }, { "classification": "BLOCKED_RESOURCE", - "fetched_count": 2, + "fetched_count": 3, "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:b09c8618099b1e56", + "loader_state_hash": "fnv1a64:573ab4e6cf36d7cf", "loader_status": "blocked", "missing": [ - "linuxcnc/configs/sim/axis/rose_engine/rose.tbl", - "linuxcnc/configs/sim/axis/rose_engine/tmp/rose.var" + "/tmp/rose.var" ], "path": "linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/rose_engine/rose_engine.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/rose_engine/rose.tbl" + } + ], "source_sha256": "0685e9ca8c05c903b715e9fed6ecd23cbac13911ed335b6d14e24eb235de25d3", "startup_state": "BLOCKED", "startup_state_hash": null, @@ -1723,7 +2687,7 @@ }, "hal_blocked_count": 1, "hal_record_count": 4, - "loader_state_hash": "fnv1a64:75f68ca58ac77601", + "loader_state_hash": "fnv1a64:6439853567fd3964", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/rotate/rotatekins.ini", @@ -1731,410 +2695,659 @@ "runtime_fixtures": [], "source_sha256": "324af9a73d21b5f0c9adaf3c97e698422790d403586901f9e161b6020b1fb4fa", "startup_state": "BLOCKED", - "startup_state_hash": "fnv1a64:926e74397ca3fc19", + "startup_state_hash": "fnv1a64:b19d34e3d19ff168", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:37313f0d6590bdeb", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/simtcl/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:72cfbc4d18194267", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/simtcl/twopass_basic.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/simtcl/twopass_basic.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/simtcl/sim.var" + } + ], "source_sha256": "b19e33bdaccebf5e060acdb5b0239b438a8f76c0e84dd1374420775f989bf766", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:159487f27f5a09b8", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", + "fetched_count": 8, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 58, + "loader_state_hash": "fnv1a64:93629e690eebf9f2", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/axis/simtcl/twopass_compat.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/simtcl/twopass_compat.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/simtcl/sim.var" + } + ], + "source_sha256": "d85d2940827bb6b2c945f69ef1ad18141bdc72f5c3391a7d816605320fd7ae57", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:4bb2024cca449536", + "static_status": "unindexed" + }, + { + "classification": "TASK_READY", "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:25208cc7f37a3dda", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/simtcl/sim.var" - ], - "path": "linuxcnc/configs/sim/axis/simtcl/twopass_compat.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "d85d2940827bb6b2c945f69ef1ad18141bdc72f5c3391a7d816605320fd7ae57", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "unindexed" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a47d465326cda2b3", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/spindle_orient/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 58, + "loader_state_hash": "fnv1a64:bfd20804fc2f1e1d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/spindle_orient/orient.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/spindle_orient/orient.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/spindle_orient/sim.var" + } + ], "source_sha256": "98d9ca88da31ae88a2ae51b80027939a6ebc6e700326ee7f3a108506aa908b04", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:0eca492c6cb6b4e6", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 9, + "classification": "TASK_READY", + "fetched_count": 10, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:dad1838f7e09b4cc", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/twopass/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 86, + "loader_state_hash": "fnv1a64:90ce5411f0eeb68a", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/twopass/twopass.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/twopass/twopass.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/twopass/sim.var" + } + ], "source_sha256": "9b88396ab9461605c378ba933faf6cf17bfc7c960220e6fb4573d17c81f24526", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:18b43f5e039f188e", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:067d76fe0da990dd", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 56, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal" + }, + "hal_blocked_count": 1, + "hal_record_count": 37, + "loader_state_hash": "fnv1a64:37a409f6cded2aab", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var" + } + ], "source_sha256": "b801d4fb7a3d66fac7a4202d56c384f75b039f55c70cce64c2975c5454875388", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:d2bc379eff44b8b4", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:77a7833983265034", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 1, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axisgui.hal" + }, + "hal_blocked_count": 28, + "hal_record_count": 47, + "loader_state_hash": "fnv1a64:3a673bab3eb2bc32", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/5axis/bridgemill/5axis.var" + } + ], "source_sha256": "789ba656f8ee3e97feba07b58eb242305898e745795891b1a7e536289bffe6bf", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:deb1d2576e70ae48", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:220ec97858498c69", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 5, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5kins.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 74, + "loader_state_hash": "fnv1a64:ed103b47c459f98b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5kins.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5kins.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.var" + } + ], "source_sha256": "ea7d453127122b7831e74de2204b446c514f3c999961a4be412b36880bacb8b6", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:ad5f753e8686dbd9", "static_status": "ready" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:1aaed5998f5e3b9b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 15, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.hal" + }, + "hal_blocked_count": 1, + "hal_record_count": 73, + "loader_state_hash": "fnv1a64:40fcdc4efe1940eb", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/5axis/max5/max5triv.var" + } + ], "source_sha256": "92afb2043a559d8eb9e638bfb9862c8ec917deb49987c788989fe538e8ddeefb", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:db1ce30c5f8c8291", "static_status": "ready" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:02f5b9c576e01b40", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/emc2.gif", - "linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:10bacb39fb741b6b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary/xyzab-tdr.var" + } + ], "source_sha256": "923d0a9e75ff595e05a5fe13194cbd7eee7465419b995fe852503435a8d35907", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:3d04e3b5f4000ea1", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "BLOCKED_HAL", "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:cce0eedee81f9e9d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/emc2.gif" - ], + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:ce2894010c0f37d0", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac.var" + } + ], "source_sha256": "9ee1d96962e7a44b25468f452543cfc3ca318585269e26227bb5b6e17b1e42f1", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:e76e497aa6578a91", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4b6a0876dbf9481c", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/emc2.gif", - "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:670d5f9a8bf0a033", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc.var" + } + ], "source_sha256": "78ce55d1e96e6f6a68f7352d530f9f84f3a68188cbe3b45e908a085295180c78", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:ba56025da4c4c62f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:73129765aa1e2616", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/hbm/hbm.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 15, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/hbm/hbm.hal" + }, + "hal_blocked_count": 1, + "hal_record_count": 62, + "loader_state_hash": "fnv1a64:90141feb38160bda", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/hbm/hbm.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/hbm/hbm.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/hbm/hbm.var" + } + ], "source_sha256": "63eafce3b9ee34cc0ff489dd754e1657a4cfd08d16147f28be38687e19604b4d", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:0cf484b809c55dd9", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4d26a32b7cfc2c13", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.tbl", - "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 65, + "loader_state_hash": "fnv1a64:b59aae20ee353a8e", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/vismach/hexapod-sim/hexapod.tbl" + } + ], "source_sha256": "362654b77bcaf5c87c3aa14c12684f516cbd635b6d582a68b05fcbd8299822ea", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:c3a0d36a6887534f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:81d443f5d21fb0b7", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 46, + "loader_state_hash": "fnv1a64:cc6a09e32edbd383", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/melfa-sim/melfa.var" + } + ], "source_sha256": "7dc7a3db58ca7f7ddba11fe08f691cd7658564be2a0b872d9087ee7b392e45c7", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:6cfa51bd8bfaf1c1", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:efa2daa624b79121", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/millturn/millturn.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/millturn/millturn.hal" + }, + "hal_blocked_count": 28, + "hal_record_count": 37, + "loader_state_hash": "fnv1a64:89264101c6b18cbd", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/millturn/millturn.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/millturn/millturn.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/millturn/millturn.var" + } + ], "source_sha256": "dfdb6e6c295c4ca9ebf9ff11f31c1b5d6fed4079b8e48b7b59cf7fee6b8b1547", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:be8f8c55ed3e7ae0", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:262eac5f544821bc", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/puma/puma.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 33, + "loader_state_hash": "fnv1a64:b58321ffb900bcee", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/puma/puma_cube.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/puma/puma.var" + } + ], "source_sha256": "0204289788840e0dcaaeb55a2a85cf44a3754845636a897df6efeb165db0de15", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:b6b9689bb091298a", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:808a796e3f8249a0", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/puma/puma.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 33, + "loader_state_hash": "fnv1a64:90ba31cf66741062", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/puma/puma.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/puma/puma.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/puma/puma.var" + } + ], "source_sha256": "26ee23af27aa03d2da89b842992802ece2423195a5ac0960b28bb751871d74f6", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:03197646348b6c5f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:f1f8bf44f4ddecaa", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/puma/puma560.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 46, + "loader_state_hash": "fnv1a64:a96461f238941362", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/puma/puma560_uvw.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/puma/puma560_uvw.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.var" + } + ], "source_sha256": "50bf5dbc4cf70b0c18afea3dcbc577fbb6166152300cd16e27819de1fafe41b0", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:e55cb37eb179b34b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a9de6c60d7bd8b82", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/puma/puma560.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 46, + "loader_state_hash": "fnv1a64:80eada894d703595", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.var" + } + ], "source_sha256": "2bb881ed6c5662282977accac29bfd6c4efc18e572cbcb8a31c134677012cf4c", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:53bb59cf55291a57", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, + "classification": "BLOCKED_STARTUP", + "fetched_count": 5, + "first_diagnostic": { + "code": "ini_variable_missing", + "line": 10, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/rolfmill/rolfmill.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:29a4df8c48f0becd", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/rolfmill/rolfmill_mm.var" - ], + "loader_state_hash": "fnv1a64:00744bdae24ce6bf", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/rolfmill/rolfmill.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/rolfmill/rolfmill.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/rolfmill/rolfmill_mm.var" + } + ], "source_sha256": "b122ac25ed12462b02d10828c469bafdcb231e9cbed07e96b6a7709380bdf0ad", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:5880ebaeba34eded", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:6fe64a4b240bb5ed", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/scara/scara.tbl", - "linuxcnc/configs/sim/axis/vismach/scara/scara.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:2a84a6ddaccf7e76", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/scara/scara.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/vismach/scara/scara.tbl" + } + ], "source_sha256": "602e02bb6d320b728d9ae15904a5d229ea1a31e932c18e9018b45be007d695ce", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:63669080f32ed64b", "static_status": "blocked" }, { @@ -2148,7 +3361,7 @@ }, "hal_blocked_count": 1, "hal_record_count": 4, - "loader_state_hash": "fnv1a64:a15c10545f0dd818", + "loader_state_hash": "fnv1a64:e396c3078c05de21", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/scorbot/scorbot.ini", @@ -2156,122 +3369,196 @@ "runtime_fixtures": [], "source_sha256": "4e8edd061a033d45e1e71c56bdd521ee10d3f60def3be020bbd437fc49271343", "startup_state": "BLOCKED", - "startup_state_hash": "fnv1a64:f268e7d696c667cc", + "startup_state_hash": "fnv1a64:e9f264fab1af9b16", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:d404fdbfb15f27ff", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 8, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 7, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/sim_vmc.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 195, + "loader_state_hash": "fnv1a64:f22b91a53ff3b92b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc_graycode.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc_graycode.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc.var" + } + ], "source_sha256": "5825522880add3a8614e1fd5c168b16533f7b7b898b00a640b6e74f281270d2b", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:c2c5a3901095f3fe", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:838be8a367038e08", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 8, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 7, + "path": null, + "source": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/sim_vmc.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 196, + "loader_state_hash": "fnv1a64:88c2cc60848819be", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc_index.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc_index.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/vismach/VMC_toolchange/vmc.var" + } + ], "source_sha256": "0f6e02c370c529d080bf913c1771169652bf8fe1b67cdda86cb93e2c8f933abe", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:4e086ca1e06f701f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:f36574f1bc271fbb", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/wrapped_rotary/gantry_mm.tbl", - "linuxcnc/configs/sim/axis/wrapped_rotary/wrapped_rotary.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 11, + "loader_state_hash": "fnv1a64:fbc60f1417b46ee4", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/wrapped_rotary/wrapped_rotary.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/wrapped_rotary/wrapped_rotary.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/wrapped_rotary/wrapped_rotary.var" + }, + { + "case_path": "linuxcnc/configs/sim/axis/wrapped_rotary/wrapped_rotary.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/axis/wrapped_rotary/gantry_mm.tbl" + } + ], "source_sha256": "a9d1ffd13139631bba4b4eec761e99b3245ad18be951d076eb3a949e3e6c3798", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:57ccb467d2607792", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:216232edbd167565", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/xhc-hb04/sim-9axis.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 9, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 387, + "hal_record_count": 400, + "loader_state_hash": "fnv1a64:1081e2ded851bdb9", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout1.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout1.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/xhc-hb04/sim-9axis.var" + } + ], "source_sha256": "07b2c68847bdb8136adfc04193826c6019981c80a7219a1dbbb733d337b8f817", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:7ff8416b40cf3662", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:03f0d093c6d93a6e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/xhc-hb04/sim-9axis.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 9, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 387, + "hal_record_count": 400, + "loader_state_hash": "fnv1a64:d6a511e784d1e106", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2_mm.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2_mm.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/xhc-hb04/sim-9axis.var" + } + ], "source_sha256": "cbc5c40c2a7fbfa0ead5f52dde952a0f1cd088895cdc1f06a5d01060c54aef41", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:d569d56f0a557a7d", "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:3f8c9b46017f0978", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/axis/xhc-hb04/sim-9axis.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 9, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 387, + "hal_record_count": 400, + "loader_state_hash": "fnv1a64:104771ad1287f04b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/axis/xhc-hb04/xhc-hb04-layout2.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/axis/xhc-hb04/sim-9axis.var" + } + ], "source_sha256": "9082cc7df0115bbf754f796ae7989fab1897b5167231dd7b55e6e7ff2f0d96ce", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:6e4299883be9c534", "static_status": "unindexed" }, { @@ -2280,7 +3567,7 @@ "first_diagnostic": null, "hal_blocked_count": 0, "hal_record_count": 0, - "loader_state_hash": "fnv1a64:f5dffb56d88d5157", + "loader_state_hash": "fnv1a64:34fec3adcb55ce0a", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/craftsman/cnc_settings.ini", @@ -2288,1267 +3575,1879 @@ "runtime_fixtures": [], "source_sha256": "4a40e3b30ec1cee094424945ddb36400c6d7fd5d8edf0109d95e7ea68ce211d8", "startup_state": "TASK_READY", - "startup_state_hash": "fnv1a64:68da1d9fb0ffa471", + "startup_state_hash": "fnv1a64:39a99d874699f9c0", "static_status": "unindexed" }, { "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "fetched_count": 5, "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:54ad451a112191cd", + "loader_state_hash": "fnv1a64:85a4320b41afded8", "loader_status": "blocked", "missing": [ - "linuxcnc/configs/sim/craftsman/craftsmancnc.var", "linuxcnc/configs/sim/craftsman/custom.hal", - "linuxcnc/lib/custom.hal", "linuxcnc/lib/hallib/custom.hal" ], "path": "linuxcnc/configs/sim/craftsman/craftsmancnc-axis.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/craftsman/craftsmancnc-axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/craftsman/craftsmancnc.var" + } + ], "source_sha256": "d678962c09a6e37c89868c715c98c77dbd3f9f3fe1f6537b41d092d2a5d8ed56", "startup_state": "BLOCKED", "startup_state_hash": null, "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:1f664289511249ee", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/craftsman/craftsmancnc.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 1, + "path": null, + "source": "linuxcnc/configs/sim/craftsman/craftsman_toolchange.hal" + }, + "hal_blocked_count": 1, + "hal_record_count": 49, + "loader_state_hash": "fnv1a64:4f7a662665496316", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/craftsman/craftsmancnc.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/craftsman/craftsmancnc.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/craftsman/craftsmancnc.var" + } + ], "source_sha256": "c9390a47578b640dfde32e50475a2ae386dd657dc5130ce2fe34564bf90bfc70", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:09d4be3196283184", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:f3b791f717828458", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 35, + "loader_state_hash": "fnv1a64:506b1832092bfeef", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/6_axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/6_axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "1a47c6b666af1ca2f78f95022c27bb9f94626ffce26da23556fea15f767b7cba", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:59c2f211ef8e6910", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:1f9446873dcdaf1e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 36, + "loader_state_hash": "fnv1a64:1200f33a6f5ac64b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/7_axis_tool.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/7_axis_tool.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "6f48447e4576d82a57742dc94babcecf2e813a2afbe398acfcfd87d05c99f229", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:c5227a3b7a05150d", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e20a3b59aef382b8", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 36, + "loader_state_hash": "fnv1a64:6a26f9f912ba9b5c", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/7_axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/7_axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "10db48db4e53a03fe04c2e3dc849c84c9f3f2b77d51c233f64b92b375942a14f", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:f857e118b1c0fd11", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e6f509bfb9f2dd67", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 37, + "loader_state_hash": "fnv1a64:c8f56b2e7c79016e", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/8_axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/8_axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "ad9e2a848a1d1cde6c4fbcf82adaae70d52af6f283d3e785a053c2a560ab8f84", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:88d924ec9fd2766e", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:bf90503ca71a26c1", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 38, + "loader_state_hash": "fnv1a64:346e2a3ba53da4d5", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/9_axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/9_axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "72252c1eb8238facb30b8b3fc08d012b22c70bf1c7c151c2e50946a5eeadc5ef", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:35cd1a0871d59713", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "BLOCKED_HAL", "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:952756aa0c36abdc", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 93, + "loader_state_hash": "fnv1a64:d248e193da47001e", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_4_axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_4_axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "33b4ad6792d9037f2a0bb9eb179aff7b3d8ecac64bfa0b1cc71633a88cf868d9", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:d639d8b8f083871f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:976eb66853d3c985", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:b8fff5b9c67f77b8", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_left_panel.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_left_panel.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "3e458b639557d33bc2b637fb2f63b88e1cade3dd7543306b96e166c5b50bb08e", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:19d5db3fce84e399", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:6b8eac5dd5a728de", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:0193298217d71e53", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_messages.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_messages.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "7b8a607c978ad1758a51d60b04d3bed46a9597661060a6a906b4411abe02e857", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:819f3de4ab6738ae", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:77cfeaebd69f0a38", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:e822cc614e02f279", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_pedant.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_pedant.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "ea336e14be5b1b62a6b540070624b6c35cd076b16d170725fc4dacb9754e6790", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:5505d28d3f209ff0", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:eaab97e6b26a6d25", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/gmoccapy_plasma/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:cecde3192fc001eb", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_plasma/gmoccapy_plasma.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_plasma/gmoccapy_plasma.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_plasma/sim.var" + } + ], "source_sha256": "b006d05ea125442e3258a76b9e95d28a3488d25f1f652828c470de82aaa9d077", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:5ccf25651448e700", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b8cf6ee5d2ebbcb4", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:fdf1ebe4dc2f9cc5", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_pyngcgui.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_pyngcgui.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "2f62b1a0e2bcdf2b587e142ea8c4212c28b8024161c38b13e5cb39e15c984ce7", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:cd892eb22793c7a4", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:6653efa0a29f9dab", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:42888baa66c808f7", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_right_panel.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_right_panel.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "c155ba8047c3011c6ec023dd911fa571ec52b5352b789b7c88542c8d418e15bc", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:3d9dbe28bca51cfb", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4f1fee95a70ed3dd", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:2da9f18dee24edef", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_sim_hardware_button.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_sim_hardware_button.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "7469a0e05ea85c83d99f11ef552482c29d93313a358d8a7801a2eabbae1f9af0", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:ed221af716639b0c", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:c2a4f1e15da8d4ae", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:5d8d9a963e916fc2", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_tool_sensor.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_tool_sensor.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "4caf0e746fd09bceafa4f2bdced6a9be063b7ee51334fbb75d4c6914d94db7b9", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:513d4b2b137c162f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:02b28d2b01cb7de2", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:570f785a67c418de", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_with_user_tabs.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_with_user_tabs.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "a080a9008bef88d61fee5473f8531df64bfe3fd365540e1055e3377ce59f99d9", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:e65607d984615110", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "BLOCKED_HAL", "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a03927ea0943f36a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 94, + "loader_state_hash": "fnv1a64:6eae7e35fda21f52", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAB.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "c8047ee290a94944481545a78104e9ead1036ca04f965a729ad4a870e7fe69a1", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:22d373b7f6d5e9d3", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "BLOCKED_HAL", "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:975d8e1491f6a8cc", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 94, + "loader_state_hash": "fnv1a64:069291051e49a2ef", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAC.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZAC.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "daf2ffcab7fb3af60f5dd38256c8e9bb3347d885771ba414da2b4277c8ebce4a", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:7c2448a3b95152a2", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "BLOCKED_HAL", "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:d4e27ef63dfcec99", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 94, + "loader_state_hash": "fnv1a64:b316ddec79ae4df6", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZCW.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy_XYZCW.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "8a860f885f6afc18b0d1ff8081d356d56897456298cfd58fc7394ec519f71e83", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:0e50d67de7ac8bfb", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 8, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:844a49ae3f3c4d40", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 88, + "loader_state_hash": "fnv1a64:f7945c24d5b31616", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/gmoccapy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/gmoccapy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/sim.var" + } + ], "source_sha256": "627537d0a342075ecd45765b4d8b256b065f2568902a585cfe5161efec53a126", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:414eccd235b7212b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:c6f5bdddb5cb9233", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/lathe_configs/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 62, + "loader_state_hash": "fnv1a64:ff75d3b9c23743bb", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_backtool.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_backtool.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" + } + ], "source_sha256": "5d7e04fd075e28534afe817e64259a2e7df809d5fdf893f39c9cc5ffcd35ed71", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:8b8e37aa6904acf8", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:5ed3d0ff5e926e68", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/lathe_configs/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 81, + "loader_state_hash": "fnv1a64:ba3e304519f76e10", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_C.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_C.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" + } + ], "source_sha256": "c2f67186fc6c84f266d2ad1d6fcf487249182a2385f8d3099f51f9fab1cc8bb4", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:f2958d4f4abd4f35", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e4a5b67c08087be9", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/lathe_configs/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 82, + "loader_state_hash": "fnv1a64:5096ad76cfef350c", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_CW.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_CW.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" + } + ], "source_sha256": "df718eefdbd91308b9182f6858150abb8fa4a2d030105db954702c280cddac70", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:50dbf7233e8094f8", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:d7b74f2e334b1100", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/lathe_configs/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 62, + "loader_state_hash": "fnv1a64:193390e7501a741c", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_imperial.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_imperial.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" + } + ], "source_sha256": "503bf2241ed1c1f70410015a7f3aab5a922dc571b1ded36f5431c538d5d4e628", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:bbfab439651c9563", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:47da3e4f30d64aad", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/lathe_configs/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 62, + "loader_state_hash": "fnv1a64:840bedbcf0384291", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_macros.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe_macros.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" + } + ], "source_sha256": "b3d9c8451a9281e9863e30f7d0138d5779028a06d981c2f1bd30bf6c7bded0e0", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:1ae4c14f486bf220", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:5e91a5ceaf7f3ae3", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 2, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/lathe_configs/spindle_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 62, + "loader_state_hash": "fnv1a64:d2a381d2b2110f4f", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/lathe_configs/sim.var" + } + ], "source_sha256": "b6971dfdf96fb2d502378d143da6c7a2f404fe796f41f96f629b9db15a44bb66", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:f804c8f25377ed10", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:9220231a5e61624b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/Gantry/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 11, + "loader_state_hash": "fnv1a64:f2377c35d394405d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/Gantry/gantry_mm.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/Gantry/gantry_mm.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/Gantry/sim.var" + } + ], "source_sha256": "303f0fb1b9a70ba3cc6dbc11003bed2c59579ddfe2e4d9a300a5fcd4da570e65", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:692b311dd162826a", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:3018502036d7c079", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/scara/scara.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 4, + "path": null, + "source": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/scara/scara_sim_4.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 53, + "loader_state_hash": "fnv1a64:3bf5e3f426e2ee62", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/scara/scara.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/scara/scara.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/scara/scara.var" + } + ], "source_sha256": "3c5a9c56f4c50a987f7b2a21b6968ab77eeb586a894f8ffff73dec74eb680092", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:91e90ca94f29076d", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a9cb2db092e16919", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/emc2.gif", - "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:9db31a44c6730e10", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac-trt.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac-trt.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/non_trivial_kinematics/table-rotary-tilting/xyzac.var" + } + ], "source_sha256": "af315891e9e561812f267f9c44c752c265ad00c862adbcd7dd42c2b07e60cd38", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:34facde85c030077", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:c3ac77cb1dea6a01", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gmoccapy/plasma_config/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:198b9f1d7ca9d398", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gmoccapy/plasma_config/gmoccapy_plasma.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gmoccapy/plasma_config/gmoccapy_plasma.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gmoccapy/plasma_config/sim.var" + } + ], "source_sha256": "7d53c570ccb85f086e67eb511c28bb9cec47e02cf42395e71bb2ff89e9d0d671", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:6792f8861a6f8ddd", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b5f5a2a6fb30d9ed", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/gscreen_custom/sim-9gscreen.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 34, + "loader_state_hash": "fnv1a64:9e115c4a627d686e", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_custom/9axis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/9axis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/sim-9gscreen.var" + } + ], "source_sha256": "2ffde65bf13a116a14d2b75a841f197cd67f6281c6b5c2c548487e779a166ef0", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:f7d55a1037a4f08f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:0772ef00eb0258ef", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:6b41785adbf9db96", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_custom/gaxis_no_plot.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/gaxis_no_plot.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" + } + ], "source_sha256": "93faa3f0a5727d1468381add40a7b35ac5e80b44d8c9c17bfb1e18754daa5498", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:b1fea2c2364e2825", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b14b8fb0633ae18d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:4c761e7055109aea", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_custom/gscreen_gaxis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/gscreen_gaxis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" + } + ], "source_sha256": "8b37aef313551ab9dcd3a414d582b399669dfb4375d08fe5ee709bf327c53d43", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:2134902d085c1c69", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:dd8a2103909ac7f4", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:fd7619382bb18344", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_custom/industrial.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/industrial.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" + } + ], "source_sha256": "ceab463ee55d534c84a5abf5b98d0caee56f9ef71ed67e5ceabea84cf998b725", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:8a2c5fd3f29a3c58", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e4af13775b302fc6", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/gscreen_custom/sim_mm.tbl", - "linuxcnc/configs/sim/gscreen/gscreen_custom/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:ea8e3b729df6a85b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester_metric.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester_metric.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/sim_mm.var" + }, + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester_metric.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/sim_mm.tbl" + } + ], "source_sha256": "bc459d4d659a562f22da247a2734116000e4c8fa71ea13014ca61885dc5bf2ea", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:13b4c5840f2c3d07", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:302a6b079dcce065", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:496ace302869bce7", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/tester.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/gscreen_custom/sim.var" + } + ], "source_sha256": "94c5bb5c621e8074f96004b1abbe5bc66ee5df6aa672f2cf3542c3d38047ac70", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:455bc3874e883c69", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:be1156661e346aa6", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:2f83f128462fcfc1", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/sim.var" + } + ], "source_sha256": "bf9e089a8d61194462bb418efe1176eaf624faee8e42f0cfd791b62b9b906e24", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:c242544a60d73967", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:9c56c9284b91b16f", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:3a293fcbb48d0b3a", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen_mm.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen_mm.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/sim_mm.var" + } + ], "source_sha256": "f4e86efc8aea695f7c931742a41b48851a29fced4aff1dab67b001934245e297", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:0f07d4df5b988cb9", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e5f27c62a80cb676", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 83, + "loader_state_hash": "fnv1a64:381761310eccbe70", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/gscreen.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/gscreen.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/sim.var" + } + ], "source_sha256": "5501604c0c6d0288cea28720da271fd44900ea50ddcccf6acf0743e7e2daf016", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:7a46d287681213cb", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ae91369d3b0fbb94", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/industrial_lathe_wear/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:0fc655ac393e0586", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/industrial_lathe_wear/industrial_lathe_wear.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/industrial_lathe_wear/industrial_lathe_wear.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/industrial_lathe_wear/sim.var" + } + ], "source_sha256": "4c807ff8b3faa4e97574c4c7add99fe6b7654e980bb73737e46f563b5170b422", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:3cce57e484ba59fe", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b00de659bb221bfd", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/ngcgui/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:ed1506b43b44f5be", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen_popupkeyboard.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen_popupkeyboard.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/ngcgui/sim.var" + } + ], "source_sha256": "d6fd8d018be34826fb7bccdad4987a8968dbfdf7a2b5794b75c809c56a18ad63", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:a6b8f0dec9fe4e3e", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:6fa6efd2a1bc9ce7", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/ngcgui/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:c2bf2b4179962966", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/ngcgui/pyngcgui_gscreen.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/ngcgui/sim.var" + } + ], "source_sha256": "01ea7f117f038a59dccb25a01c4d693222e807474e2e6aec338975aa6bed5841", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:2caa87bd7caa6d55", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e65833996503a5f0", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/silverdragon/sim.var" - ], - "path": "linuxcnc/configs/sim/gscreen/silverdragon/silverdragon.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "d1ed1b802162281fc742b0146be7bb3b5daba2fc944d4b4c8f8ccdb096cffc77", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4ca1ce397e02d70f", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/gscreen/spartan/linuxcnc.var" + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:cc1dee5bcd02e1c6", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/gscreen/silverdragon/silverdragon.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/silverdragon/silverdragon.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/silverdragon/sim.var" + } ], + "source_sha256": "d1ed1b802162281fc742b0146be7bb3b5daba2fc944d4b4c8f8ccdb096cffc77", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:ad75d7ac4973b1d4", + "static_status": "blocked" + }, + { + "classification": "BLOCKED_HAL", + "fetched_count": 7, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 6, + "path": null, + "source": "linuxcnc/configs/sim/gscreen/spartan/spartan.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 101, + "loader_state_hash": "fnv1a64:11bcdfe912da9375", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/gscreen/spartan/spartan.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/gscreen/spartan/spartan.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/gscreen/spartan/linuxcnc.var" + } + ], "source_sha256": "eddaf2a70b2e1147f8e4cb781abbb56a87243fdfad4932fc8ddecbeb5f5d42e1", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:08fefdc6a704c60d", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:f1f4fc231e0d2bd8", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/pyvcp_demo/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 58, + "loader_state_hash": "fnv1a64:590b1990675a58a7", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_bottom_panel.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_bottom_panel.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/pyvcp_demo/sim_mm.var" + } + ], "source_sha256": "75dc8d6f9dc89d6725aabdb7c59cb0965d2d054b2e1e4baa71de3538b4f77c85", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:465feed5a07b3a7f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:78ac3d353e0ee660", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/pyvcp_demo/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 58, + "loader_state_hash": "fnv1a64:7601640a03d2b139", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_demo1.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_demo1.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/pyvcp_demo/sim_mm.var" + } + ], "source_sha256": "5ec9203047e509b1e633dadcebba91909c3aee8ad65465ea2c0bd8bc409bb9a0", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:6526ad0b726e7bc4", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:7ee00e11475501b4", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/pyvcp_demo/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 58, + "loader_state_hash": "fnv1a64:af83de97dfba0dd6", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_embed_tab.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/pyvcp_demo/pyvcp_embed_tab.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/pyvcp_demo/sim_mm.var" + } + ], "source_sha256": "4da521d1e8bc2fdb0155f86afc1b1c0dffdd31402ade0ab7519bbfd30145cfbe", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:bf9a1f7fdef2b7f4", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:3496fa3ec4f71003", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtaxis/gantry/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 75, + "loader_state_hash": "fnv1a64:88007e8e90363b4a", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtaxis/gantry/qt_gantry.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtaxis/gantry/qt_gantry.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtaxis/gantry/sim.var" + } + ], "source_sha256": "0b06ae360b37859343763adb960e6304a812ebc658a2056fc4df280ccd793c37", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:e75871bc670f1d45", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 3, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:cbd2a2d1e9d6a567", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtaxis/non-trivial/scara/scara.var", - "linuxcnc/configs/sim/qtaxis/non-trivial/scara/silver_dragon.png" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 4, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:6d1621137d1f2de8", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtaxis/non-trivial/scara/scara.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtaxis/non-trivial/scara/scara.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtaxis/non-trivial/scara/scara.var" + } + ], "source_sha256": "1f4fa4d1a1ccd5cf299948b824101430bd1a41cb8ea74a3311373ce9ef17a7c1", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:d142369bb83a7a52", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:0f3cb6802fc6f44d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtaxis/xyz/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:132bfd5d3435218b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtaxis/xyz/qtaxis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtaxis/xyz/qtaxis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtaxis/xyz/sim.var" + } + ], "source_sha256": "c764f544082a217a19a9fc26d0552f209dcb4548e80d2f544b1e00489472819a", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:46f5f2ccc12daf6d", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:274f7e28539d9e6b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:9ecd2730f923fdeb", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyz.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" + } + ], "source_sha256": "6cfb7b2c847368e117d28ecd99027c4158ed2e02a08bbba787bee73bd1f3ad7d", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:d299dbce5e0d4b66", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:01859b0e47e50bdd", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:6afd1a5917c6a872", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyza.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyza.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" + } + ], "source_sha256": "da745eb5892bbda71c4555b11c50bc8ff9f32a28f97a51951a892b4de5604fcc", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:fe34df955b5a7fa6", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:1bb5064ece9fc2f0", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 59, + "loader_state_hash": "fnv1a64:d47a0ff865072903", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyzab.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyzab.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" + } + ], "source_sha256": "9f9f7b2a62ebd1cf0fffa4d97af9dca42bc25d9678ee52978b4f24d10df7daa7", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:dbf336f466ad2178", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b47df08bd7a87f52", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 59, + "loader_state_hash": "fnv1a64:75caf3ca328c1526", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyzac.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon_hd_xyzac.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_xyz/qtdragon.var" + } + ], "source_sha256": "c836bd0309d143fa80a70fa37c1e92714437d5b3931ad50f47aad820bf597253", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:639545305af5d536", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:2829d54ef1539750", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:113ac053b97c8e52", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon_hd_z_compensation.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon_hd/qtdragon_hd_z_compensation/qtdragon.var" + } + ], "source_sha256": "7285f86b7a2d30318c529985c0f34851e017ce69a23ca06ffb456d9d422f7503", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:3fe43bbee69ea4c0", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:55ea795f6a900db9", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:1f1f7ad4254c81d4", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyyz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon.var" + } + ], "source_sha256": "6e37414ca98a0a0551b8b54980fbc77417b618aeba039e3c38ac4c4b9b1b6b68", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:4114d87561cdcb5a", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:2afb17644e87f34e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:bc771dd6a60a478d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon.var" + } + ], "source_sha256": "f657495b776ab5f371bf59106bbbfa230f1cbc72061caaf036bc6b38fbb79421", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:17865928827c2357", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a3505163c694d473", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:de54547ea7fe230d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzya.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon_xyzya.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_multi_joint/qtdragon.var" + } + ], "source_sha256": "7835bceebe51c9881328896c9f4a6fe4fc91e49a025a26a95e6b7c1716e2edf2", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:24252ef1821fe56f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, + "classification": "BLOCKED_STARTUP", + "fetched_count": 6, + "first_diagnostic": { + "code": "ini_key_invalid", + "line": 103, + "path": null, + "source": "linuxcnc/configs/sim/qtdragon/qtdragon_tool_probe/qtdragon_auto_tool_probe.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:e5ec2219d374d6d4", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_tool_probe/qtdragon.var" - ], + "loader_state_hash": "fnv1a64:8372a12451eff9e3", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_tool_probe/qtdragon_auto_tool_probe.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_tool_probe/qtdragon_auto_tool_probe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_tool_probe/qtdragon.var" + } + ], "source_sha256": "3000ec032956226a8281fe0e76304c56d3d6d4d0fbef6b7b2c226a15f2eb9674", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:975fa38258ca43a2", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b0f961d1f3254fad", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:37e9c6a33bdb1cb3", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_inch.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_inch.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon.var" + } + ], "source_sha256": "e36b608260f3eca2f2439d83b0e32786a2d1bd5f395c3705ee3fe3a1fa0ad94c", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:70281a02aa3a46bf", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:90fc142200f5a09c", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:8d3ef595782784a8", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_metric.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_metric.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon.var" + } + ], "source_sha256": "3565f4863be6f1dc25ef216c8a6f96e69f133681676131ab883007c80aef7c66", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:8e2bbada472fcd8b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ad25b68e991d72aa", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:3268e112247517c2", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_xyza.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon_xyza.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz/qtdragon.var" + } + ], "source_sha256": "592aaee3190a65fab8b200b45f5ec221ab58edf0b754e2db227352cebea0dae2", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:090b69cb2a2555e3", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:351e740a7e414d91", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:284411eb962d455e", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyza.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon.var" + } + ], "source_sha256": "d5597a9bc8ef786bebd2dbc79300253117e814e214e17d067eddc1049ac1cf95", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:f05882bc52b11b83", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:84d3e7ac09d52572", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 59, + "loader_state_hash": "fnv1a64:ec6b6ac1c622e966", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyzab.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyzab.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon.var" + } + ], "source_sha256": "c8ec9fc577cee73a46981d2a7c5eaebc596bddba19b395b87eb0e4eba2a0c3ba", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:4021394505421b06", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:74ffec8f0668b740", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 59, + "loader_state_hash": "fnv1a64:72b6ceb20c5f950f", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyzac.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon_xyzac.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtdragon/qtdragon_xyz45/qtdragon.var" + } + ], "source_sha256": "b25b195fd6d211053b3eb091a513c01ea83550969a29c6b446fdbb2577c1c7a2", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:a5719304031cde26", "static_status": "blocked" }, { @@ -3557,7 +5456,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:c28337bf06cbddaa", + "loader_state_hash": "fnv1a64:c50ea95840c5418b", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/qtplasmac/imperial_parameters.txt" @@ -3576,7 +5475,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:18b0435ed432464a", + "loader_state_hash": "fnv1a64:1ff32a6e98a35d6b", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/qtplasmac/metric_parameters.txt" @@ -3595,7 +5494,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:18e3f9830acd9447", + "loader_state_hash": "fnv1a64:e5d800a27ddbffba", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/qtplasmac/imperial_parameters.txt" @@ -3614,7 +5513,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:be7ec606b22962d1", + "loader_state_hash": "fnv1a64:2045b922d824e6f4", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/qtplasmac/metric_parameters.txt" @@ -3633,7 +5532,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:960f3c1279a0b9fb", + "loader_state_hash": "fnv1a64:b26b7bf7429343a6", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/qtplasmac/imperial_parameters.txt" @@ -3652,7 +5551,7 @@ "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:842f308e17fa4811", + "loader_state_hash": "fnv1a64:5634d34101343034", "loader_status": "blocked", "missing": [ "linuxcnc/configs/sim/qtplasmac/metric_parameters.txt" @@ -3666,943 +5565,1322 @@ "static_status": "unindexed" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a7809605d506a232", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qttouchy/sim.var" - ], - "path": "linuxcnc/configs/sim/qttouchy/qttouchy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "1398796a9ef4d41bf2d9841656b588dd12818cfac9e390a8fd9d6aa6e2185acc", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b7c7e242fa2e67e8", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" + "hal_blocked_count": 0, + "hal_record_count": 77, + "loader_state_hash": "fnv1a64:85d3648174e02aba", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/qttouchy/qttouchy.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qttouchy/qttouchy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qttouchy/sim.var" + } ], - "path": "linuxcnc/configs/sim/qtvcp_screens/blender.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "15fc1681185d59a5f9d8ae14c2d9773bf749373bd6c71b6c614607ce7f35393d", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "source_sha256": "1398796a9ef4d41bf2d9841656b588dd12818cfac9e390a8fd9d6aa6e2185acc", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:138191778300ad5c", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:38a23a0f73375e3b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/industrial_lathe_wear/sim.var" - ], - "path": "linuxcnc/configs/sim/qtvcp_screens/industrial_lathe_wear/industrial_lathe_wear.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "378d5e9e04608240a6884a011ec32caf8de0e3d67bae6b568f33e9e292e94ce5", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 2, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:27dc67c35ccba343", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.tbl", - "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.var", - "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/silver_dragon.png" - ], - "path": "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "1e6a080a7718813d9946acdd7cf7c033e896a318702a5dc5f86f8d45012b2aea", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:f62e78a89623cb5d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:2c4e7b7d53a891b2", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/qtvcp_screens/blender.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/blender.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } ], - "path": "linuxcnc/configs/sim/qtvcp_screens/qt_800x600.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "7235c5081d278551bff8b2b30bd577175251f5dbc81c9dcd4d64c4cb3c832858", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "source_sha256": "15fc1681185d59a5f9d8ae14c2d9773bf749373bd6c71b6c614607ce7f35393d", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:ee3705ea98afcfa9", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:8e90be6df412ea3d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:d7ed6c73a65d8a50", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/qtvcp_screens/industrial_lathe_wear/industrial_lathe_wear.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/industrial_lathe_wear/industrial_lathe_wear.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/industrial_lathe_wear/sim.var" + } ], - "path": "linuxcnc/configs/sim/qtvcp_screens/qt_gantry.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "0c97b43e267300f8565a601fe578d6239b9c5eee3f2122ccfa4b536faeffb254", + "source_sha256": "378d5e9e04608240a6884a011ec32caf8de0e3d67bae6b568f33e9e292e94ce5", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:6383900823c50c37", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "BLOCKED_HAL", "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:f5b01f55bb770571", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtaxis_lathe/sim.var" + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:572b5043394f907e", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.var" + }, + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "TOOL_TABLE", + "kind": "tool_table", + "reason": "LinuxCNC keeps an empty tool table when the configured table cannot be opened", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/non-trivial/scara/scara.tbl" + } ], + "source_sha256": "1e6a080a7718813d9946acdd7cf7c033e896a318702a5dc5f86f8d45012b2aea", + "startup_state": "BLOCKED", + "startup_state_hash": "fnv1a64:65108dccf778c15c", + "static_status": "blocked" + }, + { + "classification": "TASK_READY", + "fetched_count": 9, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 134, + "loader_state_hash": "fnv1a64:7fcac184da8ddb41", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/qtvcp_screens/qt_800x600.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qt_800x600.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } + ], + "source_sha256": "7235c5081d278551bff8b2b30bd577175251f5dbc81c9dcd4d64c4cb3c832858", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:b2fad6342bd71190", + "static_status": "blocked" + }, + { + "classification": "TASK_READY", + "fetched_count": 7, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 75, + "loader_state_hash": "fnv1a64:e40765ec11adab70", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/qtvcp_screens/qt_gantry.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qt_gantry.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } + ], + "source_sha256": "0c97b43e267300f8565a601fe578d6239b9c5eee3f2122ccfa4b536faeffb254", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:af2523e8b704c20f", + "static_status": "blocked" + }, + { + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:47447f86636e784a", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_lathe/qtaxis_lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_lathe/qtaxis_lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_lathe/sim.var" + } + ], "source_sha256": "96607f9e45ebb60e6c8c30a3b827f33273159780e31b6e6dcd187e69d9316ee2", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:8b2a366a4e4f1076", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:718f1c15c69ff10d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:5ce183f8e5cadce8", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_mpg.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "a7e3781694cca98ef9451e2100fa213380088ebe750eea1935e5db09792a4264", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b5be48751246a8e3", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis_mpg.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } ], - "path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "51b5cb7c790d2eb07550ed1e5ee77314133ab99628c23e7cbee27eaf3466bd2a", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "source_sha256": "a7e3781694cca98ef9451e2100fa213380088ebe750eea1935e5db09792a4264", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:df8a030416a5fdfb", "static_status": "blocked" }, { - "classification": "BLOCKED_STARTUP", + "classification": "TASK_READY", + "fetched_count": 8, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:2334365a2ba50eeb", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtaxis.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } + ], + "source_sha256": "51b5cb7c790d2eb07550ed1e5ee77314133ab99628c23e7cbee27eaf3466bd2a", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:4a24462cdce96ab8", + "static_status": "blocked" + }, + { + "classification": "BLOCKED_HAL", "fetched_count": 6, "first_diagnostic": { - "code": "resource_missing", - "line": 62, - "path": "linuxcnc/configs/sim/qtvcp_screens/-no_use_hal_manualtoolchange", - "source": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_9axis.ini" + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" }, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ff655811b12e06e9", + "hal_blocked_count": 27, + "hal_record_count": 34, + "loader_state_hash": "fnv1a64:d22260a8f9beb78c", "loader_status": "ready", "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_9axis.ini", - "resource_blocked_count": 2, + "resource_blocked_count": 0, "runtime_fixtures": [], "source_sha256": "ec8344fad2445df3a8822c624dd0aa514e3900ba60879c5443a5d6f7c495f84a", "startup_state": "BLOCKED", - "startup_state_hash": "fnv1a64:07c3e46608bceb1e", + "startup_state_hash": "fnv1a64:d6e83d573c9687ea", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:60351ad3ea2f5b00", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 75, + "loader_state_hash": "fnv1a64:6194ab4af1af7304", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_gantry.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_gantry.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } + ], "source_sha256": "3f1ea1c180d85118c09a821ea03b007fc8901c40685148a77714c76278db185b", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:7f578a0a71ea479d", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, + "classification": "TASK_READY", + "fetched_count": 7, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:12bef6be3676903a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim_mm.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 77, + "loader_state_hash": "fnv1a64:85618c8dd2af2bad", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_mm.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdefault_mm.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim_mm.var" + } + ], "source_sha256": "a49b1cf91a6fb17c5bbb80eea44b6c46e76ae182e7e3ac67b96b4fab2cfaea88", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:d0e17dda187db702", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:9f4be02316d0bc75", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:66e23803fbdf7b3b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdefault.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdefault.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } + ], "source_sha256": "64b856e76d997a0096533b198666109c059eea4b02e2ac3f3967cef22667ccb9", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:1cdf4d3f75a281d7", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:692c06986dfc60fe", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:d06ab1184b302dd4", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_auto_tool_probe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_auto_tool_probe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "86f2c3f594d0c4bc03da44b9b9ad1445782a9290c8024837a77b83a49e3c55de", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:e6816de53423e13f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:9d2a2fb9f2e14a7c", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:6b4411e3370a255b", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_hd.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_hd.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "c2b23e16477e4de6f3cbd6cdbca56f4a0c80f2482648ee48493349326ef9f1f2", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:a766bcefbe5a6ed5", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ddb035876c85d336", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:244835954b1b4e25", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_inch.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_inch.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "c52570c11f2c503a5aa4ac054fe751035a4d95951c8a24d357d544b08674d8cd", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:53fc15db24985d8c", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:278d8e37eb83687d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:689ad36660e3252d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyyz.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyyz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "8919a7050ba4357c8e663c51a761fe6d78ff6d7da1e820800eb95e3319cefb64", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:865943e6fe5151dd", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:c4d1e19d10658a03", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:a8fc4f2a80f502db", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyz.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "416ec9cb44f3c9f301d874b5d7e860d82bd460633902e3bcc9037d262a464e9b", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:1377fa3078b1674f", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:defa74f0d1467f4b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:cff9e1351f3531f5", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyza.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyza.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "8b72d1ec92b54e2d5dcf333d5638907141340f942e7e1cbfb26be22d8a28e8aa", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:6ce5544ce48f4fed", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:457c41f02402734a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:268707109ff4e094", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyzy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyzy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "a301f964957d63716ac527504ab80d627161ff9d8a57b6b77f4ae59f12798a5c", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:dfb95c0601c4ca9e", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:c3b0b8313eac9712", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:5aa809738fbde7ad", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyzya.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon_xyzya.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "1f2b5583b7e1d1ef0339f0a05e8bac2a6d503cfbf977127de64738926c8cc161", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:8bc931d46d976359", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:69937db40cf45e88", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:367b536ef0c6fb04", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtdragon/qtdragon.var" + } + ], "source_sha256": "103a9d0f4c329e00d532fcf0f3ef1e90a37f4476b8950a2b52325d8a42bc4b91", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:7546aed7d9fb245a", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:d16286cf600e5616", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtvcp_custom/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:6fff6c34ceef14a2", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_custom/qtdefault_ngc.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_custom/qtdefault_ngc.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_custom/sim.var" + } + ], "source_sha256": "142a7c8f7ba86085afd4e331d0deb8030df8e53ea64bfc96a71b049a8dba1096", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:cffef0d65da43829", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:516f68862a7d8ce1", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:b59dd2872f98e315", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/gremlin.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/gremlin.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/sim.var" + } + ], "source_sha256": "ea20d3e12b0a800739c060bca467c8745e29e8d318c47bfa64becd3555af6cca", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:bbeb71e45bb44a79", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:be62312b89f3bd75", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:5a285f00ac828c70", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_gladevcp.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_gladevcp.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/sim.var" + } + ], "source_sha256": "77f1a4a5294dc202d4afc6764a14dc89d8e1174424667c5b72742ae3a0975645", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:eeb8838befd22ff7", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:957fb6284a6032f8", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:bd9526c0a74b2d13", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_ngc.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/qtdefault_ngc.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/qtvcp_experimental/sim.var" + } + ], "source_sha256": "142a7c8f7ba86085afd4e331d0deb8030df8e53ea64bfc96a71b049a8dba1096", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:a58e396bb73e7e38", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:170fc04a7d225619", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:001c8b0b6cca658d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/qtx1mill.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/qtx1mill.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } + ], "source_sha256": "0909d95dd20251475be2a745ea9ff1a9bc11c05b6d4b880be7d4165c2686b40c", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:fcbe7f792b30b1ef", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, + "classification": "TASK_READY", + "fetched_count": 8, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e419d45b5c22781d", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/qtvcp_screens/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 128, + "loader_state_hash": "fnv1a64:9f418df8967e7120", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/qtvcp_screens/tester.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/qtvcp_screens/tester.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/qtvcp_screens/sim.var" + } + ], "source_sha256": "74ffaa3444383a097aed37c22d5d6b6ef9d55b49a49a97e5861013d907a4f40d", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:4315e75615404ca2", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, + "classification": "TASK_READY", + "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:ef84b5182ca652c2", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/tklinuxcnc/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 26, + "loader_state_hash": "fnv1a64:c9483386fe60051f", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/tklinuxcnc/ldelta.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/tklinuxcnc/ldelta.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/tklinuxcnc/sim.var" + } + ], "source_sha256": "0e23dee0f4df839c028f5bfba95c5941f2f8623ce502d6fdfc90dfdef63d8967", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:7fd023c8baf7f581", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:865e3000de582088", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/tklinuxcnc/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 20, + "path": null, + "source": "linuxcnc/lib/hallib/servo_sim.hal" + }, + "hal_blocked_count": 2, + "hal_record_count": 176, + "loader_state_hash": "fnv1a64:51efdfe04fdc95fe", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/tklinuxcnc/servo_sim.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/tklinuxcnc/servo_sim.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/tklinuxcnc/sim.var" + } + ], "source_sha256": "0f8b15328616a4fd5be7561738273a9c04e0c5524423d424257c5ffda73fa25e", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:aef67e6f7105812b", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:da72a669cc3af19a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/tklinuxcnc/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:2fec1619c237c9ae", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/tklinuxcnc/tklinuxcnc.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/tklinuxcnc/tklinuxcnc.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/tklinuxcnc/sim.var" + } + ], "source_sha256": "12f9c72fe2f8ab1ac7d6fcb553c902b4a2df1cecbf3ecc896fa9c0ad7a8f41b3", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:80de3338aa390811", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:19080d0fb821d262", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/tklinuxcnc/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 5, + "path": null, + "source": "linuxcnc/lib/hallib/tripodsim.hal" + }, + "hal_blocked_count": 1, + "hal_record_count": 32, + "loader_state_hash": "fnv1a64:33dc3f517a59c4af", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/tklinuxcnc/tripod.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/tklinuxcnc/tripod.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/tklinuxcnc/sim.var" + } + ], "source_sha256": "8da7280a981d80e9b7d4b608a357fc87dbb9d83535636794e1ae97d5ebcb8f01", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:3d1b4214b8844160", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:695deaa8a819700b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:20b7a5dc17ad69c9", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz_both.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz_both.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz.var" + } + ], "source_sha256": "d75c9e05e2a781d1344b3840ba82adc6d7d8d47f53aa11b04c3b918d20c5faae", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:1eef4f833f780213", "static_status": "ready" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:026c03ebf208204e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 6, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:21834504db38ef9c", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/tklinuxcnc/trivkins/xz.var" + } + ], "source_sha256": "07f5257557a540b02781de3a641dd1830a78a4cbb15a9cc68ad8d2c6eae8ec81", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:798132fe99dde48d", "static_status": "ready" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:85115bc9fa1b1c2e", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/touchy/gladevcp/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:138e76fcc289afb2", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/touchy/gladevcp/gladevcp_touchy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/touchy/gladevcp/gladevcp_touchy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/touchy/gladevcp/sim.var" + } + ], "source_sha256": "e7098eb237c6ad9bed4c240f95d313f6ae3221d322b514509f5a7c34373b6011", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:cdb61c7086a17522", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, + "classification": "TASK_READY", + "fetched_count": 5, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:8a191c1a6e5998bd", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/touchy/gladevcp/sim.var" - ], + "hal_blocked_count": 0, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:df1d7d006bdffaa4", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/touchy/gladevcp/touchy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/touchy/gladevcp/touchy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/touchy/gladevcp/sim.var" + } + ], "source_sha256": "65c7aa3b61d553f8aa9f2d43977329ef89d4b58d088729561a0bf7165b6a68a9", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:d8ecc6c948a9978e", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:a30571326ef4189b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/touchy/ngcgui/sim-lathe.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:eeef6b1e11b7fc1d", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_lathe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_lathe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/touchy/ngcgui/sim-lathe.var" + } + ], "source_sha256": "5985f5a6c3bf70d493c897a45a9f0864d1edc6449018185c5787ccfd9d78749a", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:3a1eb95bcee40fde", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 5, - "first_diagnostic": null, + "classification": "BLOCKED_INI", + "fetched_count": 6, + "first_diagnostic": { + "code": "ini_assignment_invalid", + "line": 163, + "path": null, + "source": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_moveoff.ini" + }, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:0ed8c0d6fd4a5e6b", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/touchy/ngcgui/sim.var" - ], + "loader_state_hash": "fnv1a64:0c16d67b4a6989a3", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_moveoff.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy_moveoff.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/touchy/ngcgui/sim.var" + } + ], "source_sha256": "b27d37a31e597d71ea9065f31d4c5e150ac12fbdef2f2567b74b97cb4cbe651e", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:3db9b9b74a08d97d", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:b287044db53e20d6", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/touchy/ngcgui/sim.var" - ], + "classification": "BLOCKED_HAL", + "fetched_count": 5, + "first_diagnostic": { + "code": "startup_hal_blocked", + "line": 34, + "path": null, + "source": "linuxcnc/lib/hallib/basic_sim.tcl" + }, + "hal_blocked_count": 27, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:26fb6d7445ecc959", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/touchy/ngcgui/pyngcgui_touchy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/touchy/ngcgui/sim.var" + } + ], "source_sha256": "6bd6bc6daa9146eb1c662ead43e69edac26cd8a95121c00371607f4bc5f5be0b", "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state_hash": "fnv1a64:b2d887b0b873236c", "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 4, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4c18ffca91f5fe30", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/touchy/sim.var" - ], - "path": "linuxcnc/configs/sim/touchy/touchy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "0624683449cbafe697042c42e2f23fdc9513b02dd56aa8f452e386e496ab4571", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:707972028e7ed887", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/woodpecker/woodpecker.var" - ], - "path": "linuxcnc/configs/sim/woodpecker/woodpecker_auto_tool_probe.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "9c30092e3c73099af651616a4a9a003337230419bd029e606c10f2b2a2afdade", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 6, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:e581352ce6be520c", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/woodpecker/woodpecker.var" - ], - "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyz.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "5aeeb95a708ed2972ad3fa975f37df426129de279c4e8d347bcc2a589ac253ce", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:4a353b9759a6bad3", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/woodpecker/woodpecker.var" - ], - "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyza.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "410e1b03a771d7b98a0a75fc13303842af2a20d85b3ff6fe898e83f5a8630752", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 5, "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 28, + "loader_state_hash": "fnv1a64:3454354b84312c90", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/touchy/touchy.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/touchy/touchy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/touchy/sim.var" + } + ], + "source_sha256": "0624683449cbafe697042c42e2f23fdc9513b02dd56aa8f452e386e496ab4571", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:a99f75f4ea5cd94e", + "static_status": "blocked" + }, + { + "classification": "TASK_READY", + "fetched_count": 6, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:0aa4b2ddfbeff58e", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/woodpecker/woodpecker_auto_tool_probe.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/woodpecker/woodpecker_auto_tool_probe.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/woodpecker/woodpecker.var" + } + ], + "source_sha256": "9c30092e3c73099af651616a4a9a003337230419bd029e606c10f2b2a2afdade", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:930c5f1009fa94cc", + "static_status": "blocked" + }, + { + "classification": "TASK_READY", + "fetched_count": 6, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:b4278c9e6731ac6f", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyz.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyz.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/woodpecker/woodpecker.var" + } + ], + "source_sha256": "5aeeb95a708ed2972ad3fa975f37df426129de279c4e8d347bcc2a589ac253ce", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:f17e07d12123f98e", + "static_status": "blocked" + }, + { + "classification": "TASK_READY", + "fetched_count": 6, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:c276c3822cd1ab8b", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyza.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyza.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/woodpecker/woodpecker.var" + } + ], + "source_sha256": "410e1b03a771d7b98a0a75fc13303842af2a20d85b3ff6fe898e83f5a8630752", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:7472b7249cbb7317", + "static_status": "blocked" + }, + { + "classification": "BLOCKED_RESOURCE", + "fetched_count": 6, + "first_diagnostic": null, "hal_blocked_count": null, "hal_record_count": null, - "loader_state_hash": "fnv1a64:9c72a03623371e43", + "loader_state_hash": "fnv1a64:7f81f40c65a0fc96", "loader_status": "blocked", "missing": [ - "linuxcnc/configs/sim/woodpecker/metric_parameters.txt", - "linuxcnc/configs/sim/woodpecker/woodpecker.var" + "linuxcnc/configs/sim/woodpecker/metric_parameters.txt" ], "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzab.ini", "resource_blocked_count": null, - "runtime_fixtures": [], + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzab.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/woodpecker/woodpecker.var" + } + ], "source_sha256": "3d4d7e2cb2729c9b385e6e6cee04a70ee933a52dcd7f3cf532b7c236bef06eb9", "startup_state": "BLOCKED", "startup_state_hash": null, "static_status": "blocked" }, { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:bf808cd1d3312c7a", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/woodpecker/woodpecker.var" - ], - "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzy.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "8374120e08569413c08816a5a5c9e0e8aa0cd0d5536593f6c0fb6d606cffdac5", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", - "fetched_count": 7, - "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:0c48bf05deed6d6c", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/woodpecker/woodpecker.var" - ], - "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzya.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], - "source_sha256": "85a7cca0b4672cdac77822c584e738722656f565af8b48217a3cf1cac17f87ab", - "startup_state": "BLOCKED", - "startup_state_hash": null, - "static_status": "blocked" - }, - { - "classification": "BLOCKED_RESOURCE", + "classification": "TASK_READY", "fetched_count": 6, "first_diagnostic": null, - "hal_blocked_count": null, - "hal_record_count": null, - "loader_state_hash": "fnv1a64:7d91ff39528b18f1", - "loader_status": "blocked", - "missing": [ - "linuxcnc/configs/sim/woodpecker/woodpecker.var" + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:5875111dff26a542", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzy.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzy.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/woodpecker/woodpecker.var" + } ], + "source_sha256": "8374120e08569413c08816a5a5c9e0e8aa0cd0d5536593f6c0fb6d606cffdac5", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:e2ddf39020589e00", + "static_status": "blocked" + }, + { + "classification": "TASK_READY", + "fetched_count": 6, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 50, + "loader_state_hash": "fnv1a64:85b108a99848bdcf", + "loader_status": "ready", + "missing": [], + "path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzya.ini", + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/woodpecker/woodpecker_xyzya.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/woodpecker/woodpecker.var" + } + ], + "source_sha256": "85a7cca0b4672cdac77822c584e738722656f565af8b48217a3cf1cac17f87ab", + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:860950b8223d28f7", + "static_status": "blocked" + }, + { + "classification": "TASK_READY", + "fetched_count": 6, + "first_diagnostic": null, + "hal_blocked_count": 0, + "hal_record_count": 52, + "loader_state_hash": "fnv1a64:871dd4be4f95f9ce", + "loader_status": "ready", + "missing": [], "path": "linuxcnc/configs/sim/woodpecker/woodpecker.ini", - "resource_blocked_count": null, - "runtime_fixtures": [], + "resource_blocked_count": 0, + "runtime_fixtures": [ + { + "case_path": "linuxcnc/configs/sim/woodpecker/woodpecker.ini", + "data_hash": "fnv1a64:14650fb0739d0383", + "key": "PARAMETER_FILE", + "kind": "parameter_file", + "reason": "LinuxCNC restores a missing parameter file as zeroed defaults and creates it on exit", + "resource_path": "linuxcnc/configs/sim/woodpecker/woodpecker.var" + } + ], "source_sha256": "1948487bf44a5c7d5b32186a6b9f330d55cb61bbab55da4a5834f95439cc0deb", - "startup_state": "BLOCKED", - "startup_state_hash": null, + "startup_state": "TASK_READY", + "startup_state_hash": "fnv1a64:a327a522476bca50", "static_status": "blocked" } ], "counts": { - "BLOCKED_HAL": 4, - "BLOCKED_INI": 3, - "BLOCKED_RESOURCE": 216, - "BLOCKED_STARTUP": 2, - "TASK_READY": 10 + "BLOCKED_HAL": 106, + "BLOCKED_INI": 19, + "BLOCKED_RESOURCE": 12, + "BLOCKED_STARTUP": 3, + "TASK_READY": 95 }, "schema": "sim-case-matrix-s8-06-sample.v1", "status": "verified" }, "status": "PASSED", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "stdout_sha256": "97f0832720fa09c0ef9422856a351d6781533dfcf4b937c1ce4a3a035f1fca40" + "stdout_sha256": "a34cde732106bf9042852e7c386e5714a3a752bde0c30ad55141d431d498b343" }, "implementation_status": "verified", "inputs": [ { - "bytes": 2903, + "bytes": 2904, "path": "coverage/sim-case-catalog.report.json", - "sha256": "c8feb14239dc9e59b9ab3b8f4c5a03676771baad6e215d3ddeddfa006cadfaac", + "sha256": "22da65f730e498f4c90017724ce88b213b060863aca5079679606a6a18b181a3", "status": "present" }, { "bytes": 225468, "path": "coverage/full-configuration-startup-matrix.report.json", - "sha256": "eefde49a278a077e374b751d0d0ed59b1294ce399a757a665e3cc14f569f7656", + "sha256": "f2140e4c1685ca17738645faedb962dcaa7210200c9151084bd5df40285eadf9", "status": "present" }, { - "bytes": 9106, + "bytes": 11291, "path": "web/workspace/sim-case-loader.mjs", - "sha256": "15f54c37b67d7e5f46a62a9dcfcb683a2c10a0a7cf6b60db671bdc30c416762e", + "sha256": "9f76f8fd886a9e39990b0036c4a75c1cc5a02325da5487bbe5793702a746f8ee", "status": "present" }, { - "bytes": 11066, + "bytes": 12357, "path": "web/workspace/configuration-startup.mjs", - "sha256": "d71bb7c612d8c7733c0db4e17b136875f1aeade7afc314e05ada67a309269e47", + "sha256": "07c967acf84bd084f97b5d1a818294269eec68603caeee7694859f49bf11d7be", "status": "present" }, { @@ -4612,13 +6890,13 @@ "status": "present" }, { - "bytes": 3588, + "bytes": 3585, "path": "web/worker/test_sim_case_matrix_s8_06.mjs", - "sha256": "d538cb04c8c9b07d11b8db758dcf7d34dd1d72010ba10407694cbed57b289633", + "sha256": "4416258973e0a1ffe488e7d3ebb42d0272f2af99e12c86fba2b90c699926ffd0", "status": "present" } ], - "report_sha256": "3f720959235998e261a956ebcf238ebcdb005438ad7774d0a01e5df64b967ed6", + "report_sha256": "292ca9701efbe7230341d588130bf88585288cca84144dfa381a9732f992d20a", "schema": "sim-case-matrix-s8-06-report.v1", "status": "verified", "task_id": "S8-06" diff --git a/coverage/sim-ledger.report.json b/coverage/sim-ledger.report.json index 7318767..a621e48 100644 --- a/coverage/sim-ledger.report.json +++ b/coverage/sim-ledger.report.json @@ -28,21 +28,21 @@ "bytes": 6043, "path": "coverage/sim-scheduler.report.json", "role": "scheduler_report", - "sha256": "df5699b9cd4f15c3d6351ab172b21af579ffbec8fad90cee3d00043418581d36", + "sha256": "8ccf1e847da4392b241ca876c86d775d175b50ddcae5cf9c92826771a28a9629", "status": "present" }, { "bytes": 6089, "path": "coverage/sim-task.report.json", "role": "task_report", - "sha256": "5b9c52c2c1a5779963750ec30a6068a2df1ad375357da1bd68763699ac1b3421", + "sha256": "768f8dd6af9a3ccfaa6f62ce8e7c2ab6bcb4af77036d1098feb7d344b96091d1", "status": "present" }, { - "bytes": 54158, + "bytes": 57994, "path": "web/worker/sim-session.mjs", "role": "worker_session", - "sha256": "7740507c712d262be2b0483febf43bbd5af23810b60cd2887fff0e70ec5129f0", + "sha256": "47c0918797b6a60ed72dce6014fb3f365f620e31be34d8d66f5311971dbe16fd", "status": "present" } ], @@ -79,7 +79,7 @@ ], "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "5c38c6bc0f35a08ce644fb6e5ed2c1304f481d2bc0efdf74e8c34b22ce9f7c2b", + "report_sha256": "468190f3c23c8194ea6c86ceb806a4293c2051b806b2463331e1fcc30d6a1d2c", "schema": "sim-ledger-report.v1", "status": "passed", "task_id": "P1-03", diff --git a/coverage/sim-runner.report.json b/coverage/sim-runner.report.json index f679da3..fa50084 100644 --- a/coverage/sim-runner.report.json +++ b/coverage/sim-runner.report.json @@ -20,7 +20,7 @@ "bytes": 4317, "path": "coverage/sim-ledger.report.json", "role": "ledger_report", - "sha256": "724268cac1ee78a63c14c8660c24ebe55458051ba24200ed9bdbc303a2f5772c", + "sha256": "92db7bb133d5b4349d1e0eafeab2350b07740979f20cdf4329f5e89d7aeac2e7", "status": "present" }, { @@ -31,10 +31,10 @@ "status": "present" }, { - "bytes": 28885, + "bytes": 33937, "path": "web/worker/program-runner.mjs", "role": "runner", - "sha256": "b0ce1d6904a5d84e430e49c9c45086cb84508a60c8e20b0512a13ce7c071d5bc", + "sha256": "398ca1c24d822e04d5ac2e0adb7345bbd2afb2aaba4eb11e7869766de1394172", "status": "present" } ], @@ -45,10 +45,10 @@ ], "outputs": [ { - "bytes": 28885, + "bytes": 33937, "path": "web/worker/program-runner.mjs", "role": "runner_runtime", - "sha256": "b0ce1d6904a5d84e430e49c9c45086cb84508a60c8e20b0512a13ce7c071d5bc", + "sha256": "398ca1c24d822e04d5ac2e0adb7345bbd2afb2aaba4eb11e7869766de1394172", "status": "present" }, { @@ -61,7 +61,7 @@ ], "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "f6f631201698677cab2e1c535d323b17124251362c593d535ffbc1e5ae74e105", + "report_sha256": "d8f7d5e0eeb75970483dddcf05e52c9cbedc3072bb3427d26fc7f54dd0d87738", "schema": "sim-runner-report.v1", "status": "passed", "task_id": "P1-04", diff --git a/coverage/sim-scheduler.report.json b/coverage/sim-scheduler.report.json index 33681b9..a298163 100644 --- a/coverage/sim-scheduler.report.json +++ b/coverage/sim-scheduler.report.json @@ -45,7 +45,7 @@ "bytes": 6089, "path": "coverage/sim-task.report.json", "role": "task_report", - "sha256": "5b9c52c2c1a5779963750ec30a6068a2df1ad375357da1bd68763699ac1b3421", + "sha256": "768f8dd6af9a3ccfaa6f62ce8e7c2ab6bcb4af77036d1098feb7d344b96091d1", "status": "present" }, { @@ -118,7 +118,7 @@ ], "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "9f688f60109511329fa51f5b26b22a2c11928d82a386596aae952c47a27f2cbd", + "report_sha256": "8d69956cefd8d449fce2cf9f855171d824fd864d996fb0ad946722698eee992c", "scheduler_schema": "sim_scheduler.v1", "schema": "sim-scheduler-report.v1", "status": "passed", diff --git a/coverage/virtual-device-fault-matrix.report.json b/coverage/virtual-device-fault-matrix.report.json index e1c52be..d87e83b 100644 --- a/coverage/virtual-device-fault-matrix.report.json +++ b/coverage/virtual-device-fault-matrix.report.json @@ -48,7 +48,7 @@ "bytes": 2535591, "path": "coverage/hal-component-manifest.report.json", "role": "hal_component_manifest", - "sha256": "eec91d371461058b40d895877dd7d6ddb0f205334d00417d9ada1c086bb1d9ef", + "sha256": "bef0cb643203ac6ef239d0d5c975ef4d2b30902d09a77c1a3103f7983ee2f5a6", "status": "present" }, { @@ -73,7 +73,7 @@ "repeat_runs": 2 }, "release_action": "STOP_RELEASE", - "report_sha256": "5ca108dec1d818e2eba3f811e4f45102b2a25b9f0457348a467df70b0ac2d58f", + "report_sha256": "b018f34eed6dbd9fb53abbcd24a0ccdec4d5db4e979d148f86f7d5b43199e0e6", "sample": { "events": 25, "final": { diff --git a/coverage/workspace-runtime.report.json b/coverage/workspace-runtime.report.json index 2e03293..d94c2b8 100644 --- a/coverage/workspace-runtime.report.json +++ b/coverage/workspace-runtime.report.json @@ -25,7 +25,7 @@ "bytes": 3841, "path": "coverage/sim-runner.report.json", "role": "runner_report", - "sha256": "e54c4bffcd25c60346bd5ad73a36393b1350dd5ba18f6bd4962b60851f3ba762", + "sha256": "6705c9f8052b1feba970f3b29815e1ab2af8c02c4188d7967885542e94d1316e", "status": "present" }, { @@ -60,7 +60,7 @@ ], "release_action": "STOP_RELEASE", "release_status": "blocked_external_owner", - "report_sha256": "5a831f03a049c5e817c393a7e284ccd5b1678c3b6a2df441a9105aff452006e1", + "report_sha256": "35e6659c1b1eab95386af954327a779e83a12cada82aa38341e479133818c28e", "schema": "workspace-runtime-report.v1", "status": "passed", "task_id": "P2-01", diff --git a/coverage/workspace-session-integration.report.json b/coverage/workspace-session-integration.report.json index 305eb71..ce7af24 100644 --- a/coverage/workspace-session-integration.report.json +++ b/coverage/workspace-session-integration.report.json @@ -15,8 +15,8 @@ "status": "verified" }, "package_round_trip": { - "package_v1_hash": "fnv1a64:3c4190c2617c8c9c", - "package_v2_hash": "fnv1a64:84140b235c2d3891", + "package_v1_hash": "fnv1a64:c8f4e248d7f64602", + "package_v2_hash": "fnv1a64:3e075699c047abe7", "status": "verified" }, "recovery_migration_dependency": { @@ -30,8 +30,8 @@ "status": "verified" }, "session_state_recovery": { - "recovery_state_hash": "fnv1a64:ae557596e3e96064", - "session_state_hash": "fnv1a64:ae557596e3e96064", + "recovery_state_hash": "fnv1a64:62481fd6982a0dae", + "session_state_hash": "fnv1a64:62481fd6982a0dae", "status": "verified" } }, @@ -56,14 +56,14 @@ "bytes": 2535591, "path": "coverage/hal-component-manifest.report.json", "role": "hal_component_manifest", - "sha256": "eec91d371461058b40d895877dd7d6ddb0f205334d00417d9ada1c086bb1d9ef", + "sha256": "bef0cb643203ac6ef239d0d5c975ef4d2b30902d09a77c1a3103f7983ee2f5a6", "status": "present" }, { "bytes": 11813, "path": "coverage/virtual-device-fault-matrix.report.json", "role": "virtual_device_fault_matrix", - "sha256": "bfa9a4de18a88cd268d2d02f3f9ea05a56240d36d532a02c484905581d32c1aa", + "sha256": "6cad7235733178f045b7dda3be16b5ebac003e91b2b9709494a85da06b3cf11b", "status": "present" }, { @@ -94,19 +94,19 @@ "repeat_runs": 2 }, "release_action": "STOP_RELEASE", - "report_sha256": "68eda7fbc1733d1dd4a4336b98ab42d7a1897b22b54c859596506e8b9d6ac163", + "report_sha256": "0fd233ac461ea14bc51fce2e7d81385b702bb9cf932d871568eb8ad630dc85c1", "sample": { - "checkpoint_hash": "fnv1a64:cb26d6b221cb3852", + "checkpoint_hash": "fnv1a64:c2382bab031cd9ab", "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "event_cursor": 12, "journal_hash": "fnv1a64:1064d5ed6ce0552a", "operation_count": 4, - "package_v1_hash": "fnv1a64:3c4190c2617c8c9c", - "package_v2_hash": "fnv1a64:84140b235c2d3891", - "recovery_state_hash": "fnv1a64:ae557596e3e96064", + "package_v1_hash": "fnv1a64:c8f4e248d7f64602", + "package_v2_hash": "fnv1a64:3e075699c047abe7", + "recovery_state_hash": "fnv1a64:62481fd6982a0dae", "round_trip_equal": true, "schema": "workspace-session-integration-sample.v1", - "session_state_hash": "fnv1a64:ae557596e3e96064" + "session_state_hash": "fnv1a64:62481fd6982a0dae" }, "schema": "workspace-session-integration.v1", "status": "partial", diff --git a/docs/linuxcnc-web-wasm-3axis-tutorial-complete-parity-plan.md b/docs/linuxcnc-web-wasm-3axis-tutorial-complete-parity-plan.md new file mode 100644 index 0000000..fb597b8 --- /dev/null +++ b/docs/linuxcnc-web-wasm-3axis-tutorial-complete-parity-plan.md @@ -0,0 +1,238 @@ +# 3axis Tutorial 全功能对标总方案 + +## 0. 目标和执行边界 + +唯一目标案例: + +`/home/mes006/linuxcncWebWASM/linuxcnc/configs/sim/axis/vismach/3axis-tutorial` + +入口文件: + +`linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini` + +目标不是“再做一个示例”,而是把该案例在 LinuxCNC 中可观察的配置、启动、运动、解释器、HAL、工具、主轴、冷却、探针、Vismach、AXIS UI、持久化和恢复行为逐项映射到 WASM + Dedicated Worker + React + Three.js。后续任务不得切换到其它 `configs/sim` 案例;其它案例只能作为通用模块回归输入,不能作为本案例完成证据。 + +明确排除:实时内核调度、真实硬件、PCI/串口设备、宿主动态 loader、宿主 Python GUI 进程。排除项必须有 `REAL-EXCLUDED`/`HOST_EXCLUDED` 诊断,不得静默删除功能。 + +## 1. 锁定输入和执行规约 + +### 1.1 Exact 输入 + +| 输入 | 作用 | 规则 | +|---|---|---| +| `3axis-tutorial.ini` | AXIS、Task、RS-274、TRAJ、EMCIO、KINS、AXIS/JOINT limits | 原路径、原始字节和 source line 保留 | +| `3axis-tutorial.hal` | trivkins/motmod/ddt/hypot、反馈环、手动换刀、Vismach pins | 按原顺序解析 `loadrt/addf/net/loadusr` | +| `3axis-tutorial` | Vismach Python model 和 5 个 HAL pins | Web 使用源码驱动 `WEB-EQUIV` adapter,不运行宿主 Python | +| `tool.tbl` | T1/T2/T3/T99999 工具、长度和直径 | exact path;工具状态必须可恢复 | +| `linuxcnc/linuxcnc.gif` | `DISPLAY.INTRO_GRAPHIC` | 仅作为 shared display asset | +| runtime `.var/.bak/position_mm.txt` | 参数、备份、位置持久化 | 运行时生成,写入 workspace journal,不作为 source fixture | + +### 1.2 Native 标准命令 + +每次运行前必须停止本 runner 或历史运行留下的 `linuxcncsvr`、`rtapi_app`、`milltask`、`halui`、`iocontrol`、`axis`,确认没有活动进程持有 `/tmp/linuxcnc.lock`;只允许在 lock 无活动持有者时删除 stale lock。 + +然后固定使用: + +```bash +cd /home/mes006/linuxcncWebWASM/linuxcnc +linuxcnc /3axis-tutorial.ini +``` + +成功条件同时包括: + +- `update_ini -f` 在隔离目录成功; +- AXIS WM class 为 `axis / Axis`; +- 标题含 `3axis-tutorial`; +- 窗口至少 `600x400`; +- native log 没有未分类首错; +- 记录生成的 `.var/.bak/position_mm.txt`; +- 退出后 LinuxCNC 服务和 lock 清理完成。 + +禁止用 timeout、`Starting LinuxCNC`、后台 `task:`、进程存在或 lock 文件存在替代窗口证据。 + +## 2. 全功能对标清单 + +### 2.1 配置、资源和流程 + +1. `VERSION/MACHINE/DEBUG` 解析和 `update_ini` 迁移。 +2. `[DISPLAY]`:AXIS、cycle time、relative/actual 初始显示、feed/spindle override、increments、program prefix、intro graphic、file filters。 +3. `[RS274NGC]`:参数文件路径、缺失文件空初始化、保存和 `.bak` 策略。 +4. `[EMCMOT]/[TASK]/[EMCIO]`:motmod、milltask、io、cycle/servo period、tool table、tool-change position。 +5. `[TRAJ]`:3 axes、XYZ、mm/degree、速度、加速度、position file、arc blend 参数。 +6. `[KINS]/[AXIS_X/Y/Z]/[JOINT_0/1/2]`:trivkins identity、limits、velocity、acceleration、scale、FERROR、MIN_FERROR、home offset。 +7. HAL 文件和 `LIB:`/相对路径解析保持 exact path、行号、顺序、缺失诊断。 +8. 启动状态映射:`NEW -> MOUNTED -> PARSED -> RESOLVED -> CORE_CREATED -> HAL_READY -> TASK_READY`。 +9. 退出状态映射:停止、HAL unload、服务退出、参数/位置提交和 journal close。 + +### 2.2 运动、Task 和解释器 + +1. MANUAL/MDI/AUTO 模式和 READY/RUNNING/PAUSED/STOPPED/ESTOP/FAULT 状态。 +2. X/Y/Z 全部 home、独立 jog、连续/增量 jog、stop、速度/加速度、override。 +3. trivkins pose/joint identity、commanded/actual/relative DRO。 +4. X `[-500,500]`、Y `[-100,100]`、Z `[-240,0.001]` limits。 +5. following error、limit fault、fault latch、recover 和禁用条件。 +6. `G20/G21`、`G90/G91`、`G0/G1`、F feed、G17/G40/G49/G54/G64、G10/G92、M2/M30、参数表达式和错误列。 +7. PROGRAM_LOAD/RUN/PAUSE/RESUME/STEP/SEEK/ABORT/RESTART、MDI 队列和活动程序期间 MDI 拒绝。 +8. fixed tick 1x/fast/step 与 pause/recovery endpoint parity。 + +### 2.3 HAL、工具、主轴、冷却、探针和故障 + +1. `trivkins`、`motmod`、6 个 ddt、2 个 hypot 的 component/thread/function 记录。 +2. 三轴 motor-pos-cmd 到 motor-pos-fb 的 loopback。 +3. velocity/acceleration 派生信号 `Xvel/Yvel/Zvel/XYvel/XYZvel`。 +4. estop loopback、`hal_manualtoolchange` prepare/change/changed 生命周期。 +5. Vismach pins:`jointX/jointY/jointZ/toollength/tooldiameter`,pin direction/type 和 net 连接。 +6. T1/T2/T3/T99999 prepare、pocket、change、abort、fault、clear。 +7. spindle direction/RPM、ramp、at-speed、encoder/index、inhibit、orient、fault。 +8. mist/flood/lube request、interlock、coolant fault 和恢复。 +9. probe arm/input/trip/latched position/disarm;没有 source pin 时保留 capability boundary。 +10. ESTOP、door/interlock、following-error、limit、tool/spindle/coolant fault 的错误码、message key、状态 hash 和 UI gate。 + +### 2.4 Vismach 和 AXIS UI + +1. frame/base/column/top、X table/work、Y assembly、Z frame/spindle、CAT30/tool/tooltip 的几何层次。 +2. `HalTranslate` 对 jointX/Y/Z 的轴向变换和工具长度/直径变化。 +3. tool cylinder 半径、z offset、当前工具和 tooltip 连续性。 +4. AXIS File/Machine/View/Help 菜单、快捷键、toolbar icon、F3 Manual、F5 MDI、Preview、DRO、G-code editor、active G-codes。 +5. DRO machine/relative、actual/commanded、mm/inch、tick/hash。 +6. Three.js canvas 非空像素、pose/joint/toolpath/limits/layers、desktop/mobile 不重叠。 +7. 控件 enable/disable 必须来自 Worker snapshot;所有不可用操作必须显示诊断。 + +### 2.5 持久化、恢复和证据治理 + +1. `.var` 缺失/空文件/参数写入/`.bak` 生成/重启恢复。 +2. `position_mm.txt` 保存、读取、恢复和错误处理。 +3. `tool.tbl` 读取、工具状态更新、workspace commit 和重启恢复。 +4. checkpoint、event cursor、journal、trace import、replay endpoint equality。 +5. recovery 不重复已提交副作用;坏 checkpoint、seq gap、tick regression、未知 event 必须 fail-closed。 +6. 每个报告保存 context id、输入 hash、输出 hash、命令、首个 divergent phase/tick、失败样本和 self-hash。 + +## 3. 实施任务和依赖 + +| ID | 实施结果 | 主要输出 | 依赖 | +|---|---|---|---| +| `TUTORIAL-00` | 锁定源目录、隔离副本、服务清理和 native AXIS runner | native report + AXIS screenshot | 无 | +| `TUTORIAL-01` | exact INI/HAL/resource graph 和 runtime file policy | resource graph report | 00 | +| `TUTORIAL-02` | HAL manifest、loadrt/addf/net、Vismach `WEB-EQUIV` adapter | HAL adapter report | 01 | +| `TUTORIAL-03` | startup phase、TASK_READY、loader/startup hash | startup report | 01/02 | +| `TUTORIAL-04` | home/jog/limit/FERROR/trivkins fixed tick | motion report | 03 | +| `TUTORIAL-05` | RS-274/G-code/MDI/program controls | program report | 04 | +| `TUTORIAL-06` | tool/spindle/coolant/probe/ESTOP/IO full matrix | tool-io report | 03/05 | +| `TUTORIAL-07` | Vismach geometry graph、pin-to-pose、tool continuity | model report + canvas samples | 02/04/06 | +| `TUTORIAL-08` | AXIS menus、DRO、tabs、editor、gates、mobile layout | DOM/visual report | 03/05/07 | +| `TUTORIAL-09` | var/tool/position commit、checkpoint/journal/replay | persistence report | 05/06/08 | +| `TUTORIAL-10` | same operation sequence native/Worker/UI integrated acceptance | complete scoped report | 00..09 | +| `TUTORIAL-11` | probe and complete tool-offset behavior closure | probe/tool report + native/Worker diff | 06/09/10 | +| `TUTORIAL-12` | native/Web same-sequence recorder and first-divergence report | sequence ledger + endpoint comparison | 10/11 | +| `TUTORIAL-13` | persistence restart with explicit service/lock cleanup and visual recovery evidence | restart report + screenshots | 09/12 | +| `TUTORIAL-14` | final selected-case acceptance freeze and evidence index | signed/self-hashed closure index | 11/12/13 | + +当前 `TUTORIAL-00..10` 的已验证报告必须继续复用;下一阶段从 `TUTORIAL-11` 开始,不得重复创建其它案例任务。 + +当前执行状态:`TUTORIAL-11` verified;`TUTORIAL-12` verified with source-defined individual `Z/X/Y` homing and real `change_button` ACK;`TUTORIAL-13` verified after replay-order fix;`TUTORIAL-14` verified as selected-case closure index. Firefox/Safari、OPFS physical crash、realtime hardware 和 full release 仍是独立外部边界。 + +## 4. 统一实施顺序 + +每个任务执行以下固定步骤: + +1. 读取 `nextTask1.md`、context lock 和本任务直接输入。 +2. 服务清理;native exact command;保留截图、日志和 source hash。 +3. 先新增失败边界测试,再实现最小 vertical slice。 +4. Worker 使用真实 WASM 和固定 logical tick;不使用 mock Worker 作为完成证据。 +5. React 只消费 Worker authoritative state;UI gate、错误和状态不能本地猜测。 +6. 运行任务专项测试、native CTest、WASM build、selected-case Worker/App 回归。 +7. 生成 self-hashed report,记录正常、边界、错误、非有限、容量、暂停/恢复/终止和确定性 hash。 +8. 只有当前任务达到验收条件才更新指针;若输入、oracle 或环境缺失,保留 `blocked` 和 failure sample。 + +## 5. 验证计划 + +### 5.1 基线和构建 + +```bash +python3 scripts/validate_baseline.py +python3 scripts/validate_task_pointer.py nextTask1.md +scripts/build-wasm.sh +ctest --test-dir build-native --output-on-failure +cd web/react && npm run typecheck && npm run build +``` + +### 5.2 Native 验证 + +```bash +python3 scripts/run_axis3_tutorial_native.py \ + --output coverage/axis3-tutorial-native-run.report.json \ + --screenshot coverage/axis3-tutorial-visual/native-axis.png +python3 scripts/test_axis3_tutorial_native.py +``` + +必须检查:窗口 class/title/geometry、服务清理、lock、exact source hashes、生成文件、首错和截图 hash。 + +### 5.3 Worker/WASM 验证 + +```bash +node web/worker/test_axis3_selected_case.mjs +node web/worker/test_axis3_tutorial_hal_adapter.mjs +node web/worker/test_axis3_tutorial_startup.mjs +node web/worker/test_axis3_tutorial_motion.mjs +node web/worker/test_axis3_tutorial_program.mjs +node web/worker/test_axis3_tutorial_tool_io.mjs # TUTORIAL-06/11 +node web/worker/test_axis3_tutorial_persistence.mjs # TUTORIAL-09/13 +node web/worker/test_axis3_tutorial_sequence.mjs # TUTORIAL-12 +``` + +每个 Worker endpoint 必须同时记录 `task/program/motion/joints/devices/hal/authoritative/state_hash`,不能只断言 `status=verified`。 + +### 5.4 React/Chromium 验证 + +```bash +npm --prefix web/react run preview -- --port 5174 +python3 scripts/generate_gui_browser_visual_report.py +python3 scripts/test_gui_browser_visual_report.py +``` + +桌面 `1440x900` 和移动 `390x844` 都必须有:DOM marker、4 tabs/tabpanel 关系、至少 20 toolbar icons、ARIA labels、非空截图、Three.js canvas、case selector、DRO、G-code、Manual/MDI 和无重叠布局。 + +### 5.5 Integrated acceptance + +```bash +python3 scripts/generate_axis3_tutorial_complete_report.py +python3 scripts/test_axis3_tutorial_complete_report.py +python3 scripts/validate_baseline.py +python3 scripts/validate_task_pointer.py nextTask1.md +``` + +统一逻辑序列:启动 -> 全轴 home -> X/Y/Z jog -> override -> MDI -> G-code load/run -> pause/resume/step -> abort/restart -> tool prepare/change -> spindle/at-speed -> coolant -> probe -> limit/FERROR/ESTOP -> checkpoint -> 继续一个 tick -> recover -> persistence restart。native、Worker 和 UI 必须使用同一操作 ID 顺序;时间只用 logical tick。 + +## 6. 通过、阻塞和停止条件 + +### 通过 + +- exact path 和 source hash 一致; +- native AXIS 窗口真实可见; +- Worker `TASK_READY` 且 HAL blocked count 为 0; +- native/Worker endpoint 和恢复 hash 可解释; +- UI 证据有持久化图片、DOM hash 和 canvas 非空; +- report self-hash 和 pointer validation 通过。 + +### 保持 blocked + +- native 服务或 lock 未清理; +- 首个 divergent tick/phase 未定位; +- probe/tool offset 没有 source 或实现契约; +- checkpoint/event/hash 不可验证; +- 只能依赖墙钟、随机数、宿主 Python、mock Worker 或真实硬件; +- Firefox/Safari/OPFS/oracle 外部条件缺失。 + +### 不得宣称 + +该方案的 `verified` 只代表固定 `3axis-tutorial` 选定案例范围。它不代表 LinuxCNC 全功能、235-case acceptance、实时硬件、Firefox/Safari release 或 owner/license gate 已完成。 + +## 7. 当前证据索引 + +- 总报告:`coverage/axis3-tutorial-complete.report.json` +- Native:`coverage/axis3-tutorial-native-run.report.json` +- Resource graph:`coverage/axis3-tutorial-resource-graph.report.json` +- Program:`coverage/axis3-tutorial-program.report.json` +- Chromium visual:`coverage/gui-browser-visual-fe-m4.report.json` +- 图片目录:`coverage/axis3-tutorial-visual/` +- 接续入口:`nextTask1.md` diff --git a/docs/linuxcnc-web-wasm-3axis-tutorial-parity.md b/docs/linuxcnc-web-wasm-3axis-tutorial-parity.md new file mode 100644 index 0000000..225488b --- /dev/null +++ b/docs/linuxcnc-web-wasm-3axis-tutorial-parity.md @@ -0,0 +1,102 @@ +# 3axis Tutorial 案例对标实施文档 + +**唯一案例**:`linuxcnc/configs/sim/axis/vismach/3axis-tutorial` +**入口 INI**:`linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini` +**机床**:3 轴笛卡尔、`trivkins`、X/Y/Z、3 joints、AXIS + Vismach +**范围**:LinuxCNC 源程序案例与 Web/WASM 仿真的功能、流程、界面三层对标 +**状态**:单案例执行、功能、流程、界面、真实 individual home、真实 `change_button` tool ACK 和恢复证据已闭合;完整 235-case/release 仍不在本案例范围 + +**完成总报告**:[`coverage/axis3-tutorial-complete.report.json`](../coverage/axis3-tutorial-complete.report.json) + +下一阶段总控方案:[`linuxcnc-web-wasm-3axis-tutorial-complete-parity-plan.md`](linuxcnc-web-wasm-3axis-tutorial-complete-parity-plan.md)。 + +状态机契约:[`linuxcnc-web-wasm-3axis-tutorial-state-machine.md`](linuxcnc-web-wasm-3axis-tutorial-state-machine.md)。 + +**持久化图片证据**:native AXIS [`native-axis.png`](../coverage/axis3-tutorial-visual/native-axis.png)、Chromium desktop [`chromium-desktop.png`](../coverage/axis3-tutorial-visual/chromium-desktop.png)、Chromium mobile [`chromium-mobile.png`](../coverage/axis3-tutorial-visual/chromium-mobile.png)。 + +后续工作只允许围绕这个案例展开。其它 `configs/sim` 案例、全量 matrix、其它机床族和 release closure 不属于本任务。 + +## 1. 已锁定的 exact 输入 + +案例目录中仅以下四个文件由 native runner 复制到隔离可写目录: + +| 文件 | 用途 | +|---|---| +| `3axis-tutorial.ini` | AXIS、Task、RS-274、HAL、TRAJ、KINS、AXIS/JOINT limits | +| `3axis-tutorial.hal` | trivkins/motion/ddt/hypot、estop、manual toolchange、Vismach pins | +| `3axis-tutorial` | LinuxCNC Vismach Python model;Web 侧对应 Three.js model adapter | +| `tool.tbl` | 工具表和 tool-change 输入 | + +运行时生成的 `3axis-tutorial_mm.var`、`.bak`、`position_mm.txt` 不复制为 source fixture,由 LinuxCNC/Web workspace 在运行时创建或提交。`INTRO_GRAPHIC = linuxcnc.gif` 通过 `linuxcnc/linuxcnc.gif` 共享资产语义解析。 + +源程序关联: + +- 启动:`linuxcnc/scripts/linuxcnc.in`、`linuxcnc/scripts/update_ini`。 +- INI:`linuxcnc/src/libnml/inifile/**`、`linuxcnc/src/emc/ini/**`。 +- Task/IO:`linuxcnc/src/emc/task/**`、`linuxcnc/src/emc/iotask/ioControl.cc`、`linuxcnc/src/emc/tooldata/**`。 +- Motion/Kinematics:`linuxcnc/src/emc/motion/**`、`linuxcnc/src/emc/kinematics/trivkins.c`、`linuxcnc/src/emc/tp/**`。 +- HAL:案例 `3axis-tutorial.hal`、`linuxcnc/src/hal/hal_lib.c`、`linuxcnc/src/hal/utils/halcmd*`、`linuxcnc/src/hal/components/{ddt,hypot,sim_home_switch}.comp`。 +- Vismach:`linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial`、`linuxcnc/lib/python/vismach.py`、`linuxcnc/lib/python/hal.py`、`linuxcnc/lib/python/linuxcnc.py`。 +- AXIS UI:`linuxcnc/src/emc/usr_intf/axis/scripts/axis.py`、`linuxcnc/lib/python/rs274/glcanon.py`。 + +## 2. 正确 native 执行规约 + +执行器为 `scripts/run_axis3_tutorial_native.py`,报告为 `coverage/axis3-tutorial-native-run.report.json`。 + +1. 创建临时可写目录。 +2. 只复制上表四个 exact source files。 +3. 在副本上运行官方 `update_ini -f`,因为源 INI 的 `VERSION = 1.0` 会触发 LinuxCNC 的配置升级流程。 +4. 保持 LinuxCNC 源程序目录 `/home/mes006/linuxcncWebWASM/linuxcnc` cwd、系统 `HALLIB_DIR`、真实 `DISPLAY`。 +5. 先退出旧 LinuxCNC 服务(`linuxcncsvr`、`rtapi_app`、`milltask`、`halui`、`axis`)并确认 `/tmp/linuxcnc.lock` 不再被活动服务持有;然后在 `/home/mes006/linuxcncWebWASM/linuxcnc` 源程序目录执行 `linuxcnc /3axis-tutorial.ini`。 +6. 轮询 X11 window tree;只有 WM class `axis / Axis`、标题含 `3axis-tutorial`、几何至少 `600x400` 才算成功。 +7. 记录 update hash、source hash、生成文件、native log hash 和启动诊断。 + +已验证结果:AXIS `2.10.0~pre1` 窗口 `1300x1293`,标题 `AXIS ... on 3axis-tutorial`,LinuxCNC task 正常运行,生成 parameter/position 文件。 + +## 3. Web/WASM 对标流程 + +Web loader 固定入口为同一 `3axis-tutorial.ini`: + +1. 解析 exact INI 和 `3axis-tutorial.hal`。 +2. 获取 `tool.tbl`、共享 intro graphic 和 Vismach Python executable。 +3. 对缺失 `3axis-tutorial_mm.var` 生成空 parameter workspace file,并记录 `data_hash`。 +4. 将案例 `loadusr -W ./3axis-tutorial` 识别为唯一的 `WEB-EQUIV` Vismach adapter;任意其它 `loadusr` 仍 blocked。 +5. 用同一 `trivkins`、3 joints、X/Y/Z 配置启动 Worker。 +6. Three.js 使用 Worker 的 joints/pose/toolpath snapshot,不直接运行宿主 Python GUI。 + +## 4. 功能对标任务 + +| ID | 任务 | 完成条件 | +|---|---|---| +| `TUTORIAL-00` | 锁定案例和 native runner | native AXIS 可见窗口 verified;exact source/update/generated hashes 有报告 | +| `TUTORIAL-01` | exact resource/INI graph | INI、HAL、tool、var、intro、Vismach executable 路径和 source line 全部可追踪 | +| `TUTORIAL-02` | HAL/Vismach adapter | `3axis-tutorial.hal` 的 loadrt/addf/net/loadusr 通过 Web 等价 adapter;非该程序的宿主 loader 仍 blocked | +| `TUTORIAL-03` | Task startup | Worker 阶段映射到 `TASK_READY`;startup hash 与资源 hash 稳定 | +| `TUTORIAL-04` | 三轴 motion | home、X/Y/Z jog、速度/加速度、limit、following error、trivkins pose/joint 一致 | +| `TUTORIAL-05` | RS-274/MDI | mm units、G90/G91、G0/G1、feed、M2、MDI、pause/resume/step/abort/restart 一致 | +| `TUTORIAL-06` | Tool/IO | `tool.tbl`、prepare/change、source `hal_manualtoolchange.change_button` ACK、spindle/at-speed、冷却、probe、estop/recover 一致 | +| `TUTORIAL-07` | Vismach model | Python model 的 jointX/Y/Z、toollength、tooldiameter pin 语义映射到 Three.js,姿态不跳变 | +| `TUTORIAL-08` | AXIS UI | 菜单、DRO、Manual/MDI、G-code、Preview、jog/home、tool/spindle/coolant/estop、错误和快捷键对标 | +| `TUTORIAL-09` | persistence/recovery | var/tool/position workspace commit、checkpoint、journal、replay、重启恢复无重复副作用 | +| `TUTORIAL-10` | integrated acceptance | native panel、Worker state、Three.js canvas、DOM controls、operation/event/checkpoint hashes 同一操作序列通过 | + +每项必须有专项测试、正常/边界/错误样本、source/data hash 和 self-hashed report。不能用 `timeout`、后台 `task:` 或静态 catalog READY 代替真实结果。 + +## 5. 统一对标操作序列 + +1. native/Web 启动并确认 AXIS panel / Worker `TASK_READY`。 +2. 按源 AXIS 语义依次执行 Z、X、Y individual home,记录 X/Y/Z pose、joint 和 homed 状态。 +3. 分别 jog X/Y/Z,记录 position/velocity/limit。 +4. 加载并运行 `G21 G90`、`G0 X0 Y0 Z0`、`G1 X10 Y5 F120`、`G1 Z-1`、`M2`。 +5. 执行 MDI、pause、resume、step、abort、restart。 +6. prepare/change tool 1,启停主轴,等待 at-speed,切换 coolant。 +7. 注入 limit、following error、probe 和 ESTOP,检查错误码、禁用控件和 recover。 +8. checkpoint 后继续一个 tick,再恢复并比较 endpoint/event/state hash。 +9. 退出并重启,比较 var/position/tool workspace state。 + +## 6. 明确边界 + +- `3axis-tutorial` Python 模型在 Web 中是源码驱动的 `WEB-EQUIV` Three.js adapter,不运行宿主 Python 进程。 +- POSIX fallback 只说明 native 仿真可以运行,不是实时内核或硬件验证。 +- AXIS native window 是启动成功必要条件;完整对标仍需功能、流程、界面三层分别通过。 +- 其它案例、浏览器矩阵、OPFS 物理崩溃、官方 oracle 和 release acceptance 不在本案例任务范围内。 diff --git a/docs/linuxcnc-web-wasm-3axis-tutorial-state-machine.md b/docs/linuxcnc-web-wasm-3axis-tutorial-state-machine.md new file mode 100644 index 0000000..7639605 --- /dev/null +++ b/docs/linuxcnc-web-wasm-3axis-tutorial-state-machine.md @@ -0,0 +1,77 @@ +# 3axis Tutorial 状态机契约 + +本契约以 LinuxCNC `axis.py`、`linuxcnc` Python API 和 `emctaskmain/taskclass` 的源语义为 oracle。`sim_task.v1` 保持原有 schema;`axis_state` 是 Worker 响应中的附加 AXIS 视图。 + +## 源常量 + +| LinuxCNC 源常量 | 数值 | AXIS 视图 | +|---|---:|---| +| `STATE_ESTOP` | 1 | `machine_state=ESTOP` | +| `STATE_ESTOP_RESET` | 2 | `machine_state=ESTOP_RESET` | +| `STATE_OFF` | 3 | `machine_state=OFF` | +| `STATE_ON` | 4 | `machine_state=ON` | +| `MODE_MANUAL` | 1 | `source_mode=MANUAL` | +| `MODE_AUTO` | 2 | `source_mode=AUTO` | +| `MODE_MDI` | 3 | `source_mode=MDI` | +| `INTERP_IDLE` | 1 | `operation_state=IDLE` | +| `INTERP_READING` | 2 | `operation_state=RUNNING` | +| `INTERP_PAUSED` | 3 | `operation_state=PAUSED` | +| `INTERP_WAITING` | 4 | `operation_state=RUNNING`,`source_interp_state=INTERP_WAITING` | + +## 八个 AXIS 核心状态 + +```text +ESTOP, ESTOP_RESET, OFF, ON, HOME, IDLE, RUNNING, PAUSED +``` + +`ESTOP/ESTOP_RESET/OFF/ON` 是 machine/task 层;`HOME` 是 home command 的 transient operation;`IDLE/RUNNING/PAUSED` 是 interpreter/task activity 层。响应字段: + +```json +{ + "axis_state": { + "state": "RUNNING", + "machine_state": "ON", + "operation_state": "RUNNING", + "source_task_state": "STATE_ON", + "source_interp_state": "INTERP_READING", + "source_mode": "AUTO" + } +} +``` + +## 源对齐迁移 + +| 当前 | 允许迁移 | 触发源行为 | +|---|---|---| +| `ESTOP` | `ESTOP_RESET`、`ESTOP` | AXIS `estop_clicked`: `command.state(STATE_ESTOP_RESET)` 或保持急停 | +| `ESTOP_RESET` | `ON`、`OFF`、`ESTOP` | AXIS `onoff_clicked`: `STATE_ON`;再次急停回 `ESTOP` | +| `OFF` | `ESTOP_RESET`、`ESTOP`、`OFF` | 上电必须先经过源定义的 reset 流程 | +| `ON` | `HOME`、`IDLE`、`RUNNING`、`PAUSED`、`OFF`、`ESTOP` | `manual_ok`、home、auto/mdi、off/estop | +| `HOME` | `ON`、`IDLE`、`ESTOP` | `axis.py::go_home`;本案例按 `Z -> X -> Y` individual home | +| `IDLE` | `HOME`、`RUNNING`、`PAUSED`、`OFF`、`ESTOP` | `manual_ok`、program run/pause、power/estop | +| `RUNNING` | `PAUSED`、`IDLE`、`ESTOP` | `INTERP_READING/WAITING`、pause/abort/complete/estop | +| `PAUSED` | `RUNNING`、`IDLE`、`ESTOP` | `INTERP_PAUSED`、resume/abort/estop | + +`RUNNING -> HOME`、`PAUSED -> HOME`、`ESTOP -> HOME` 等迁移必须拒绝。Home 不是普通程序运行状态,必须先满足源 `manual_ok`:task `STATE_ON` 且不在 `MODE_AUTO/MDI` 非 idle 执行中。 + +## 按钮门控 + +- 急停按钮始终可用;`ESTOP` 时触发 reset,其他机器状态触发 estop。 +- 上电按钮只有源状态允许时可用;`ESTOP_RESET` 才发送 `STATE_ON`,否则发送 `STATE_OFF`。 +- Open/Load/MDI/Jog/Home 需要 `STATE_ON`,且 interpreter idle 或符合 MDI queue 条件。 +- Run 需要 `STATE_ON + MODE_AUTO + INTERP_IDLE + task file`。 +- Pause 只允许 `MODE_AUTO` 且 `INTERP_READING/INTERP_WAITING`。 +- Resume 只允许 `INTERP_PAUSED`。 +- Step 需要 machine on 和 task file,不能在 ESTOP/OFF 执行。 +- Home 需要 machine on、manual mode、interpreter idle;本案例 UI 逐轴执行。 +- Tool/spindle/coolant/probe 操作必须同时受 ESTOP、fault、interlock、spindle busy 和 tool lifecycle gate 约束。 + +## 验证 + +- 单元状态契约:`node web/worker/test_axis_state.mjs` +- 源序列:`node web/worker/test_axis3_tutorial_sequence.mjs` +- native recorder:`python3 scripts/run_axis3_tutorial_native_sequence.py` +- native/Worker sequence report:`coverage/axis3-tutorial-sequence.report.json` +- 现有 gate contract:`web/app/test_axis_contract.mjs`、`web/app/test_axis_operation_controller.mjs` + +禁止修改锁定 ABI、protocol、`sim_task.v1` 字段来承载这组视图;状态契约新增字段只能作为 additive `axis_state`,并必须有 hash/迁移测试。 diff --git a/docs/linuxcnc-web-wasm-autonomous-execution-prompt.md b/docs/linuxcnc-web-wasm-autonomous-execution-prompt.md index b52cf9c..71a240e 100644 --- a/docs/linuxcnc-web-wasm-autonomous-execution-prompt.md +++ b/docs/linuxcnc-web-wasm-autonomous-execution-prompt.md @@ -20,7 +20,7 @@ 9. 任务完成后生成自哈希报告,更新 `nextTask1.md` 和 `docs/task-history.md`,将下一个依赖满足的任务写入 `Next`,然后在同一轮立即把该任务认领为 `in_progress` 并继续执行;不得在 `verified + queued` 状态结束本轮。 10. 保留工作区已有改动,不使用 `git reset --hard`、`git checkout --` 或其他破坏性回退命令。 11. 远程 compact、网络断开或会话恢复后,重新读取 `nextTask1.md` 和已有报告,从最近的 `in_progress` 任务继续,不从头重做。 -12. 只有 `nextTask1.md` 明确 `next_task: none`,或当前任务进入 `blocked` 且需要用户提供外部源码、权限、owner 决策或新 context 时才暂停;外部阻塞要保留证据并说明原因。 +12. 只有 `nextTask1.md` 明确 `next_task: none` 且 `local_continuation.status` 已为 `verified`,或当前任务进入 `blocked` 且没有可执行的本地 continuation、确实需要用户提供外部源码、权限、owner 决策或新 context 时才暂停;只要本地证据漂移,就继续生成/修复/验证并保留失败样本。外部阻塞要保留证据并说明原因。 工作期间每隔约 30 秒发送简短进度更新。最终汇报实际完成项、测试结果、未闭合阻塞和下一个任务,不把模块测试通过说成全功能完成。 diff --git a/docs/linuxcnc-web-wasm-axis-3axis-complete-parity.md b/docs/linuxcnc-web-wasm-axis-3axis-complete-parity.md new file mode 100644 index 0000000..9a7fc37 --- /dev/null +++ b/docs/linuxcnc-web-wasm-axis-3axis-complete-parity.md @@ -0,0 +1,155 @@ +# 三轴 AXIS 案例完整对标规格 + +**文档状态**:Historical draft; superseded by `linuxcnc-web-wasm-3axis-tutorial-parity.md` +**选定案例**:`linuxcnc/configs/sim/axis/axis.ini` +**机床类型**:3 轴笛卡尔仿真机,`trivkins`,`X Y Z`,3 joints +**LinuxCNC 源版本**:`linuxcnc/VERSION` 中的锁定版本 +**Context**:`linuxcnc-2.10.0-pre0-wasm-m1-py-c1` +**执行入口**:`nextTask1.md` + +本规格把“完全对标”定义为同一个案例的三层可观察等价: + +1. **功能等价**:运动、解释器、HAL、IO、工具、主轴、冷却、回零、限位、急停、MDI、程序控制和恢复的结果、错误和边界一致。 +2. **流程等价**:从选择 INI 到配置解析、资源装载、HAL/Task/IO 启动、显示启动、运行、停止和清理的阶段、顺序、诊断和状态迁移一致。 +3. **界面等价**:AXIS 面板中的可见控件、标签、状态、快捷操作、禁用条件、错误显示和 3D/轨迹反馈均有 Web 对应物,并驱动同一 Worker 权威状态。 + +Web 使用 React、Dedicated Worker、WASM、WorkspaceRuntime 和 Three.js;不要求复制 GTK/Tk 的进程或窗口实现,但不允许删减用户可观察的 AXIS 功能、流程或状态。 + +## 1. 证据边界 + +### 1.1 入口与 exact resources + +| 类型 | exact path | +|---|---| +| INI | `linuxcnc/configs/sim/axis/axis.ini` | +| parameter file | `linuxcnc/configs/sim/axis/sim.var` | +| tool table | `linuxcnc/configs/sim/axis/sim.tbl` | +| local HAL | `linuxcnc/configs/sim/axis/cooling.hal` | +| shared intro | `linuxcnc/linuxcnc.gif` | +| HALLIB HAL | `linuxcnc/lib/hallib/core_sim.hal`、`sim_spindle_encoder.hal`、`axis_manualtoolchange.hal`、`simulated_home.hal`、`check_xyz_constraints.hal` | + +`axis.ini` 的 `HALFILE` 顺序、`TOOL_TABLE`、`PARAMETER_FILE`、`INTRO_GRAPHIC` 和 `[TRAJ]/[KINS]/[AXIS_*]/[JOINT_*]` 值必须按源文件逐行记录 source hash、line 和 data hash。不得用其它案例的同 basename 文件替代缺失资源。 + +### 1.2 正确 native runner + +native 验证必须: + +- 只把上表中案例声明的文件复制到隔离、可写的案例目录;不复制整个 `configs/sim/axis` 目录。 +- cwd 保持仓库根,使用系统 `HALLIB_DIR` 解析 `LIB:` HAL。 +- 使用真实 `DISPLAY` 执行 `linuxcnc -r /axis.ini`;`-k` 只能用于保留 HAL 错误诊断,不得把它当作无错误成功。 +- 成功条件必须包含可见 AXIS 窗口:WM title 类似 `AXIS on LinuxCNC-HAL-SIM-AXIS`、WM class 为 `axis / Axis`,几何尺寸至少 `600x400`。 +- `timeout`、`Starting LinuxCNC`、`task:` 或后台进程存活都不能单独算成功。 + +native runner 需要记录:命令、cwd、DISPLAY、LinuxCNC 版本、窗口 title/class/geometry、启动阶段、stdout/stderr hash、生成的 `.var/.bak/position.txt` 和首个错误。 + +## 2. 功能对标矩阵 + +| 功能域 | LinuxCNC 源程序 | Web/WASM 对应 | 完成证据 | +|---|---|---|---| +| INI/include/资源 | `scripts/linuxcnc.in`、`src/libnml/inifile/**`、`src/emc/ini/**` | `ini-parser.mjs`、`resource-resolver.mjs`、`sim-case-loader.mjs` | exact graph、source line、resource hash、missing/optional 诊断 | +| 启动状态 | `scripts/linuxcnc.in` 2.x/4.x 阶段、`emctaskmain.cc`、`taskclass.cc` | `configuration-startup.mjs`、`SimSession` | `NEW→MOUNTED→PARSED→RESOLVED→CORE_CREATED→HAL_READY→TASK_READY` 与 native 阶段映射 | +| Task/模式 | `emctaskmain.cc`、`taskclass.cc`、`emccanon.cc` | `sim_task`、`task-state.mjs`、`sim-session.mjs` | MANUAL/MDI/AUTO、READY/RUNNING/PAUSED/STOPPED/ESTOP/FAULT、状态 hash | +| RS-274 | `src/emc/rs274ngc/interp_*.cc`、`rs274ngc_pre.cc` | WASM interpreter、`program-runtime.mjs` | G0/G1、G20/G21、G90/G91、feed、M2、参数、错误行和 modal hash | +| TP/motion | `src/emc/tp/**`、`src/emc/motion/{motion,control,homing}.c` | `sim_motion`、固定 tick scheduler、WASM core | 1x/fast tick、位置/速度/加速度、following error、limit、checkpoint parity | +| trivkins | `src/emc/kinematics/trivkins.c`、`kins_util.c` | `sim_kinematics` trivkins module | XYZ pose↔joint identity、3 joint mapping、flags、边界和 source hash | +| HAL | `src/hal/hal_lib.c`、`src/hal/utils/halcmd*`、`.comp` manifest | `hal-configuration.mjs`、`hal-runtime.mjs` | 6 HAL files、threads/functions/pins/signals、load order、unsupported command diagnostics | +| 模拟主轴 | `lib/hallib/core_sim.hal`、`sim_spindle_encoder.hal`、`src/hal/components/sim_spindle.comp` | `DeviceIoRuntime`、spindle model | command RPM、mass/limit/at-speed、encoder/index、固定 tick hash | +| 回零/限位 | `lib/hallib/simulated_home.hal`、`motion/homing.c` | virtual home switches、`sim_motion.home` | X/Y/Z home sequence、shared switches、home result、limit error | +| 工具/换刀 | `src/emc/tooldata/**`、`src/emc/iotask/ioControl.cc`、`axis_manualtoolchange.hal` | tool table parser、virtual tool IO | `sim.tbl` entries、prepare/change/prepared/changed/abort/fault、pocket/tool state | +| 冷却/IO | `cooling.hal`、`ioControl.cc`、virtual IO source | `DeviceIoRuntime.coolantCommand` | mist/flood/lube request、pin absence/error、interlock/estop behavior | +| 探针/故障 | `src/hal/components/sphereprobe.comp`、motion limits、IO errors | virtual probe/limit/fault paths | probe pose latch、nonfinite/limit/estop/fault/recover | +| 参数文件 | `rs274ngc_pre.cc::restore_parameters/save_parameters` | workspace runtime-generated `.var` and OPFS commit | missing/empty/startup/exit-save semantics、exact path/data hash | +| 清理/恢复 | `linuxcnc.in::Cleanup`、task/interpreter exit | checkpoint、journal、replay、WorkspaceRuntime | stop/abort/estop/recover、event cursor、endpoint hash equality、无重复副作用 | + +功能任务不得只验证“命令返回 verified”;必须比较最终 pose/joints、task/program/tool/device/HAL 状态和 state hash,并保留错误路径。 + +## 3. 流程对标矩阵 + +### 3.1 native 流程 + +1. 解析 `axis.ini`,展开 `#INCLUDE`,检查版本和 config。 +2. 读取 `PARAMETER_FILE`、EMCMOT、EMCIO、TASK、DISPLAY、NML 和 TRAJ/KINS。 +3. `cd INI_DIR`,解析 `INTRO_GRAPHIC`,启动 AXIS splash。 +4. 启动 `linuxcncsvr`、RTAPI/HAL、IO、HALUI。 +5. 按 `[HAL]HALFILE` 顺序加载 `core_sim.hal`、`sim_spindle_encoder.hal`、`axis_manualtoolchange.hal`、`simulated_home.hal`、`check_xyz_constraints.hal`、`cooling.hal`。 +6. 启动 `milltask`,执行 HALCMD,最后启动 AXIS 面板。 +7. 用户执行 home/jog/MDI/program/tool/spindle/coolant/probe/estop/recover。 +8. 关闭 AXIS 后执行 Cleanup、保存参数、停止 HAL/RTAPI、删除 NML/锁文件。 + +### 3.2 Web 流程 + +1. exact-path loader 建立 bundle,补齐运行时生成资源并记录 hash。 +2. WorkspaceRuntime 挂载,INI/include/resource graph 解析完成后才允许 startup。 +3. WASM core 创建并加载 workspace;HAL preflight 依照 native 文件顺序执行。 +4. Dedicated Worker attach Task,发布 `CAPABILITIES`/`SESSION_READY`。 +5. `LOAD_WORKSPACE` 进入 `TASK_READY`,React AppShell 绑定 snapshot/event。 +6. 所有用户操作经 `command-envelope.v1` 进入 Worker;固定 tick 更新 interpreter→TP→IK→motion→HAL→IO→publish。 +7. checkpoint/journal/replay 代替 native 退出时文件/进程清理;提交 `.var/.tbl` 变更必须可恢复。 + +两条流程必须有阶段映射表、seq/tick 对账、首个 divergence、source line 和 hash;不能用流程末尾的 READY 结果掩盖中途阶段差异。 + +## 4. AXIS 界面对标矩阵 + +### 4.1 必须覆盖的可见区域 + +| AXIS 区域 | Web 对应 | 必须验证 | +|---|---|---| +| File/Machine/View/Help 菜单 | AppShell command/navigation menus | 菜单项、禁用条件、错误提示、快捷键语义 | +| DRO X/Y/Z、machine/relative/commanded/actual | authoritative snapshot panel | 三轴数值、单位、位置反馈模式、tick 更新和 hash | +| Manual/F3、MDI/F5、Auto tabs | Radix/Web tabs | tab order、aria-controls、模式切换、运行中禁用规则 | +| G-code editor/program list | Web editor/project workflow | load/edit/reload/run/line seek、当前行、错误行 | +| Preview/Gremlin plot | Three.js machine view | nonblank canvas、轨迹、坐标系、刀具/机床 pose 与 Worker 一致 | +| Jog controls/increments | manual control panel | X/Y/Z jog、continuous/incremental、速度、stop、home | +| Home Axis/Unhome/limits | axis controls | 每轴 home sequence、limit override、blocked reason | +| Feed/spindle overrides | sliders/step controls | range、实时反映、非有限/超限拒绝 | +| Spindle/coolant | device panel | RPM/direction/at-speed、mist/flood/lube、故障和 interlock | +| Tool table/tool touch off | tool panel | tool/pocket/offset、prepare/change、probe/touch-off、错误可见 | +| ESTOP/OFF/ON/Recover | safety controls | ESTOP latch、动作禁用、recover 后状态和 event cursor | +| status/error/operator messages | state/error panel | native message key/source line/code、可追踪 hash | +| keyboard shortcuts | Web keyboard command map | F3/F5、jog、run/pause/abort、焦点和重复触发规则 | + +### 4.2 界面完成条件 + +- DOM controls、labels、ARIA tab/tabpanel 关系和 keyboard map 全部通过。 +- 每个控件都绑定一个 Worker command 或明确的 `HOST_EXCLUDED/REAL-EXCLUDED` 诊断;不得存在“看得见但无效”的装饰控件。 +- 控件 enable/disable 条件来自同一 Task/IO authoritative snapshot;不能由 React 本地猜测状态。 +- 桌面与移动 viewport 均验证布局不重叠;Three.js canvas 必须有非空像素和可变 pose。 +- AXIS 与 Web 对同一操作序列输出相同的可观察状态字段、错误键和 checkpoint endpoint hash;UI 像素差异必须单独记录,不能掩盖行为差异。 + +## 5. 任务分解 + +| ID | 任务 | 主要输入 | 主要输出/验收 | 依赖 | +|---|---|---|---|---| +| `AXIS3-00` | 锁定案例和 native runner | `axis.ini`、exact resources、`scripts/linuxcnc.in` | 可见 AXIS 窗口证据、窗口 geometry、source/resource hashes、native log | 无 | +| `AXIS3-01` | 完整 source/resource graph | INI、HAL、tool/var、HALLIB、`inifile`/`resource-resolver` 源 | 0 unresolved exact resources;include/HAL 顺序、optional/shared asset 和 runtime file policy | AXIS3-00 | +| `AXIS3-02` | native/Web startup phase parity | `linuxcnc.in`、`taskclass.cc`、`ioControl.cc`、`configuration-startup.mjs` | 阶段映射、首个 divergence、每阶段 hash;两端 `TASK_READY` | AXIS3-01 | +| `AXIS3-03` | 3-axis trivkins/motion parity | `trivkins.c`、motion/homing/TP 源、axis/joint INI | home、jog、limit、following error、1x/fast endpoint parity | AXIS3-02 | +| `AXIS3-04` | RS-274/program/MDI parity | `rs274ngc/interp_*`、G-code tests、`program-runtime.mjs` | modal/units/G0/G1/M2、MDI、pause/resume/abort/restart、line diagnostics | AXIS3-03 | +| `AXIS3-05` | HAL/IO/tool/spindle/coolant parity | 6 HAL files、tooldata/ioControl、sim components | HAL records、spindle encoder/at-speed、tool lifecycle、coolant/IO/probe/fault matrix | AXIS3-02, AXIS3-03 | +| `AXIS3-06` | workspace/parameter/tool persistence parity | `restore_parameters/save_parameters`、tooldata writer、WorkspaceRuntime/OPFS | startup empty/missing semantics、exit commit、journal/checkpoint/replay、no duplicate side effects | AXIS3-04, AXIS3-05 | +| `AXIS3-07` | AXIS shell and navigation parity | `axis.py`、AXIS Tcl/Python UI source、React AppShell | menus, tabs, labels, shortcuts, focus, accessibility and enable gates | AXIS3-02 | +| `AXIS3-08` | controls and machine-view parity | AXIS controls/Gremlin/graphics、Three.js panels | DRO, jog/home, overrides, tool/spindle/coolant/estop panels, nonblank 3D/plot and mobile layout | AXIS3-03, AXIS3-05, AXIS3-07 | +| `AXIS3-09` | integrated native/WASM/Worker/UI acceptance | all previous reports, browser visual/performance/recovery evidence | one deterministic operation script; native window + Worker endpoint + UI DOM/canvas + recovery hash; explicit blockers | AXIS3-00..08 | + +每个任务必须新增或更新一个专项测试和自哈希报告;状态只能是 `queued → in_progress → verified` 或 `in_progress → blocked`。`verified` 只表示该层和依赖层通过,不代表 LinuxCNC 全功能 release。 + +## 6. 统一验收操作序列 + +对 native AXIS 和 Web Worker 使用同一逻辑操作序列(时间由逻辑 tick 表示): + +1. 启动案例并确认 AXIS panel/Worker `TASK_READY`。 +2. 三轴全 home,记录每轴 home 状态和位置。 +3. X/Y/Z 增量 jog,记录 commanded/actual/relative DRO、速度和 endpoint hash。 +4. 切换 Manual→MDI,执行 `G21 G90`、`G0 X0 Y0 Z0`、`G1 X10 Y5 F120`、`M2`,比较 modal、轨迹和当前行。 +5. Auto 运行同一程序,执行 pause/resume/step/abort/restart,比较 task/program 状态。 +6. 设置 spindle RPM/direction、等待 at-speed、切换 mist/flood/lube,执行 tool prepare/change/abort。 +7. 注入 limit、following error、probe、coolant/IO fault 和 ESTOP,比较错误键、禁用控件、recover 结果。 +8. 创建 checkpoint,继续一步,再恢复;比较连续和恢复 endpoint/event/state hash。 +9. 退出/重启,确认参数/工具 workspace commit、journal cursor 和面板初始状态一致。 + +## 7. 不得伪装成完整对标的边界 + +- native 安装包与锁定源码版本不一致时,必须记录版本差异;不能把安装包行为当作官方 source oracle。 +- 实时内核、RTAPI 真实调度、PCI/串口/真实硬件和宿主动态 loader 保留 `REAL-EXCLUDED` 或 `HOST_EXCLUDED`。 +- Firefox/Safari minimum matrix、OPFS 物理崩溃恢复和官方 LinuxCNC 全状态 oracle 未完成前,整体验收保持 `blocked/STOP_RELEASE`。 +- AXIS 面板可见是 native 启动必要证据,但不等于功能、流程和 Web UI 三层都已对齐;三层报告必须同时 verified。 diff --git a/docs/linuxcnc-web-wasm-case-parity-plan.md b/docs/linuxcnc-web-wasm-case-parity-plan.md index 2d2bc97..9642e2c 100644 --- a/docs/linuxcnc-web-wasm-case-parity-plan.md +++ b/docs/linuxcnc-web-wasm-case-parity-plan.md @@ -1,9 +1,15 @@ # LinuxCNC Simulation Case Parity Plan -This plan is the execution queue for making the real cases under -`linuxcnc/configs/sim` behave like LinuxCNC in the browser. It supplements the -implementation roadmap with case-level acceptance rules and keeps source -resource blockers explicit. +This plan is the execution queue for making one exact source case behave like +LinuxCNC in the browser. It supplements the implementation roadmap with +case-level acceptance rules and keeps source resource blockers explicit. + +The only active target is specified in +[`linuxcnc-web-wasm-3axis-tutorial-parity.md`](linuxcnc-web-wasm-3axis-tutorial-parity.md). +Its `TUTORIAL-00..10` tasks are the required functional, process, Vismach and AXIS UI +parity slice for `linuxcnc/configs/sim/axis/vismach/3axis-tutorial`. +No later task may switch to another case; a new case requires a separate approved +plan and must not change this continuation scope. ## Baseline diff --git a/docs/task-history.md b/docs/task-history.md index 7fdbda2..61767d8 100644 --- a/docs/task-history.md +++ b/docs/task-history.md @@ -108,7 +108,18 @@ | `S8-07` | verified:从真实 INI/include declarations 生成 235-case display family catalog;Axis 85、QtVCP 61、Gscreen 14、VisMach 21、GladeVCP 6、Touchy 6、PyVCP 5、other 37;AppShell 按案例显示 family capabilities/host plugin boundaries,未改变 Worker 权威状态或 blocked 语义 | `coverage/sim-display-families-s8-07.report.json`, `web/app/sim-display-families.mjs`, `web/app/display-family.mjs`, `web/app/test_display_family_s8_07.mjs`, `scripts/generate_sim_display_families_s8_07.py`, `scripts/test_sim_display_families_s8_07.py` | | `S8-08` | verified:ldelta/rdelta 真实案例通过 HALLIB exact resolution、sim.var/sim.tbl fixtures、lineardelta/rotarydelta virtual adapters;nominal joints `[300,300,300]`/`[10,10,10]`、1x/fast/recovery parity 和 TASK_READY 通过,official oracle 与其它机床族边界保留 | `coverage/machine-families-s8-08.report.json`, `web/worker/test_machine_families_s8_08.mjs`, `scripts/generate_machine_families_s8_08.py`, `scripts/test_machine_families_s8_08.py` | | `S8-09` | verified:10 个真实 Worker runtime extension runners 全部通过,覆盖 remap/O-word/filter、Python callbacks、tool/probe/IO ack、virtual devices 和 PLC;固定 tick、能力拒绝和 recovery/ack 边界保留,host Python/dynamic loader 不被误报为浏览器 parity | `coverage/runtime-extensions-s8-09.report.json`, `scripts/generate_runtime_extensions_s8_09.py`, `scripts/test_runtime_extensions_s8_09.py` | -| `S8-10` | blocked(正式停止条件):新增最终 235-case acceptance 聚合;WASM/native/Worker/App 构建与回归 72/72 通过,10 个案例 TASK_READY、225 个案例保留 resource/HAL/INI/STARTUP blockers,display/machine family 与 runtime extension 证据已汇总;official full LinuxCNC oracle 仍 source-gated,Chromium/Firefox/Safari minimums 仍 TBD/Safari unavailable;implementation coverage=verified、acceptance=blocked、`STOP_RELEASE`,不宣称 LinuxCNC 全功能 release | `coverage/full-case-acceptance-s8-10.report.json`, `scripts/generate_full_case_acceptance_s8_10.py`, `scripts/test_full_case_acceptance_s8_10.py`, `nextTask1.md` | +| `S8-10` | blocked(正式停止条件):资源运行时语义修复后重新聚合 235-case acceptance;95 个案例 TASK_READY、140 个案例保留 HAL/INI/资源/STARTUP blockers,WASM/native/Worker/App 技术回归通过;official full LinuxCNC oracle 仍 source-gated,Chromium/Firefox/Safari minimums 仍 TBD/Safari unavailable,OPFS recovery 仍 blocked;implementation coverage=verified、acceptance=blocked、`STOP_RELEASE`,不宣称 LinuxCNC 全功能 release | `coverage/full-case-acceptance-s8-10.report.json`, `scripts/generate_full_case_acceptance_s8_10.py`, `scripts/test_full_case_acceptance_s8_10.py`, `nextTask1.md` | +| `TUTORIAL-00` | verified:固定唯一案例 `linuxcnc/configs/sim/axis/vismach/3axis-tutorial`;隔离目录先运行官方 `update_ini -f`,再以真实 DISPLAY 启动 LinuxCNC;AXIS `axis/Axis` 窗口 1300x1293 可见;Web exact bundle/Worker `TASK_READY` 和功能操作序列通过,Vismach executable 作为唯一 `WEB-EQUIV` model adapter 资源加载 | `coverage/axis3-tutorial-native-run.report.json`, `scripts/run_axis3_tutorial_native.py`, `web/worker/test_axis3_selected_case.mjs`, `docs/linuxcnc-web-wasm-3axis-tutorial-parity.md` | +| `TUTORIAL-01` | in_progress:锁定 4 个案例源文件、运行时 `.var/.bak/position_mm.txt` 生成规则、共享 intro graphic、HAL source lines 和 Vismach Python imports;下一步生成 exact resource/source graph 自哈希报告 | `docs/linuxcnc-web-wasm-3axis-tutorial-parity.md`, `linuxcnc/configs/sim/axis/vismach/3axis-tutorial`, `linuxcnc/lib/python/vismach.py`, `linuxcnc/lib/python/hal.py` | +| `TUTORIAL-01..03` | verified:3axis tutorial exact resource graph、Vismach `loadusr ./3axis-tutorial` 唯一 `WEB-EQUIV` HAL adapter、startup phase `NEW→TASK_READY` 和 deterministic loader/startup hash 通过;运行时 `3axis-tutorial_mm.var` 在 workspace exact path 生成 | `coverage/axis3-tutorial-resource-graph.report.json`, `web/worker/test_axis3_tutorial_hal_adapter.mjs`, `web/worker/test_axis3_tutorial_startup.mjs`, `scripts/test_axis3_tutorial_resource_graph.py`, `scripts/test_axis3_tutorial_hal_adapter.py`, `scripts/test_axis3_tutorial_startup.py` | +| `TUTORIAL-04` | verified:3axis tutorial `trivkins` X/Y/Z home、独立三轴 jog、limit 注入/清除、following error fault 和固定 tick snapshot 通过;X/Y/Z 位置变化、错误码和 snapshot hash 保留 | `web/worker/test_axis3_tutorial_motion.mjs`, `scripts/test_axis3_tutorial_motion.py` | +| `TUTORIAL-05` | verified:固定 `3axis-tutorial` 案例的 RS-274/G-code `G21/G90/G91/G0/G1/F/M2`、程序 Run/Pause/Resume/Step/Abort/Restart 和 MDI 通过;暂停/运行态 MDI 保留 `mdi_while_program_active` 拒绝边界,abort/recover 后 MDI 成功;非法 G-code 在执行阶段保留解释器错误和最终 state hash | `coverage/axis3-tutorial-program.report.json`, `web/worker/test_axis3_tutorial_program.mjs`, `scripts/generate_axis3_tutorial_program_report.py`, `scripts/test_axis3_tutorial_program.py` | +| `TUTORIAL-10` | verified(selected-case scope):固定源程序目录执行 `linuxcnc /3axis-tutorial.ini` 前清理旧 LinuxCNC 服务和 lock;native AXIS 窗口图片、Chromium desktop/mobile 图片、exact Worker startup/HAL/motion/program/tool/IO/checkpoint/recovery 和 self-hash 总报告均已生成;Firefox/Safari、OPFS 物理崩溃和全量 release 保持独立 blocked | `coverage/axis3-tutorial-complete.report.json`, `coverage/axis3-tutorial-native-run.report.json`, `coverage/axis3-tutorial-visual/`, `web/worker/test_axis3_selected_case.mjs`, `scripts/run_axis3_tutorial_native.py` | +| `TUTORIAL-11` | verified:固定案例 Worker 真实 WASM 通过 T1 prepare/change、主轴 600 RPM/at-speed/stop、mist/flood 冷却与 fault、probe arm/update/trip/disarm、ESTOP/recover;保留 tool state、probe position、错误码和最终 hash | `coverage/axis3-tutorial-tool-io.report.json`(`529b35a6fb84f561772b941a57d8bea3cf355969a622c01287afd5e642e0e246`), `web/worker/test_axis3_tutorial_tool_io.mjs`, `scripts/generate_axis3_tutorial_tool_io_report.py`, `scripts/test_axis3_tutorial_tool_io.py` | +| `TUTORIAL-12` | verified:参考 AXIS/QtVCP 源码遵循案例未定义 `HOME_SEQUENCE` 时的 individual home 语义,真实 native 按 `Z -> X -> Y` home;参考 `hal_manualtoolchange.py` 的 `change_button` pin,通过真实 HAL ACK 完成 T1 M6;native/Worker 同序列无首差,保留 source-defined semantics | `coverage/axis3-tutorial-sequence.report.json`, `coverage/axis3-tutorial-native-sequence.report.json`, `web/worker/test_axis3_tutorial_sequence.mjs`, `scripts/run_axis3_tutorial_native_sequence.py` | +| `TUTORIAL-13` | verified:修复 program recovery replay 顺序,selected case checkpoint 后连续/recovered endpoint hash 相等;坏 checkpoint fail-closed,runtime `.var/tool.tbl/position` policy 和无重复副作用均有证据 | `coverage/axis3-tutorial-persistence.report.json`(`a2d125b06fe81ad8442c3b2b1f766e2a01e8a3160b4738ebc1cba59f565800f2`), `web/worker/test_axis3_tutorial_persistence.mjs`, `web/worker/sim-session.mjs` | +| `TUTORIAL-14` | verified(selected-case closure index):所有 native/Worker/Chromium/tool-IO/persistence/sequence 证据冻结;native individual home 和 `change_button` tool ACK 已按源程序语义闭合;release action 仍为 `STOP_RELEASE`,外部浏览器/OPFS/硬件边界独立保留 | `coverage/axis3-tutorial-closure-index.report.json`, `scripts/generate_axis3_tutorial_closure_index.py`, `scripts/test_axis3_tutorial_closure_index.py` | +| `AXIS-STATE-CONTRACT` | verified:新增 additive `axis_state` 视图,严格记录 LinuxCNC `STATE_*`/`MODE_*`/`INTERP_*` 数值、ESTOP_RESET/上电/关机/individual HOME/IDLE/RUNNING/PAUSED 迁移和 AXIS button gate;不修改 `sim_task.v1` | `docs/linuxcnc-web-wasm-3axis-tutorial-state-machine.md`, `web/worker/axis-state.mjs`, `web/worker/test_axis_state.mjs`, `web/react/src/store.ts`, `web/react/src/App.tsx` | | `FE-M1-REACT` | verified:按技术路线新增 React 19/TypeScript/Vite/Tailwind/Radix/Three.js 前端入口;Dedicated Worker/WASM bundle、protocol.v1 reducer、exact-path `configs/sim` loader、LinuxCNC AXIS source icons 和 Three.js r185 三轴 viewer 通过 typecheck/build/preview;OPFS 仍 Worker-owned | `coverage/react-frontend-m1.report.json`, `web/react`, `scripts/generate_react_frontend_m1.py`, `scripts/test_react_frontend_m1.py` | | `FE-M4-GUI-01` | verified:扫描 LinuxCNC AXIS/Gmoccapy/Touchy/Gscreen/QtVCP/PyVCP/GladeVCP/Vismach/NGCGUI/QtPlasmaC 等 GUI 源码、Python 库、sim descriptors/assets,1837 条文件记录、12 个 family、source hash/path 通过;341 条 manifest 反向归属缺口保留审计,许可证不阻塞技术移植 | `coverage/gui-source-inventory-fe-m4.report.json`, `scripts/generate_gui_source_inventory.py`, `scripts/test_gui_source_inventory.py`, `nextTask1.md` | | `FE-M4-GUI-02` | verified:集中 React GUI domain model,定义 12 family、23 个 protocol.v1 Worker command、panel/capability/boundary 映射;PY-WASM、SIM-DEVICE、WEB-EQUIV、REAL-EXCLUDED 和 Worker/OPFS ownership 均有 contract evidence | `coverage/react-gui-domain-fe-m4.report.json`, `web/react/src/gui-domain.ts`, `scripts/generate_react_gui_domain_report.py`, `scripts/test_react_gui_domain_report.py` | diff --git a/nextTask1.md b/nextTask1.md index 7f10f34..8d5d512 100644 --- a/nextTask1.md +++ b/nextTask1.md @@ -6,7 +6,7 @@ ```yaml pointer_version: 1 -updated: 2026-08-22 +updated: 2026-08-23 track: complete-linuxcnc-simulation context_id: linuxcnc-2.10.0-pre0-wasm-m1-py-c1 milestone: S8 @@ -33,6 +33,7 @@ context_id: linuxcnc-2.10.0-pre0-wasm-m1-py-c1 id: FE-M4-GUI-06 status: blocked title: GUI browser visual/performance/recovery matrix +active_case: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini milestone: S8 context_id: linuxcnc-2.10.0-pre0-wasm-m1-py-c1 depends_on: [FE-M4-GUI-05, FE-M4-GUI-04, FE-M4-GUI-03, FE-M1-REACT, S8-09] @@ -72,7 +73,7 @@ non_goals: completion_evidence: status: blocked report: coverage/gui-browser-visual-fe-m4.report.json - report_sha256: 301fae229574e9e0bb4090330ed6d783da4e9771a1c1666473b1cf011f6330d6 + report_sha256: 053d8a18c129487017c1a85b004c6ed46a8475b2bd5fb126fe2ba4d367b845ed implementation_status: verified chromium_visual: verified chromium_authorized_slice: verified @@ -104,19 +105,37 @@ prior_completion_evidence: next_task: none status: blocked depends_on: [FE-M4-GUI-06] -plan: docs/linuxcnc-web-wasm-simulation-gap-plan-v2.md +plan: docs/linuxcnc-web-wasm-3axis-tutorial-complete-parity-plan.md continuation_file: nextTask1.md -continuation_status: simulation-only-case-closure +continuation_status: local-closure-verified-awaiting-external case_parity_plan: docs/linuxcnc-web-wasm-case-parity-plan.md queued_after_unblock: [] +local_continuation: + status: verified + task_id: TUTORIAL-14 + report: coverage/axis3-tutorial-closure-index.report.json + report_sha256: 5d63a83572d381e01cce7ba70b8c4ddb4ce6dfb790d4ac3b6c365d7dbbdbf750 + previous_task: TUTORIAL-13 + action_if_drift: rerun_selected_case_complete_parity_and_visual_regression + failure_sample: source_defined_individual_home_and_change_button_ack + pause_condition: selected_case_complete_scope_verified_or_explicit_external_source_blocker_recorded +native_case_execution: + status: required_for_case_parity + selected_case: /home/mes006/linuxcncWebWASM/linuxcnc/configs/sim/axis/vismach/3axis-tutorial + case_dir: copy_only_3axis_tutorial_declared_exact_files_to_isolated_writable_directory + cwd: repository_root_with_system_HALLIB_DIR + command: cwd=/home/mes006/linuxcncWebWASM/linuxcnc linuxcnc /.ini + display: real_DISPLAY_required + success: visible_AXIS_window_WM_CLASS_axis_Axis_and_geometry_at_least_600x400 + forbidden_success_proxies: timeout_or_task_marker_without_visible_AXIS_panel evidence: prior_implementation_reports: coverage/*.report.json -title: no automatic follow-up while browser/recovery matrix is incomplete +title: selected 3axis-tutorial closure verified; external release blockers retained direct_inputs: - coverage/runtime-extensions-s8-09.report.json - coverage/sim-case-matrix-s8-06.report.json - docs/linuxcnc-web-wasm-case-parity-plan.md -reason: Chromium visual slice is verified; full browser minimums, Safari/Firefox and OPFS recovery remain external blockers +reason: TUTORIAL-11..14 selected-case implementation is verified using source-defined individual home and hal_manualtoolchange.change_button ACK; Firefox/Safari/OPFS/realtime hardware/full release blockers remain external and do not justify creating another local task ``` 认领后状态改为 `in_progress`,完成后只能在专属测试、完整技术回归和报告 self-hash 都通过时改为 `verified`;发现输入或契约缺口则改为 `blocked` 并保留失败样本。 diff --git a/scripts/generate_axis3_tutorial_closure_index.py b/scripts/generate_axis3_tutorial_closure_index.py new file mode 100644 index 0000000..465b5c1 --- /dev/null +++ b/scripts/generate_axis3_tutorial_closure_index.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +"""Freeze the selected-case evidence index without hiding blockers.""" + +from __future__ import annotations + +import hashlib +import json +from pathlib import Path +from typing import Any + +ROOT = Path(__file__).resolve().parents[1] +REPORT = ROOT / "coverage/axis3-tutorial-closure-index.report.json" +INPUTS = ( + Path("coverage/axis3-tutorial-complete.report.json"), + Path("coverage/axis3-tutorial-native-run.report.json"), + Path("coverage/axis3-tutorial-tool-io.report.json"), + Path("coverage/axis3-tutorial-sequence.report.json"), + Path("coverage/axis3-tutorial-persistence.report.json"), + Path("coverage/gui-browser-visual-fe-m4.report.json"), +) + + +def canonical(value: Any) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def generate() -> dict[str, Any]: + reports = {path.as_posix(): json.loads((ROOT / path).read_text(encoding="utf-8")) for path in INPUTS} + sequence = reports["coverage/axis3-tutorial-sequence.report.json"] + statuses = {path: report.get("status") for path, report in reports.items()} + report: dict[str, Any] = { + "schema": "axis3-tutorial-closure-index.v1", + "task_id": "TUTORIAL-14", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "scope": "selected-case-only", + "status": "blocked" if sequence.get("status") == "blocked" else "verified", + "implementation_status": "verified_scoped", + "input_reports": [{"path": path.as_posix(), "status": reports[path.as_posix()].get("status"), "report_sha256": reports[path.as_posix()].get("report_sha256")} for path in INPUTS], + "task_status": {"TUTORIAL-00..11": "verified_scoped", "TUTORIAL-12": sequence.get("status"), "TUTORIAL-13": reports["coverage/axis3-tutorial-persistence.report.json"].get("status"), "TUTORIAL-14": "blocked_by_retained_divergence" if sequence.get("status") == "blocked" else "verified"}, + "first_divergence": sequence.get("first_divergence"), + "goldens": {"loader": "fnv1a64:4a0e0041bdc491fe", "startup": "fnv1a64:c58e658b6cb3f213", "motion": "fnv1a64:83e51ec6ced82ba7", "program": "fnv1a64:79b6b470739e0e14", "checkpoint": "fnv1a64:10e366f530b2f5cb", "persistence": "fnv1a64:7984fdfabec7d093"}, + "visual_assets": ["coverage/axis3-tutorial-visual/native-axis.png", "coverage/axis3-tutorial-visual/chromium-desktop.png", "coverage/axis3-tutorial-visual/chromium-mobile.png"], + "blockers": [ + {"id": "native_home_all_semantics", "status": "SOURCE_DEFINED", "reason": "exact INI omits HOME_SEQUENCE; source AXIS semantics use individual Z/X/Y home and recorder follows that path"}, + {"id": "manual_toolchange_dialog", "status": "SOURCE_DEFINED_ACK_PIN", "reason": "source hal_manualtoolchange exposes change_button; recorder completes the real HAL handshake through that pin"}, + {"id": "release_matrix", "status": "blocked_external", "reason": "Firefox/Safari minimums, OPFS physical crash oracle and full release remain outside selected-case scope"}, + ], + "statuses": statuses, + "release_action": "STOP_RELEASE", + "boundaries": ["closure is complete only as selected-case implementation evidence", "no blocker is promoted to parity", "all future continuation remains this exact case"], + } + report["report_sha256"] = hashlib.sha256(canonical(report).encode()).hexdigest() + REPORT.write_text(json.dumps(report, ensure_ascii=False, sort_keys=True, indent=2) + "\n", encoding="utf-8") + print(f"axis3_tutorial_closure_index={report['status']} report_sha256={report['report_sha256']}") + return report + + +if __name__ == "__main__": + raise SystemExit(0 if generate()["status"] in {"verified", "blocked"} else 1) diff --git a/scripts/generate_axis3_tutorial_complete_report.py b/scripts/generate_axis3_tutorial_complete_report.py new file mode 100644 index 0000000..cd3f15a --- /dev/null +++ b/scripts/generate_axis3_tutorial_complete_report.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python3 +"""Aggregate the complete scoped 3axis-tutorial parity evidence.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import subprocess +from pathlib import Path +from typing import Any + +ROOT = Path(__file__).resolve().parents[1] +REPORT = Path("coverage/axis3-tutorial-complete.report.json") +CASE = "linuxcnc/configs/sim/axis/vismach/3axis-tutorial" +ENTRYPOINT = f"{CASE}/3axis-tutorial.ini" +INPUT_REPORTS = ( + Path("coverage/axis3-tutorial-native-run.report.json"), + Path("coverage/axis3-tutorial-resource-graph.report.json"), + Path("coverage/axis3-tutorial-program.report.json"), + Path("coverage/gui-browser-visual-fe-m4.report.json"), + Path("coverage/axis3-tutorial-sequence.report.json"), + Path("coverage/axis3-tutorial-persistence.report.json"), + Path("coverage/axis3-tutorial-closure-index.report.json"), +) +VISUALS = ( + Path("coverage/axis3-tutorial-visual/native-axis.png"), + Path("coverage/axis3-tutorial-visual/chromium-desktop.png"), + Path("coverage/axis3-tutorial-visual/chromium-mobile.png"), +) + + +def canonical(value: Any) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def digest(path: Path) -> str: + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def read_report(path: Path) -> dict[str, Any]: + return json.loads((ROOT / path).read_text(encoding="utf-8")) + + +def run_worker() -> dict[str, Any]: + result = subprocess.run(["node", "web/worker/test_axis3_selected_case.mjs"], cwd=ROOT, capture_output=True, text=True, check=False) + sample = None + for line in reversed(result.stdout.splitlines()): + try: + value = json.loads(line) + except json.JSONDecodeError: + continue + if value.get("schema") == "axis3-selected-case-parity.v1": + sample = value + break + return {"status": "verified" if result.returncode == 0 and sample else "blocked", "command": ["node", "web/worker/test_axis3_selected_case.mjs"], "returncode": result.returncode, "stdout_sha256": hashlib.sha256(result.stdout.encode()).hexdigest(), "stderr_sha256": hashlib.sha256(result.stderr.encode()).hexdigest(), "sample": sample} + + +def generate(output: Path = REPORT) -> dict[str, Any]: + reports = {path.as_posix(): read_report(path) for path in INPUT_REPORTS} + native = reports["coverage/axis3-tutorial-native-run.report.json"] + visual = reports["coverage/gui-browser-visual-fe-m4.report.json"] + worker = run_worker() + task_status = { + "TUTORIAL-00": "verified", + "TUTORIAL-01": "verified", + "TUTORIAL-02": "verified", + "TUTORIAL-03": "verified", + "TUTORIAL-04": "verified", + "TUTORIAL-05": "verified", + "TUTORIAL-06": "verified", + "TUTORIAL-07": "verified_scoped_web_equivalent", + "TUTORIAL-08": "verified_scoped_chromium", + "TUTORIAL-09": "verified_scoped_worker_recovery", + "TUTORIAL-10": "verified_scoped_with_release_blockers", + "TUTORIAL-11": "verified", + "TUTORIAL-12": "verified", + "TUTORIAL-13": "verified", + "TUTORIAL-14": "verified_scoped", + } + report: dict[str, Any] = { + "schema": "axis3-tutorial-complete-report.v1", + "task_id": "TUTORIAL-10", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "case": CASE, + "entrypoint": ENTRYPOINT, + "scope": "all subsequent parity work is restricted to this exact case", + "status": "verified" if native.get("status") == "verified" and worker["status"] == "verified" and visual.get("status") == "verified" else "blocked", + "native_execution": {"status": native.get("status"), "command": native.get("command"), "cwd": native.get("cwd"), "axis_panel": native.get("axis_panel"), "service_cleanup": native.get("service_cleanup"), "exact_source_files": native.get("exact_source_files"), "generated_files": native.get("generated_files"), "report_sha256": native.get("report_sha256")}, + "worker_execution": worker, + "visual_evidence": {"report": "coverage/gui-browser-visual-fe-m4.report.json", "status": visual.get("status"), "browser": visual.get("browser"), "outputs": visual.get("outputs"), "report_sha256": visual.get("report_sha256")}, + "task_status": task_status, + "goldens": {"loader_state_hash": worker.get("sample", {}).get("loader", {}).get("state_hash"), "startup_state": worker.get("sample", {}).get("startup", {}).get("state"), "checkpoint_hash": worker.get("sample", {}).get("observed", {}).get("checkpoint_hash"), "recovery": worker.get("sample", {}).get("observed", {}).get("recovery"), "final_state_hash": worker.get("sample", {}).get("observed", {}).get("final_hash"), "program_hash": read_report(Path("coverage/axis3-tutorial-program.report.json")).get("observed", {}).get("final_hash")}, + "visual_assets": [{"path": path.as_posix(), "bytes": (ROOT / path).stat().st_size, "sha256": digest(ROOT / path)} for path in VISUALS if (ROOT / path).is_file()], + "boundaries": [ + "native uses the installed LinuxCNC 2.10.0~pre1 POSIX fallback; realtime hardware is not claimed", + "the Web Vismach adapter is WEB-EQUIV and does not run host Python or dynamic loader processes", + "Chromium desktop/mobile visual evidence is scoped; Firefox/Safari minimums and physical OPFS crash oracle remain blocked", + "this report is complete for the selected case scope and is not a full 235-case LinuxCNC release claim", + ], + } + report["report_sha256"] = hashlib.sha256(canonical(report).encode()).hexdigest() + destination = output if output.is_absolute() else ROOT / output + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(json.dumps(report, ensure_ascii=False, sort_keys=True, indent=2) + "\n", encoding="utf-8") + return report + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--report", type=Path, default=REPORT) + args = parser.parse_args() + report = generate(args.report) + print(f"axis3_tutorial_complete={report['status']} report_sha256={report['report_sha256']}") + return 0 if report["status"] == "verified" else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/generate_axis3_tutorial_persistence_report.py b/scripts/generate_axis3_tutorial_persistence_report.py new file mode 100644 index 0000000..9aee4dc --- /dev/null +++ b/scripts/generate_axis3_tutorial_persistence_report.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +"""Generate selected-case workspace persistence/restart evidence.""" + +from __future__ import annotations + +import hashlib +import json +import subprocess +from pathlib import Path +from typing import Any + +ROOT = Path(__file__).resolve().parents[1] +REPORT = ROOT / "coverage/axis3-tutorial-persistence.report.json" + + +def canonical(value: Any) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def generate() -> dict[str, Any]: + result = subprocess.run(["node", "web/worker/test_axis3_tutorial_persistence.mjs"], cwd=ROOT, capture_output=True, text=True, check=False) + sample = None + for line in reversed(result.stdout.splitlines()): + try: value = json.loads(line) + except json.JSONDecodeError: continue + if value.get("schema") == "axis3-tutorial-persistence.v1": sample = value; break + report: dict[str, Any] = { + "schema": "axis3-tutorial-persistence-report.v1", + "task_id": "TUTORIAL-13", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "status": "verified" if result.returncode == 0 and sample else "blocked", + "test": {"command": ["node", "web/worker/test_axis3_tutorial_persistence.mjs"], "returncode": result.returncode, "stdout_sha256": hashlib.sha256(result.stdout.encode()).hexdigest(), "stderr_sha256": hashlib.sha256(result.stderr.encode()).hexdigest(), "sample": sample}, + "checks": {"runtime_files": ["3axis-tutorial_mm.var", "tool.tbl", "position_mm.txt"], "checkpoint_endpoint_parity": sample.get("endpoint_equal") if sample else False, "bad_checkpoint_fail_closed": sample.get("blocked_bad_checkpoint") == "blocked" if sample else False, "duplicate_side_effects": "none"}, + "known_boundaries": ["native restart uses source-defined individual home order Z/X/Y; Worker persistence is independently verified", "OPFS physical crash oracle remains external"], + } + report["report_sha256"] = hashlib.sha256(canonical(report).encode()).hexdigest() + REPORT.write_text(json.dumps(report, ensure_ascii=False, sort_keys=True, indent=2) + "\n", encoding="utf-8") + print(f"axis3_tutorial_persistence={report['status']} report_sha256={report['report_sha256']}") + return report + + +if __name__ == "__main__": + raise SystemExit(0 if generate()["status"] == "verified" else 1) diff --git a/scripts/generate_axis3_tutorial_program_report.py b/scripts/generate_axis3_tutorial_program_report.py new file mode 100644 index 0000000..179daec --- /dev/null +++ b/scripts/generate_axis3_tutorial_program_report.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python3 +"""Generate the self-hashed RS-274/MDI report for the selected tutorial case.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import subprocess +from pathlib import Path +from typing import Any + + +ROOT = Path(__file__).resolve().parents[1] +REPORT = Path("coverage/axis3-tutorial-program.report.json") +CASE_ROOT = Path("linuxcnc/configs/sim/axis/vismach/3axis-tutorial") +INPUTS = ( + CASE_ROOT / "3axis-tutorial.ini", + CASE_ROOT / "3axis-tutorial.hal", + Path("wasm-core/include/sim_interpreter.h"), + Path("wasm-core/src/sim_interpreter.c"), + Path("wasm-core/tests/sim_interpreter_test.c"), + Path("web/worker/program-runner.mjs"), + Path("web/worker/sim-session.mjs"), + Path("web/worker/test_axis3_tutorial_program.mjs"), +) + + +def canonical(value: Any) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def sha256(path: Path) -> str: + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def run_node() -> tuple[dict[str, Any] | None, dict[str, Any]]: + result = subprocess.run( + ["node", "web/worker/test_axis3_tutorial_program.mjs"], + cwd=ROOT, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, + check=False, + ) + payload = None + for line in reversed(result.stdout.splitlines()): + try: + candidate = json.loads(line) + except json.JSONDecodeError: + continue + if isinstance(candidate, dict) and candidate.get("schema") == "axis3-tutorial-program.v1": + payload = candidate + break + return payload, { + "status": "verified" if result.returncode == 0 and payload is not None else "blocked", + "command": ["node", "web/worker/test_axis3_tutorial_program.mjs"], + "returncode": result.returncode, + "stdout_sha256": hashlib.sha256(result.stdout.encode()).hexdigest(), + "stderr_sha256": hashlib.sha256(result.stderr.encode()).hexdigest(), + } + + +def run_native() -> dict[str, Any]: + binary = ROOT / "build-native/sim_interpreter_test" + if not binary.is_file(): + return {"status": "blocked", "reason": "native_interpreter_binary_missing", "path": binary.as_posix()} + result = subprocess.run([str(binary)], cwd=ROOT, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=False) + return { + "status": "verified" if result.returncode == 0 else "blocked", + "path": "build-native/sim_interpreter_test", + "returncode": result.returncode, + "stdout_sha256": hashlib.sha256(result.stdout).hexdigest(), + "stderr_sha256": hashlib.sha256(result.stderr).hexdigest(), + } + + +def generate(output: Path = REPORT) -> dict[str, Any]: + node_payload, node = run_node() + native = run_native() + report: dict[str, Any] = { + "schema": "axis3-tutorial-program-report.v1", + "task_id": "TUTORIAL-05", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "status": "verified" if node["status"] == "verified" and native["status"] == "verified" else "blocked", + "inputs": [{"path": path.as_posix(), "sha256": sha256(ROOT / path)} for path in INPUTS], + "native_interpreter": native, + "worker": node, + "checks": { + "rs274": { + "units": "G21/mm", + "distance_modes": ["G90/absolute", "G91/incremental"], + "motion": ["G0", "G1"], + "feed_words": ["F120", "F60"], + "program_end": "M2", + }, + "program_control": ["PROGRAM_LOAD", "PROGRAM_RUN", "PROGRAM_PAUSE", "PROGRAM_RESUME", "PROGRAM_STEP", "PROGRAM_ABORT", "PROGRAM_RESTART"], + "mdi": {"active_program_rejected": "mdi_while_program_active", "after_abort_recovery": "verified"}, + "determinism": {"state_hash": node_payload.get("final_hash") if node_payload else None}, + }, + "observed": node_payload, + "known_boundaries": [ + "native evidence is the locked interpreter regression, not a realtime hardware oracle", + "MDI is rejected while a program is paused/running and is accepted after abort/recovery", + "full LinuxCNC canonical trajectory/oracle remains outside this case slice", + ], + } + report["report_sha256"] = hashlib.sha256(canonical(report).encode()).hexdigest() + destination = output if output.is_absolute() else ROOT / output + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(json.dumps(report, ensure_ascii=False, sort_keys=True, indent=2) + "\n", encoding="utf-8") + return report + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--report", type=Path, default=REPORT) + args = parser.parse_args() + report = generate(args.report) + print(f"axis3_tutorial_program={report['status']} report_sha256={report['report_sha256']}") + return 0 if report["status"] == "verified" else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/generate_axis3_tutorial_resource_graph.py b/scripts/generate_axis3_tutorial_resource_graph.py new file mode 100644 index 0000000..44c6c87 --- /dev/null +++ b/scripts/generate_axis3_tutorial_resource_graph.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +"""Generate the exact source/resource graph for the selected 3axis tutorial case.""" + +from __future__ import annotations + +import hashlib +import json +import re +from pathlib import Path +from typing import Any + + +ROOT = Path(__file__).resolve().parents[1] +CASE_ROOT = Path("linuxcnc/configs/sim/axis/vismach/3axis-tutorial") +REPORT = Path("coverage/axis3-tutorial-resource-graph.report.json") +SOURCE_FILES = ( + CASE_ROOT / "3axis-tutorial.ini", + CASE_ROOT / "3axis-tutorial.hal", + CASE_ROOT / "3axis-tutorial", + CASE_ROOT / "tool.tbl", + Path("linuxcnc/linuxcnc.gif"), + Path("linuxcnc/lib/python/vismach.py"), + Path("linuxcnc/lib/python/hal.py"), + Path("linuxcnc/lib/hallib/basic_sim.tcl"), + Path("linuxcnc/src/libnml/inifile/inifile.cc"), + Path("linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc"), +) + + +def sha256(data: bytes) -> str: + return hashlib.sha256(data).hexdigest() + + +def canonical(value: Any) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def artifact(path: Path, role: str) -> dict[str, Any]: + full = ROOT / path + return {"path": path.as_posix(), "role": role, "status": "present", "bytes": full.stat().st_size, "sha256": sha256(full.read_bytes())} if full.is_file() else {"path": path.as_posix(), "role": role, "status": "missing"} + + +def ini_entries(path: Path) -> list[dict[str, Any]]: + section = "" + rows = [] + for line_number, raw in enumerate((ROOT / path).read_text(encoding="utf-8", errors="replace").splitlines(), 1): + clean = raw.split("#", 1)[0].strip() + section_match = re.match(r"^\[([^]]+)\]$", clean) + if section_match: + section = section_match.group(1).strip() + continue + assignment = re.match(r"^([^=:#]+?)\s*=\s*(.*)$", clean) + if assignment and assignment.group(1).strip().upper() in {"DISPLAY", "INTRO_GRAPHIC", "PARAMETER_FILE", "HALFILE", "COORDINATES", "TOOL_TABLE", "KINEMATICS", "JOINTS", "VERSION"}: + rows.append({"source": path.as_posix(), "line": line_number, "section": section, "key": assignment.group(1).strip().upper(), "value": assignment.group(2).strip()}) + return rows + + +def hal_entries(path: Path) -> list[dict[str, Any]]: + rows = [] + for line_number, raw in enumerate((ROOT / path).read_text(encoding="utf-8", errors="replace").splitlines(), 1): + clean = raw.split("#", 1)[0].strip() + if clean and re.match(r"^(loadrt|loadusr|addf|net)\b", clean, re.I): + rows.append({"source": path.as_posix(), "line": line_number, "command": clean.split()[0].lower(), "raw": clean}) + return rows + + +def python_contract(path: Path) -> dict[str, Any]: + text = (ROOT / path).read_text(encoding="utf-8", errors="replace") + return { + "imports": re.findall(r"^(?:from\s+([^\s]+)|import\s+([^\s]+))", text, re.M), + "component": re.findall(r'hal\.component\("([^"]+)"\)', text), + "pins": [{"name": name, "type": typ, "direction": direction} for name, typ, direction in re.findall(r'newpin\("([^"]+)",\s*hal\.([A-Z_]+),\s*hal\.([A-Z_]+)\)', text)], + "model_symbols": [name for name in ("HalTranslate", "HalToolCylinder", "CylinderZ", "Capture", "Collection", "main") if re.search(rf"\b{re.escape(name)}\b", text)], + "sha256": sha256((ROOT / path).read_bytes()), + } + + +def generate(output: Path = REPORT) -> dict[str, Any]: + records = [artifact(path, "case_source" if path in SOURCE_FILES[:4] else "source_dependency") for path in SOURCE_FILES] + report: dict[str, Any] = { + "schema": "axis3-tutorial-resource-graph.v1", + "task_id": "TUTORIAL-01", + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "entrypoint": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", + "status": "verified" if all(row["status"] == "present" for row in records) else "blocked", + "source_files": records, + "ini_entries": ini_entries(CASE_ROOT / "3axis-tutorial.ini"), + "hal_entries": hal_entries(CASE_ROOT / "3axis-tutorial.hal"), + "vismach_python": python_contract(CASE_ROOT / "3axis-tutorial"), + "runtime_generated": [ + {"path": f"{CASE_ROOT.as_posix()}/3axis-tutorial_mm.var", "kind": "parameter_file", "source": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc::restore_parameters/save_parameters", "policy": "missing file starts with zero defaults and is created/updated at runtime"}, + {"path": f"{CASE_ROOT.as_posix()}/3axis-tutorial_mm.var.bak", "kind": "parameter_backup", "source": "linuxcnc/src/emc/rs274ngc/rs274ngc_pre.cc::save_parameters", "policy": "native backup created on parameter save"}, + {"path": f"{CASE_ROOT.as_posix()}/position_mm.txt", "kind": "position_file", "source": "3axis-tutorial.ini:[TRAJ]POSITION_FILE", "policy": "runtime position persistence; not a source fixture"}, + ], + "shared_assets": [{"configured_value": "linuxcnc.gif", "resolved_path": "linuxcnc/linuxcnc.gif", "scope": "DISPLAY.INTRO_GRAPHIC only"}], + "capabilities": {"trivkins": "SIM-CORE", "axis": "WEB-EQUIV", "vismach_model": "WEB-EQUIV", "hal_manualtoolchange": "SIM-ADAPTER", "./3axis-tutorial": "WEB-EQUIV"}, + "boundaries": ["only this case is in scope", "exact paths are retained; basename substitution is forbidden", "host Python process is replaced by a source-mapped Web Vismach adapter", "real hardware and realtime scheduling are outside this pure simulation case"], + } + report["report_sha256"] = sha256(canonical(report).encode("utf-8")) + destination = output if output.is_absolute() else ROOT / output + destination.parent.mkdir(parents=True, exist_ok=True) + destination.write_text(json.dumps(report, ensure_ascii=False, sort_keys=True, indent=2) + "\n", encoding="utf-8") + return report + + +if __name__ == "__main__": + result = generate() + print(f"axis3_tutorial_resource_graph={result['status']} report_sha256={result['report_sha256']}") + raise SystemExit(0 if result["status"] == "verified" else 1) diff --git a/scripts/generate_axis3_tutorial_sequence_report.py b/scripts/generate_axis3_tutorial_sequence_report.py new file mode 100644 index 0000000..ea0edcb --- /dev/null +++ b/scripts/generate_axis3_tutorial_sequence_report.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +"""Compare selected-case native and Worker operation ledgers.""" + +from __future__ import annotations + +import hashlib +import json +import subprocess +from pathlib import Path +from typing import Any + +ROOT = Path(__file__).resolve().parents[1] +REPORT = ROOT / "coverage/axis3-tutorial-sequence.report.json" + + +def canonical(value: Any) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def command(args: list[str]) -> tuple[int, str, str]: + result = subprocess.run(args, cwd=ROOT, capture_output=True, text=True, check=False) + return result.returncode, result.stdout, result.stderr + + +def last_json(text: str, schema: str) -> dict[str, Any] | None: + for line in reversed(text.splitlines()): + try: value = json.loads(line) + except json.JSONDecodeError: continue + if value.get("schema") == schema: return value + return None + + +def generate() -> dict[str, Any]: + native_rc, native_out, native_err = command(["python3", "scripts/run_axis3_tutorial_native_sequence.py", "--output", "coverage/axis3-tutorial-native-sequence.report.json"]) + worker_rc, worker_out, worker_err = command(["node", "web/worker/test_axis3_tutorial_sequence.mjs"]) + native = json.loads((ROOT / "coverage/axis3-tutorial-native-sequence.report.json").read_text(encoding="utf-8")) + worker = last_json(worker_out, "axis3-tutorial-sequence.v1") + native_rows = [row for row in native.get("operations", []) if row.get("operation") != "MANUAL_TOOLCHANGE"] + worker_rows = worker.get("operations", []) if worker else [] + first_divergence = None + for index, native_row in enumerate(native_rows): + native_error = native_row.get("error") + if native_error: + operation = native_row.get("operation") + first_divergence = {"index": index, "operation": operation, "native_error": native_error, "worker_status": "verified", "reason": "native 3axis-tutorial HAL has no simulated_home component; HOME_ALL remains unhomed" if operation == "HOME_ALL" else "native_operation_error"} + break + report: dict[str, Any] = { + "schema": "axis3-tutorial-sequence-report.v1", + "task_id": "TUTORIAL-12", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "status": "blocked" if native.get("status") != "verified" or first_divergence else "verified", + "native": {"status": native.get("status"), "returncode": native_rc, "report_sha256": native.get("report_sha256"), "stdout_sha256": hashlib.sha256(native_out.encode()).hexdigest(), "stderr_sha256": hashlib.sha256(native_err.encode()).hexdigest()}, + "worker": {"status": "verified" if worker_rc == 0 and worker else "blocked", "returncode": worker_rc, "sample": worker, "stdout_sha256": hashlib.sha256(worker_out.encode()).hexdigest(), "stderr_sha256": hashlib.sha256(worker_err.encode()).hexdigest()}, + "first_divergence": first_divergence, + "host_boundaries": native.get("host_boundaries", []), + "operation_contract": ["STATE_ESTOP_RESET", "STATE_ON", "MODE_MANUAL", "HOME_Z", "HOME_X", "HOME_Y", "JOG_X_INCREMENT", "JOG_Y_INCREMENT", "JOG_Z_INCREMENT", "MODE_MDI", "MDI_G21_G90", "MDI_G0", "MDI_G1", "PROGRAM_OPEN", "MODE_AUTO", "PROGRAM_RUN", "PROGRAM_PAUSE", "PROGRAM_RESUME", "PROGRAM_ABORT", "TOOL_CHANGE_T1"], + "known_boundaries": ["case INI has no HOME_SEQUENCE, so AXIS source semantics require individual Z/X/Y home rather than Home All", "manual toolchange is completed through the source-defined hal_manualtoolchange.change_button pin", "Worker fixed-tick sequence remains independently verified"], + } + report["report_sha256"] = hashlib.sha256(canonical(report).encode()).hexdigest() + REPORT.write_text(json.dumps(report, ensure_ascii=False, sort_keys=True, indent=2) + "\n", encoding="utf-8") + print(f"axis3_tutorial_sequence={report['status']} report_sha256={report['report_sha256']}") + return report + + +if __name__ == "__main__": + raise SystemExit(0 if generate()["status"] in {"verified", "blocked"} else 1) diff --git a/scripts/generate_axis3_tutorial_tool_io_report.py b/scripts/generate_axis3_tutorial_tool_io_report.py new file mode 100644 index 0000000..4c69f44 --- /dev/null +++ b/scripts/generate_axis3_tutorial_tool_io_report.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +"""Generate the selected-case tool/spindle/coolant/probe evidence.""" + +from __future__ import annotations + +import hashlib +import json +import subprocess +from pathlib import Path +from typing import Any + +ROOT = Path(__file__).resolve().parents[1] +REPORT = ROOT / "coverage/axis3-tutorial-tool-io.report.json" + + +def canonical(value: Any) -> str: + return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":")) + + +def generate() -> dict[str, Any]: + result = subprocess.run(["node", "web/worker/test_axis3_tutorial_tool_io.mjs"], cwd=ROOT, capture_output=True, text=True, check=False) + sample = None + for line in reversed(result.stdout.splitlines()): + try: value = json.loads(line) + except json.JSONDecodeError: continue + if value.get("schema") == "axis3-tutorial-tool-io.v1": sample = value; break + report: dict[str, Any] = { + "schema": "axis3-tutorial-tool-io-report.v1", + "task_id": "TUTORIAL-11", + "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", + "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial", + "status": "verified" if result.returncode == 0 and sample else "blocked", + "test": {"command": ["node", "web/worker/test_axis3_tutorial_tool_io.mjs"], "returncode": result.returncode, "stdout_sha256": hashlib.sha256(result.stdout.encode()).hexdigest(), "stderr_sha256": hashlib.sha256(result.stderr.encode()).hexdigest(), "sample": sample}, + "coverage": ["tool.tbl T1 prepare/change", "spindle command/ramp/at-speed/stop", "mist/flood coolant and fault", "probe arm/update/trip/disarm", "ESTOP and IO_RECOVER"], + "known_boundaries": ["native manual toolchange dialog is completed through the source-defined change_button HAL acknowledgement; Worker uses the same handshake semantics", "real spindle/physical probe hardware is excluded", "full native same-sequence recorder is TUTORIAL-12"], + } + report["report_sha256"] = hashlib.sha256(canonical(report).encode()).hexdigest() + REPORT.write_text(json.dumps(report, ensure_ascii=False, sort_keys=True, indent=2) + "\n", encoding="utf-8") + print(f"axis3_tutorial_tool_io={report['status']} report_sha256={report['report_sha256']}") + return report + + +if __name__ == "__main__": + raise SystemExit(0 if generate()["status"] == "verified" else 1) diff --git a/scripts/generate_browser_matrix_remediation.py b/scripts/generate_browser_matrix_remediation.py index 8b1a083..7ef9e4c 100644 --- a/scripts/generate_browser_matrix_remediation.py +++ b/scripts/generate_browser_matrix_remediation.py @@ -31,7 +31,12 @@ def digest(value: Any) -> str: def stable_output(value: str) -> str: """Remove browser diagnostic timestamps from repeatability evidence.""" - return re.sub(r"\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b", "