226 lines
6.4 KiB
JSON
226 lines
6.4 KiB
JSON
{
|
|
"configuration_candidates": [
|
|
{
|
|
"coordinates": "XYZCAB",
|
|
"id": "shipped-scara-userk-slot",
|
|
"implementation": "identity template",
|
|
"kind": "real",
|
|
"path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini",
|
|
"scan": true
|
|
},
|
|
{
|
|
"coordinates": "XYZABC",
|
|
"id": "shipped-puma560-genser",
|
|
"implementation": "ugenser static adapter over genser",
|
|
"kind": "real",
|
|
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
|
|
"scan": true
|
|
},
|
|
{
|
|
"id": "static-descriptor-regression",
|
|
"implementations": [
|
|
"userk.identity",
|
|
"ugenser.static"
|
|
],
|
|
"kind": "derived",
|
|
"path": "wasm-core/tests/sim_userkins_test.c",
|
|
"purpose": "ABI/capability checks, FK/IK calls, switch slot binding, and native/WASM comparison"
|
|
}
|
|
],
|
|
"error_boundaries": {
|
|
"abi_version": -710,
|
|
"capability": -711,
|
|
"dynamic_module": -712,
|
|
"missing_or_uninitialized_module": -708
|
|
},
|
|
"implementation_status": "verified",
|
|
"native_wasm": {
|
|
"native_command": "build-native/sim_userkins_test",
|
|
"status": "passed",
|
|
"wasm_command": "node build-wasm/sim_userkins_wasm_test.js"
|
|
},
|
|
"oracle": {
|
|
"blocked_samples": [
|
|
"userk identity template",
|
|
"ugenser static adapter",
|
|
"ABI mismatch",
|
|
"capability mismatch",
|
|
"dynamic module rejection",
|
|
"uninitialized module"
|
|
],
|
|
"reason": "linuxcnc/unit_tests/kinematics is absent from the locked source; the deprecated ugenser CLI is not an approved replacement",
|
|
"status": "blocked"
|
|
},
|
|
"report_sha256": "43f7a1918c7f09cea97e0ac400f6572ff9b9051fccc22cde5b70765dd1e735f1",
|
|
"samples": {
|
|
"byte_identical_json": true,
|
|
"native": {
|
|
"abi_error": -710,
|
|
"abi_version": 1,
|
|
"active_mode": 2,
|
|
"capabilities": 7,
|
|
"capability_error": -711,
|
|
"dynamic_path_error": -712,
|
|
"identity": {
|
|
"forward_calls": 1,
|
|
"inverse_calls": 1,
|
|
"joints": [
|
|
10.0,
|
|
20.0,
|
|
30.0,
|
|
5.0,
|
|
15.0
|
|
],
|
|
"pose": [
|
|
10.0,
|
|
20.0,
|
|
30.0,
|
|
5.0,
|
|
15.0
|
|
],
|
|
"repeat_hash": 7729967891798573724,
|
|
"state_hash": 7729967891798573724
|
|
},
|
|
"missing_implementation": -708,
|
|
"path_name_error": -712,
|
|
"schema": "userkins-samples.v1",
|
|
"switch_to_user": 0,
|
|
"ugenser": {
|
|
"forward_calls": 2,
|
|
"inverse_calls": 1,
|
|
"iterations": 0,
|
|
"pose": [
|
|
619.051467462,
|
|
30.4112378,
|
|
-349.855537721,
|
|
-173.973089253,
|
|
5.329608876,
|
|
-19.06581641
|
|
],
|
|
"repeat_hash": 1161289569922079659,
|
|
"residual": 0.0,
|
|
"state_hash": 1161289569922079659
|
|
},
|
|
"uninitialized_error": -708
|
|
},
|
|
"state_hash_identical": true,
|
|
"state_hash_stable": true,
|
|
"wasm": {
|
|
"abi_error": -710,
|
|
"abi_version": 1,
|
|
"active_mode": 2,
|
|
"capabilities": 7,
|
|
"capability_error": -711,
|
|
"dynamic_path_error": -712,
|
|
"identity": {
|
|
"forward_calls": 1,
|
|
"inverse_calls": 1,
|
|
"joints": [
|
|
10.0,
|
|
20.0,
|
|
30.0,
|
|
5.0,
|
|
15.0
|
|
],
|
|
"pose": [
|
|
10.0,
|
|
20.0,
|
|
30.0,
|
|
5.0,
|
|
15.0
|
|
],
|
|
"repeat_hash": 7729967891798573724,
|
|
"state_hash": 7729967891798573724
|
|
},
|
|
"missing_implementation": -708,
|
|
"path_name_error": -712,
|
|
"schema": "userkins-samples.v1",
|
|
"switch_to_user": 0,
|
|
"ugenser": {
|
|
"forward_calls": 2,
|
|
"inverse_calls": 1,
|
|
"iterations": 0,
|
|
"pose": [
|
|
619.051467462,
|
|
30.4112378,
|
|
-349.855537721,
|
|
-173.973089253,
|
|
5.329608876,
|
|
-19.06581641
|
|
],
|
|
"repeat_hash": 1161289569922079659,
|
|
"residual": 0.0,
|
|
"state_hash": 1161289569922079659
|
|
},
|
|
"uninitialized_error": -708
|
|
}
|
|
},
|
|
"schema": "userkins-kinematics-report.v1",
|
|
"source_records": {
|
|
"genser_functions": {
|
|
"path": "linuxcnc/src/emc/kinematics/genserfuncs.c",
|
|
"sha256": "e4b775e93b973a4faae873c81a95d7d8361fe5c5c59ea81e362a5f900a1e8781"
|
|
},
|
|
"genser_source": {
|
|
"path": "linuxcnc/src/emc/kinematics/genserkins.c",
|
|
"sha256": "cbb87b9c21f9f5e1d6a3c5bd333f72a7b1b4f1618a21b32d4b34bc621b43e075"
|
|
},
|
|
"header": {
|
|
"path": "wasm-core/include/sim_kinematics.h",
|
|
"sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec"
|
|
},
|
|
"implementation": {
|
|
"path": "wasm-core/src/sim_userkins.c",
|
|
"sha256": "cf3a0f3fea81fb63abf3336b87de1971391d7798b4eed3ec826c07bfd300ed0e"
|
|
},
|
|
"test": {
|
|
"path": "wasm-core/tests/sim_userkins_test.c",
|
|
"sha256": "13ecf5d2405a0e4c706cde25d93424655108779188c310f75ed36683abed624e"
|
|
},
|
|
"ugenser_config": {
|
|
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560.ini",
|
|
"sha256": "2bb881ed6c5662282977accac29bfd6c4efc18e572cbcb8a31c134677012cf4c"
|
|
},
|
|
"ugenser_dh": {
|
|
"path": "linuxcnc/configs/sim/axis/vismach/puma/puma560_dh.hal",
|
|
"sha256": "23758eb7a6a4abe116e1de88140d04e6c9a910d1c378f019d76843a5a3fb6141"
|
|
},
|
|
"ugenser_source": {
|
|
"path": "linuxcnc/src/emc/kinematics/ugenserkins.c",
|
|
"sha256": "dee63aebaa11f2867657bc4b9052f6a8e8bd875e06bd8a9df2d3edac9eb1c31d"
|
|
},
|
|
"userk_config": {
|
|
"path": "linuxcnc/configs/sim/axis/vismach/scara/scara.ini",
|
|
"sha256": "602e02bb6d320b728d9ae15904a5d229ea1a31e932c18e9018b45be007d695ce"
|
|
},
|
|
"userk_source": {
|
|
"path": "linuxcnc/src/emc/kinematics/userkfuncs.c",
|
|
"sha256": "146238645955f8d4e2cb0cd34ff44db3a9dad01e149f81c08f8a53c19f1609bc"
|
|
}
|
|
},
|
|
"static_contract": {
|
|
"abi_version": 1,
|
|
"capabilities": {
|
|
"forward": 1,
|
|
"inverse": 2,
|
|
"sample_mask": 7,
|
|
"static": 4
|
|
},
|
|
"dynamic_host_loading": "forbidden; paths, slash-delimited names, and host shared libraries return SIM_KIN_ERR_DYNAMIC_MODULE",
|
|
"implementations": {
|
|
"1": "identity",
|
|
"2": "genser"
|
|
},
|
|
"switch_binding": {
|
|
"active_after_select": 2,
|
|
"slot": 2
|
|
}
|
|
},
|
|
"status": "partial",
|
|
"ugenser_scope": {
|
|
"adaptation": "reuse the verified statically linked genser FK/IK implementation; do not port gettimeofday, stdin, or HAL process lifecycle",
|
|
"legacy_cli_status": "excluded",
|
|
"source_warning_present": true
|
|
}
|
|
}
|