Add AXIS state and gate contracts
This commit is contained in:
145
coverage/axis-contract.report.json
Normal file
145
coverage/axis-contract.report.json
Normal file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"boundary": "contract-only; no ABI/protocol/schema/context-lock mutation",
|
||||
"checks": {
|
||||
"command_gate_contract": {
|
||||
"actions": 18,
|
||||
"matrix": "ready/running/paused/estop/queue-full/limit",
|
||||
"status": "verified"
|
||||
},
|
||||
"host_boundary_contract": {
|
||||
"labels": [
|
||||
"HOST_BOUNDARY",
|
||||
"REAL-EXCLUDED"
|
||||
],
|
||||
"status": "verified"
|
||||
},
|
||||
"idempotency_boundary": {
|
||||
"owner": "WorkerClient/operation-ledger",
|
||||
"pure_gate_does_not_send": true,
|
||||
"status": "verified"
|
||||
},
|
||||
"source_mapping": {
|
||||
"axis_py": [
|
||||
"963-993",
|
||||
"2214-2226",
|
||||
"2343-2409",
|
||||
"2701-2915",
|
||||
"3213-3305"
|
||||
],
|
||||
"axis_tcl": "1715-1887",
|
||||
"status": "verified"
|
||||
},
|
||||
"state_enum_contract": {
|
||||
"interp_states": 4,
|
||||
"motion_modes": 3,
|
||||
"states": 3,
|
||||
"status": "verified"
|
||||
}
|
||||
},
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"implementation": {
|
||||
"boundaries": [
|
||||
"WEB-EQUIV",
|
||||
"PY-WASM",
|
||||
"SIM-DEVICE",
|
||||
"HOST_BOUNDARY",
|
||||
"REAL-EXCLUDED"
|
||||
],
|
||||
"commands": 18,
|
||||
"interp_states": [
|
||||
"IDLE",
|
||||
"READING",
|
||||
"WAITING",
|
||||
"PAUSED"
|
||||
],
|
||||
"motion_modes": [
|
||||
"FREE",
|
||||
"COORD",
|
||||
"TELEOP"
|
||||
],
|
||||
"path": "web/app/axis-contract.mjs",
|
||||
"sha256": "738233e0358e3238dd15312ef8a9e021c91cd9ee9d9d7b5cd0f51539867c16f0",
|
||||
"task_states": [
|
||||
"ESTOP",
|
||||
"OFF",
|
||||
"ON"
|
||||
],
|
||||
"test_path": "web/app/test_axis_contract.mjs",
|
||||
"test_sha256": "202225bdbe6c86294cc83f9f889c33f364a84b31fccac2f6c96507bcbb2cad77"
|
||||
},
|
||||
"implementation_status": "pure_worker_gate_contract",
|
||||
"matrix_samples": [
|
||||
{
|
||||
"action": "run",
|
||||
"enabled": true,
|
||||
"reason": "axis_run_available",
|
||||
"state": "ON/IDLE"
|
||||
},
|
||||
{
|
||||
"action": "pause",
|
||||
"enabled": true,
|
||||
"reason": "axis_pause_available",
|
||||
"state": "ON/READING"
|
||||
},
|
||||
{
|
||||
"action": "resume",
|
||||
"enabled": true,
|
||||
"reason": "axis_resume_available",
|
||||
"state": "ON/PAUSED"
|
||||
},
|
||||
{
|
||||
"action": "jogStart",
|
||||
"enabled": false,
|
||||
"reason": "axis_estop_active",
|
||||
"state": "ESTOP"
|
||||
},
|
||||
{
|
||||
"action": "mdi",
|
||||
"enabled": false,
|
||||
"reason": "axis_mdi_queue_full",
|
||||
"state": "ON/MDI queue full"
|
||||
},
|
||||
{
|
||||
"action": "overrideLimits",
|
||||
"enabled": true,
|
||||
"reason": "axis_limit_override_available",
|
||||
"state": "ON/IDLE/limit"
|
||||
}
|
||||
],
|
||||
"report_sha256": "5de8d083c7903cf6e4753ff1adcbc26b8a868ef1f911ecbc19f56665e5805a44",
|
||||
"schema": "axis-contract-report.v1",
|
||||
"source_anchors": [
|
||||
{
|
||||
"lines": "1715-1887",
|
||||
"path": "linuxcnc/share/axis/tcl/axis.tcl",
|
||||
"role": "state/relief gate"
|
||||
},
|
||||
{
|
||||
"lines": "963-993",
|
||||
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
|
||||
"role": "running/manual_ok"
|
||||
},
|
||||
{
|
||||
"lines": "2214-2226",
|
||||
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
|
||||
"role": "estop/power"
|
||||
},
|
||||
{
|
||||
"lines": "2343-2409",
|
||||
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
|
||||
"role": "program controls"
|
||||
},
|
||||
{
|
||||
"lines": "2701-2915",
|
||||
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
|
||||
"role": "home/touch-off/io/mode"
|
||||
},
|
||||
{
|
||||
"lines": "3213-3305",
|
||||
"path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py",
|
||||
"role": "jog safety"
|
||||
}
|
||||
],
|
||||
"status": "verified",
|
||||
"task_id": "AXIS-CON-01..04"
|
||||
}
|
||||
Reference in New Issue
Block a user