{ "boundaries": [ "no protocol/schema/ABI mutation", "browser controls do not imply physical safety authority", "host processes and real hardware remain excluded" ], "checks": { "estop_power_recover": { "commands": [ "ESTOP", "IO_RECOVER" ], "status": "verified" }, "gate_before_send": { "blocked_gate_does_not_send": true, "status": "verified" }, "keyboard_map": { "input_controls_protected": true, "keys": 10, "status": "verified" }, "mdi_jog_home": { "commands": [ "MDI_EXECUTE", "JOG_START", "JOG_STOP", "HOME" ], "status": "verified" }, "operation_trace": { "monotonic_ids": true, "pending_result_error_blocked": true, "status": "verified" }, "program_controls": { "commands": [ "PROGRAM_RUN", "PROGRAM_STEP", "PROGRAM_PAUSE", "PROGRAM_RESUME", "PROGRAM_ABORT", "PROGRAM_RESTART" ], "status": "verified" }, "spindle_coolant_override": { "commands": [ "SPINDLE_COMMAND", "COOLANT_COMMAND", "SET_OVERRIDE" ], "status": "verified" }, "worker_authority": { "state_source": "Worker protocol envelopes", "status": "verified" } }, "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "implementation": { "app_path": "web/react/src/App.tsx", "app_sha256": "63cf25079ae07f638028c9d086ab60ab3f4f66abb2219ab40b32affead6da67c", "controller_path": "web/app/axis-operation-controller.mjs", "controller_sha256": "077e344c5ea1b76fa11613b1e50b6e292d1b766f907c818f7ce42d6afe4f62bb", "keyboard": [ "F1", "F2", "F3", "F5", "R", "T", "P", "S", "Escape", "Ctrl-K" ], "operation_id_policy": "axis--", "test_path": "web/app/test_axis_operation_controller.mjs", "test_sha256": "dcc4f161305718b2da11e7552813452ec23cb26e7b9c087f6eff49d928642fb1", "trace_phases": [ "pending", "result", "error", "blocked" ] }, "implementation_status": "worker_backed_operation_controller", "report_sha256": "cc12b349cc3fc3e7d1882530f123ca92e4a510f3f40fec4c72bcfd4e876f0a3e", "schema": "axis-control-report.v1", "source_anchors": [ { "lines": "105-264", "path": "linuxcnc/share/axis/tcl/axis.tcl", "role": "machine menu" }, { "lines": "484-787", "path": "linuxcnc/share/axis/tcl/axis.tcl", "role": "toolbar actions" }, { "lines": "2214-2409", "path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py", "role": "estop/program controls" }, { "lines": "2701-2915", "path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py", "role": "home/touch-off/spindle/coolant" }, { "lines": "3213-3305", "path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py", "role": "jog press/release" } ], "status": "verified", "task_id": "AXIS-CTRL-01..08", "trace_sample": [ { "operation_id": "axis-program-run-000001", "phase": "pending" }, { "operation_id": "axis-program-run-000001", "phase": "result" }, { "operation_id": "axis-jog-start-000002", "phase": "blocked", "reason": "axis_estop_active" } ] }