Plan full LinuxCNC TP numerical parity
This commit is contained in:
29
coverage/task-packets/TP-PARITY-00.handoff.json
Normal file
29
coverage/task-packets/TP-PARITY-00.handoff.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "TP-PARITY-00",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "blocked",
|
||||
"scope": "xyzac_only",
|
||||
"result": "run-5axis-rtcp.sh launches native LinuxCNC services and AXIS, but linuxcnc.stat cannot attach to the launcher status buffer on this host; no native per-tick oracle was generated",
|
||||
"report": {"path": "coverage/xyzac-native-tick-trace.report.json", "status": "blocked"},
|
||||
"outputs": [
|
||||
{"path": "scripts/run_xyzac_native_tick_trace.py", "status": "created"},
|
||||
{"path": "doc-rtcp/xyzac-trt-full-tp-parity-plan.md", "status": "created"},
|
||||
{"path": "coverage/task-packets/TP-PARITY-00.json", "status": "created"}
|
||||
],
|
||||
"checks": {
|
||||
"launcher": "run-5axis-rtcp.sh started native linuxcncsvr/io/halui/milltask/axis",
|
||||
"axis_window": "visible during manual probe",
|
||||
"stat_attach": "blocked: emcStatusBuffer invalid err=3 / taskbeat invalid",
|
||||
"native_trace": "blocked",
|
||||
"source_hashes": "recorded by collector",
|
||||
"full_parity_claim": "forbidden"
|
||||
},
|
||||
"failure_samples": [
|
||||
{"code": "NATIVE_STAT_BUFFER_INVALID", "detail": "linuxcnc.stat().poll() returned emcStatusBuffer invalid err=3 or SystemError without exception while run-5axis-rtcp.sh services were alive"},
|
||||
{"code": "NATIVE_TASKBEAT_INVALID", "detail": "taskbeat remained 4294967296 and no valid native tick could be selected"}
|
||||
],
|
||||
"next_task": "TP-PARITY-01",
|
||||
"next_task_status": "blocked_by_TP-PARITY-00",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
59
coverage/task-packets/TP-PARITY-00.json
Normal file
59
coverage/task-packets/TP-PARITY-00.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"schema": "task-packet.v1",
|
||||
"task_id": "TP-PARITY-00",
|
||||
"status": "blocked",
|
||||
"title": "Native LinuxCNC XYZAC per-tick oracle",
|
||||
"milestone": "M7-TP-NUMERICAL-PARITY",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"case": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"scope": "xyzac_only",
|
||||
"depends_on": ["RELEASE-00"],
|
||||
"direct_inputs": [
|
||||
"run-5axis-rtcp.sh",
|
||||
"scripts/run_axis3_tutorial_native_sequence.py",
|
||||
"linuxcnc/src/emc/usr_intf/axis/extensions/emcmodule.cc",
|
||||
"linuxcnc/src/emc/task/taskintf.cc",
|
||||
"linuxcnc/src/emc/motion/motion.h",
|
||||
"linuxcnc/src/emc/tp/tp_debug.h",
|
||||
"linuxcnc/src/emc/tp/tp.c",
|
||||
"linuxcnc/src/emc/tp/tcq.c",
|
||||
"linuxcnc/src/emc/tp/tc.c",
|
||||
"doc-rtcp/xyzac-trt-full-tp-parity-plan.md"
|
||||
],
|
||||
"required_outputs": [
|
||||
"scripts/run_xyzac_native_tick_trace.py",
|
||||
"coverage/xyzac-native-tick-trace.report.json",
|
||||
"coverage/task-packets/TP-PARITY-00.handoff.json"
|
||||
],
|
||||
"observed": {
|
||||
"report": "coverage/xyzac-native-tick-trace.report.json",
|
||||
"report_sha256": "812a0bb8de8438aa18bc16789c40a33bcaadfaf3fcdc704ecf109c4b77bfdbfd",
|
||||
"row_count": 0,
|
||||
"first_blocker": "NATIVE_STAT_BUFFER_INVALID"
|
||||
},
|
||||
"acceptance": [
|
||||
"run-5axis-rtcp.sh launches native LinuxCNC",
|
||||
"linuxcnc.stat captures task/interpreter/motion/queue/pose/joint/current-line fields",
|
||||
"tick source is native taskbeat or explicitly blocked with evidence",
|
||||
"empty queue and queue drain ticks are retained",
|
||||
"source/config/program hashes are recorded",
|
||||
"native trace report is self-hashed",
|
||||
"no claim of full parity before TP-PARITY-06 passes"
|
||||
],
|
||||
"next_tasks": [
|
||||
"TP-PARITY-01",
|
||||
"TP-PARITY-02",
|
||||
"TP-PARITY-03",
|
||||
"TP-PARITY-04",
|
||||
"TP-PARITY-05",
|
||||
"TP-PARITY-06",
|
||||
"TP-PARITY-07",
|
||||
"TP-PARITY-08"
|
||||
],
|
||||
"known_blockers": [
|
||||
"native stat API may not expose TP segment geometry; map motion_id and retain explicit unavailable field",
|
||||
"native GUI process requires DISPLAY and cleanup",
|
||||
"full LinuxCNC TP source integration may require ABI-compatible C port rather than simplified queue extension"
|
||||
],
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
83
coverage/xyzac-native-tick-trace.report.json
Normal file
83
coverage/xyzac-native-tick-trace.report.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"case": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"scope": "xyzac_only"
|
||||
},
|
||||
"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": []
|
||||
},
|
||||
"errors": [
|
||||
"RuntimeError:native_stat_transition_timeout"
|
||||
],
|
||||
"known_boundaries": [
|
||||
"native stat exposes motion_id but not full TP segment geometry; active_segment_geometry is explicit null",
|
||||
"taskbeat is the public native task-cycle counter; wall-clock is recorded only as diagnostic elapsed_ms",
|
||||
"this report is an oracle input and does not claim native/WASM parity by itself"
|
||||
],
|
||||
"launcher": [
|
||||
"./run-5axis-rtcp.sh",
|
||||
"xyzac-trt.ini"
|
||||
],
|
||||
"launcher_output_sha256": "8e18cd62ead0174b8c9c7c70b4fa62716ee066bb0984de99e288322ae6aecaa2",
|
||||
"launcher_output_tail": "Starting 5-axis RTCP case: /home/mes006/linuxcncWebWASM/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini\nDemo program: /home/mes006/linuxcncWebWASM/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc\nRTCP subroutine: /home/mes006/linuxcncWebWASM/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_ac.ngc\nMachine configuration file is 'xyzac-trt.ini'\ncheck_config: Unchecked: [KINS]KINEMATICS={xyzac-trt-kins sparm=identityfirst}\nStarting LinuxCNC...\nlinuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod\nNote: Using POSIX non-realtime\nFound file(LIB): /home/mes006/linuxcncWebWASM/linuxcnc/lib/hallib/basic_sim.tcl\nsetup_kins: cmd=loadrt xyzac-trt-kins sparm=identityfirst\nnote: MAXV max: 1000.000 units/sec 60000.000 units/min\nnote: LJOG max: 1000.000 units/sec 60000.000 units/min\nnote: LJOG default: 20.000 units/sec 1200.000 units/min\nnote: AJOG max: 360.000 units/sec 21600.000 units/min\nnote: AJOG default: 360.000 units/sec 21600.000 units/min\nnote: jog_order='XYZC'\nnote: jog_invert=set()\ntask: 0 cycles, min=0.000004, max=0.062398, avg=-1.000000, 0 latency excursions (> 10x expected cycle time of 0.010000s)\nTraceback (most recent call last):\n File \"/home/mes006/linuxcncWebWASM/linuxcnc/bin/axis\", line 4249, in <module>\n o.mainloop()\n File \"/usr/lib/python3.12/tkinter/__init__.py\", line 1504, in mainloop\n self.tk.mainloop(n)\n File \"/usr/lib/python3.12/tkinter/__init__.py\", line 1962, in __call__\n def __call__(self, *args):\n\nKeyboardInterrupt\nShutting down and cleaning up LinuxCNC...\n\n!!! switchkins-type 0 is IDENTITY\n\nidentityKinematicsSetup: coordinates:xyzac\n Joint 0 ==> Axis X\n Joint 1 ==> Axis Y\n Joint 2 ==> Axis Z\n Joint 3 ==> Axis A\n Joint 4 ==> Axis C\n\nxyzac-trt-kins coordinates=xyzac assigns:\n Joint 0 ==> Axis X\n Joint 1 ==> Axis Y\n Joint 2 ==> Axis Z\n Joint 3 ==> Axis A\n Joint 4 ==> Axis C\n\nuserkKinematicsSetup:\n emc/kinematics/userkfuncs.c <xyzac> max_joints=16 allow_duplicates=1\n\nNote: Using POSIX non-realtime",
|
||||
"native_axis_window": {
|
||||
"height": 1377,
|
||||
"raw": "0x4c0001f \"AXIS 2.10.0~pre0 on sim-xyzac-trt-kins (switchkins) (no file)\": (\"axis\" \"Axis\") 1552x1377+28+98 +280+286",
|
||||
"title": "AXIS 2.10.0~pre0 on sim-xyzac-trt-kins (switchkins) (no file)",
|
||||
"width": 1552
|
||||
},
|
||||
"native_linuxcnc": {
|
||||
"display": ":1",
|
||||
"python_module": "/usr/lib/python3/dist-packages/linuxcnc.cpython-312-x86_64-linux-gnu.so"
|
||||
},
|
||||
"program": {
|
||||
"path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
|
||||
"sha256": "5afc03d5c1b692edd4154a6d37e5f94d74936a7bd5e82dc9c022f7bc21c7dc17"
|
||||
},
|
||||
"release_status": "STOP_RELEASE",
|
||||
"report_sha256": "812a0bb8de8438aa18bc16789c40a33bcaadfaf3fcdc704ecf109c4b77bfdbfd",
|
||||
"row_count": 0,
|
||||
"rows": [],
|
||||
"schema": "xyzac-native-linuxcnc-tick-trace.v1",
|
||||
"status": "blocked",
|
||||
"tick_source": "linuxcnc.stat.taskbeat",
|
||||
"trace_sha256": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
|
||||
}
|
||||
Reference in New Issue
Block a user