{ "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" } }