Complete XYZAC LinuxCNC WASM parity and smooth 3D preview
This commit is contained in:
42
coverage/task-packets/PARITY-00.handoff.json
Normal file
42
coverage/task-packets/PARITY-00.handoff.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "PARITY-00",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "Native C, WASM C and Worker protocol/control/state/canonical/recovery traces compare tick-by-tick with positive divergence detection",
|
||||
"report": {"path": "coverage/xyzac-trt-trace-parity.report.json", "sha256": "39c63aa9af38fd98e49fd68ec2401ee8715fcafef98d47c070a47ab6f6dc0a48"},
|
||||
"outputs": [
|
||||
{"path": "scripts/compare_xyzac_native_wasm_trace.py", "sha256": "89834553f2a7afc47e351bbddd33f83259665b943cd7f22fe48acbba32aaf7c4"},
|
||||
{"path": "web/worker/test_xyzac_trace_parity.mjs", "sha256": "f5c6a7cd3e8b7f72bb1b25b5c368c0e52d494b9c811022d34435e668612ec4ce"},
|
||||
{"path": "coverage/xyzac-trt-trace-parity.report.json", "sha256": "ef914bb7823b9cdb0f6e15ca409515659d5575d09cdc6da2c458cd81fafa595a"},
|
||||
{"path": "wasm-core/tests/sim_xyzac_trace_test.c", "sha256": "0a3d5f748d9f69f4212c3a1cdd65fe2986c253442c4de2de78de2e5a5635ff08"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"protocol_level": "passed",
|
||||
"control_level": "passed",
|
||||
"state_level": "passed",
|
||||
"canonical_level": "passed",
|
||||
"recovery_level": "passed",
|
||||
"native_wasm_exact": "passed",
|
||||
"native_worker_semantic": "passed",
|
||||
"positive_divergence_tick": "passed",
|
||||
"report_self_hash": "passed",
|
||||
"native_ctest_21": "passed",
|
||||
"react_typecheck_build": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"levels": ["protocol", "control", "state", "canonical", "recovery"],
|
||||
"first_divergent_tick": null,
|
||||
"positive_sample_tick": 2,
|
||||
"positive_sample_path": "$[1].active_type",
|
||||
"native_wasm_trace_sha256": "18d2ef9d77f9a7a5bf2fa8d9380c8b04383a58ee2b0258364cba31ec34a168f0"
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-09",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
40
coverage/task-packets/RELEASE-00.handoff.json
Normal file
40
coverage/task-packets/RELEASE-00.handoff.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RELEASE-00",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "Selected xyzac-trt.ini WASM-only release gate verified; release remains STOP_RELEASE by explicit scope governance",
|
||||
"report": {"path": "coverage/xyzac-trt-wasm-only-release-gate.report.json", "sha256": "368bc17b4ade17b8567abe299b7d7395abc0f09d187028a0cb750aa170b5891c"},
|
||||
"outputs": [
|
||||
{"path": "scripts/generate_xyzac_trt_wasm_only_release_gate.py", "sha256": "06e4c564d0b4fc482150ffd19ae7ce93d553a6bf525144159875d824054eca70"},
|
||||
{"path": "coverage/xyzac-trt-wasm-only-release-gate.report.json", "sha256": "f85319a0d1a5bc28a2ab06aed6c043ba1fff8a5d69d8901754b6d62ce6eb0c1c"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"wasm_authority": "passed",
|
||||
"all_13_selected_case_reports": "passed",
|
||||
"native_worker_trace": "passed",
|
||||
"browser_matrix": "passed",
|
||||
"recovery_endpoint": "passed",
|
||||
"scope_exclusions_explicit": "passed",
|
||||
"release_report_self_hash": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"selected_case": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
|
||||
"candidate_eligible": false,
|
||||
"release_status": "STOP_RELEASE",
|
||||
"blockers": [
|
||||
"HOST_EXCLUDED: Safari not in project scope",
|
||||
"REAL-EXCLUDED: physical power loss not simulated",
|
||||
"HOST_EXCLUDED: xyzbc/3axis/other LinuxCNC cases out of scope"
|
||||
],
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": null,
|
||||
"next_task_status": "complete",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
42
coverage/task-packets/RTCP-01.handoff.json
Normal file
42
coverage/task-packets/RTCP-01.handoff.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-01",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"result": "XYZAC Worker topology, logical scheduler, command ledger and cancellation/reconcile contract verified",
|
||||
"outputs": [
|
||||
{"path": "web/worker/xyzac-session.mjs", "sha256": "9cbbbd08ae372e515bafe906f87fe3a9552571f52997b4e5495b42a36097c6b3"},
|
||||
{"path": "web/worker/xyzac-scheduler.mjs", "sha256": "0c7544298869c9c2858cce1275db8f3f2034655a5aa92aac5bd6dbf2b16e3221"},
|
||||
{"path": "web/worker/xyzac-command-ledger.mjs", "sha256": "90d5fd10547f544338014a026a407cfb73f08c639bf0f1bef9c19a85fbcd16f5"},
|
||||
{"path": "web/worker/test_xyzac_session.mjs", "sha256": "76cd74a09a0318a33d70529f7c5b9cad25fd0daebd6dd8bb05f87b42626858ef"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"xyzac_session": "passed",
|
||||
"xyzac_case_worker": "passed",
|
||||
"xyzac_program_authority": "passed",
|
||||
"xyzac_io_authority": "passed",
|
||||
"ledger_replay_commit": "passed",
|
||||
"ledger_timeout_reconcile": "passed",
|
||||
"cancel_no_blind_retry": "passed",
|
||||
"scheduler_logical_tick": "passed",
|
||||
"native_ctest": "20/20 passed",
|
||||
"react_typecheck_build": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"session_authority": "linuxcnc-wasm-worker",
|
||||
"machine": {"coordinates": "XYZAC", "joint_count": 5, "kinematics": "xyzac-trt", "rotary_units": "degrees"},
|
||||
"scheduler_tick": 3,
|
||||
"scheduler_state_hash": "fnv1a64:d6b307bada354385",
|
||||
"replayed": true,
|
||||
"committed_operation": "step-1",
|
||||
"pending_after_abort": 0,
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-02",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
35
coverage/task-packets/RTCP-02.handoff.json
Normal file
35
coverage/task-packets/RTCP-02.handoff.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-02",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "Exact xyzac-trt.ini resource closure and startup state machine verified; xyzbc/3axis/other cases excluded",
|
||||
"report": {"path": "coverage/xyzac-trt-startup.report.json", "sha256": "12cdae5c4547d8f2647da1f4721e147807ba738474adeb60901b3d837e4cb39e"},
|
||||
"outputs": [
|
||||
{"path": "web/workspace/xyzac-trt-case-loader.mjs", "sha256": "8480a20a13301cfc8dd37fbe66cf9b4cbfbfd7bd18623e81499a583c72f9f44a"},
|
||||
{"path": "coverage/xyzac-trt-startup.report.json", "sha256": "56e040b645bcefc3d6c57244cb2d3aba16f421ff5137089d9c3336970dfd968b"},
|
||||
{"path": "web/worker/test_xyzac_startup.mjs", "sha256": "013023e5f0a01d93ed8ab568879937f462a97e2fe08742995f15775c867fb8aa"},
|
||||
{"path": "scripts/generate_xyzac_trt_startup_report.py", "sha256": "0b7fca4feb6039423b92164cd57802b7aaaefa7e141dffd38cb024f9b031fb5e"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"xyzac_startup_test": "passed",
|
||||
"startup_report_self_hash": "passed",
|
||||
"exact_resource_count": 15,
|
||||
"required_ini_sections": 7,
|
||||
"hal_record_count": 165,
|
||||
"missing_resource_fail_closed": "passed",
|
||||
"xyzac_worker_case": "passed",
|
||||
"native_ctest": "20/20 passed",
|
||||
"react_typecheck": "passed"
|
||||
},
|
||||
"startup_state_sequence": ["TASK_NEW", "CONFIG_RESOLVED", "HAL_READY", "RUNTIME_READY", "TASK_READY"],
|
||||
"machine": {"coordinates": "XYZAC", "joint_count": 5, "rotary_units": "degrees", "kinematics": "xyzac-trt"},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-03",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
41
coverage/task-packets/RTCP-03.handoff.json
Normal file
41
coverage/task-packets/RTCP-03.handoff.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-03",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "XYZAC authoritative snapshot, axis_state projection and gate matrix verified",
|
||||
"report": {"path": "coverage/xyzac-trt-gate-matrix.report.json", "sha256": "25deaea6a1fb442d86e660319fdd1d3061ca7da0af7d48858258aad4c71ec56c"},
|
||||
"outputs": [
|
||||
{"path": "web/worker/test_xyzac_gate_matrix.mjs", "sha256": "07e4f05f3b7bf470fb87ecea077587e7584928d28fe7e28932f8a649c960525d"},
|
||||
{"path": "coverage/xyzac-trt-gate-matrix.report.json", "sha256": "7c8cb2dad644e54462b30dd0ec3e3e792ecee8da67c9c2de236bc38f1c0e6188"},
|
||||
{"path": "web/app/axis-contract.mjs", "sha256": "51854238857e03c42abe91f1dec4da3f49734386a6cf3d99dae97d7f07ebafd5"},
|
||||
{"path": "web/worker/sim-session.mjs", "sha256": "bdde47643f15780fe32cc10fe1b8542bd70c3170fd057b26d34b5c79ccd9dc29"},
|
||||
{"path": "scripts/generate_xyzac_trt_gate_matrix_report.py", "sha256": "a5ec4edbe3f416f134812fe8e4b7222a426de0aa7b524fb9deafbcc3d999b6a9"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"xyzac_gate_matrix": "passed",
|
||||
"gate_report_self_hash": "passed",
|
||||
"xyzac_worker_case": "passed",
|
||||
"panel_gate_regression": "passed",
|
||||
"axis_contract_regression": "passed",
|
||||
"react_typecheck": "passed"
|
||||
},
|
||||
"gate_scenarios": {
|
||||
"no_file": "axis_taskfile_missing",
|
||||
"highlight_missing": "axis_highlight_missing",
|
||||
"switchkins_hal_missing": "xyzac_hal_pin_vars_missing",
|
||||
"switchkins_estop": "xyzac_estop_active",
|
||||
"running_pause_abort": "verified",
|
||||
"paused_resume": "verified",
|
||||
"vismach_clear_visual_only": "verified"
|
||||
},
|
||||
"state_hash": "fnv1a64:a95c3da31e470f59",
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-04",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
20
coverage/task-packets/RTCP-04.handoff.json
Normal file
20
coverage/task-packets/RTCP-04.handoff.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-04",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "WASM canonical XYZAC program load/preview/ledger flow verified",
|
||||
"report": {"path": "coverage/xyzac-trt-program-preview.report.json", "sha256": "ad151b42a738667f0d62f1811409190adc06f5b59f3bde9019eec8b895abf736"},
|
||||
"outputs": [
|
||||
{"path": "web/worker/test_xyzac_program_preview.mjs", "sha256": "2ecec15067d0350741b1a02d14dd4aed3587ef1bc236065a51c28bc3391c2eef"},
|
||||
{"path": "coverage/xyzac-trt-program-preview.report.json", "sha256": "3398060c346e51691717b43c164322c333cab951a5c83ac3dd5e87fe0e452429"},
|
||||
{"path": "web/worker/wasm-program-runtime.mjs", "sha256": "3a91b2111f9803d58c8dc6dfc8fb0db4f7343cc7b87108bc53b642a13032c844"}
|
||||
],
|
||||
"checks": {"baseline": "passed", "download_index": "passed", "pointer": "passed", "xyzac_program_preview": "passed", "preview_report_self_hash": "passed", "source_path_hash": "passed", "canonical_segments": "passed", "invalid_gcode_fail_closed": "passed", "empty_program_fail_closed": "passed", "program_load_replay": "passed", "xyzac_worker_case": "passed", "react_typecheck": "passed"},
|
||||
"evidence": {"source_hash": "fnv1a64:b7f4678312207b31", "line_count": 5, "segment_count": 2, "preview_hash": "fnv1a64:e226b45322b06337", "state_hash": "fnv1a64:d1505250bdc90614", "preview_authority": "linuxcnc-wasm-sim_program", "first_divergent_tick": null},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-05",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
20
coverage/task-packets/RTCP-05.handoff.json
Normal file
20
coverage/task-packets/RTCP-05.handoff.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-05",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "WASM XYZAC Run/Pause/Resume/Step/Abort/Restart/Run-from-line workflow verified",
|
||||
"report": {"path": "coverage/xyzac-trt-workflow.report.json", "sha256": "5abbef3106546d65d0951cce07777532903653abeed52221a9c8ecd142d5bc0d"},
|
||||
"outputs": [
|
||||
{"path": "web/worker/test_xyzac_workflow.mjs", "sha256": "6c738c6993d43b4ce16feecfe87d2b507824a88b06ead2f0659db6ca25c346b5"},
|
||||
{"path": "scripts/generate_xyzac_trt_workflow_report.py", "sha256": "f1f4b34105b64d7caea34921ec8504d0c58006ee0fd9fa15561cecb1cba93abb"},
|
||||
{"path": "coverage/xyzac-trt-workflow.report.json", "sha256": "0a9749ed647fb5ead26681719468470b7cf9e765ea4df5881d74404c019c0a5d"}
|
||||
],
|
||||
"checks": {"baseline": "passed", "download_index": "passed", "pointer": "passed", "xyzac_workflow": "passed", "workflow_report_self_hash": "passed", "run_pause_resume_step": "passed", "abort_queue_empty": "passed", "restart_source_hash": "passed", "run_from_line": "passed", "checkpoint_recovery": "passed", "xyzac_preview_regression": "passed", "xyzac_gate_regression": "passed", "react_typecheck": "passed"},
|
||||
"evidence": {"tick_after_first": 1, "active_before_abort": 1, "pause_cursor": 1, "restart_source_hash": "fnv1a64:7e075e2e695feafd", "run_from_line": 4, "recovery": "recovered", "final_state_hash": "fnv1a64:de58dbdf1fa2606f", "first_divergent_tick": null},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-06",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
21
coverage/task-packets/RTCP-06.handoff.json
Normal file
21
coverage/task-packets/RTCP-06.handoff.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-06",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "WASM XYZAC MDI, five-axis jog, home, limits and ESTOP recovery verified",
|
||||
"report": {"path": "coverage/xyzac-trt-manual-control.report.json", "sha256": "ec2180de513726dc70c0940ed15e03a7d9e54714960ba7246aba19eaf95d849b"},
|
||||
"outputs": [
|
||||
{"path": "web/worker/test_xyzac_manual_control.mjs", "sha256": "75ed33fcbe9f40f0c244029b4dd57017c4f9944107c88c5500ade5c6e67fe893"},
|
||||
{"path": "coverage/xyzac-trt-manual-control.report.json", "sha256": "012871cb9758621d0b38a0acf240e5d077b332a72bad42d9592fe39c86567a99"},
|
||||
{"path": "wasm-core/src/sim_posemath.c", "sha256": "2e63d8cc2bf4275a89238b2622b41dcd8dfabfe6d24ef5918628083a4f4f5216"},
|
||||
{"path": "wasm-core/src/sim_motion_queue.c", "sha256": "252de61937b685689c479be60e6ce398364790ef5034e54cd89db138b368937f"}
|
||||
],
|
||||
"checks": {"baseline": "passed", "download_index": "passed", "pointer": "passed", "xyzac_manual_control": "passed", "manual_report_self_hash": "passed", "home_five_joints": "passed", "jog_xyz": "passed", "jog_ac_degrees": "passed", "mdi": "passed", "nonfinite_speed": "passed", "range_boundary": "passed", "following_error": "passed", "mdi_running_gate": "passed", "estop_recovery": "passed", "xyzac_workflow_regression": "passed", "react_typecheck": "passed"},
|
||||
"evidence": {"linear_axes": ["X", "Y", "Z"], "angular_axes": ["A", "C"], "angular_units": "degrees", "home_joint_count": 5, "jog_state_hash": "fnv1a64:458a605f469d43cc", "first_divergent_tick": null},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-07",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
60
coverage/task-packets/RTCP-07.handoff.json
Normal file
60
coverage/task-packets/RTCP-07.handoff.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-07",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "WASM XYZAC HAL, PyVCP, tool, spindle, coolant, device acknowledgement and alarm authority verified",
|
||||
"report": {
|
||||
"path": "coverage/xyzac-trt-hal-tool-alarm.report.json",
|
||||
"sha256": "3b59d77a19277228a3d37d00486c5344571392651adcf4b7d019217d0880fbe8"
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"path": "web/worker/test_xyzac_hal_tool_alarm.mjs",
|
||||
"sha256": "731ff64fc5b9abd70c6ab6649a2644e51e363bda710a0d4ec9faeffa3bb77db3"
|
||||
},
|
||||
{
|
||||
"path": "coverage/xyzac-trt-hal-tool-alarm.report.json",
|
||||
"sha256": "d0e8fef743ea45ed230a29bb5deefa563f07d82df85e6f9c70be56f67e79031a"
|
||||
},
|
||||
{
|
||||
"path": "web/worker/wasm-xyzac-io.mjs",
|
||||
"sha256": "c5b77654b952e0656edc9d649f07af6e3244d649313761b9ff42aed329c98f0b"
|
||||
},
|
||||
{
|
||||
"path": "web/worker/sim-session.mjs",
|
||||
"sha256": "ec5846105eeecb5dcf5d9ec579ff00b185eaaba2039caeabe1e9a199a6749873"
|
||||
}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"xyzac_hal_tool_alarm": "passed",
|
||||
"hal_tool_alarm_report_self_hash": "passed",
|
||||
"pyvcp_switches": "passed",
|
||||
"vismach_clear_visual_only": "passed",
|
||||
"hal_write_allowlist": "passed",
|
||||
"tool_spindle_coolant": "passed",
|
||||
"device_ack_timeout_abort": "passed",
|
||||
"xyzac_io_regression": "passed",
|
||||
"xyzac_manual_control_regression": "passed",
|
||||
"native_ctest": "passed",
|
||||
"react_typecheck_build": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"pyvcp_m_codes": ["M429", "M428", "M430"],
|
||||
"hal_allowed": "motion.probe-input",
|
||||
"hal_denied_code": "wasm_hal_write_denied",
|
||||
"tool": 7,
|
||||
"spindle_rpm": 1200,
|
||||
"ack_timeout_code": "wasm_sim_device_ack_ack_-1008",
|
||||
"state_hash": "fnv1a64:78582773ec5a3bbe",
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-08",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
60
coverage/task-packets/RTCP-08.handoff.json
Normal file
60
coverage/task-packets/RTCP-08.handoff.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-08",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "WASM XYZAC identity/TRT/userk kinematics, offsets, limits, multi-turn G93 arc, switchkins and lifecycle recovery verified",
|
||||
"report": {
|
||||
"path": "coverage/xyzac-trt-rtcp.report.json",
|
||||
"sha256": "c370004d8f2d962937b3b91abe2b0dd1632283f570e29d2d194731bc0fe0a083"
|
||||
},
|
||||
"outputs": [
|
||||
{"path": "web/worker/test_xyzac_rtcp.mjs", "sha256": "9bc14997e56a8d0f6f0043b3a92fa5efe0fc8b3fa9c973bffa9045446973208f"},
|
||||
{"path": "coverage/xyzac-trt-rtcp.report.json", "sha256": "b1562d6d2c9cd5144c7c8c9b334bd8bf67919ea7297f103ec67cb32773608d08"},
|
||||
{"path": "web/worker/wasm-xyzac-kinematics.mjs", "sha256": "f14581a52830df5f55d612a1ec88d82737bb429ff63b5267ea3903984be6050e"},
|
||||
{"path": "web/worker/sim-session.mjs", "sha256": "f3b3f78146a08ad0f770bceae9cb46e66dd997c1270e3be7e27c544c2f5d3b6b"},
|
||||
{"path": "wasm-core/src/sim_interpreter.c", "sha256": "714396428b6826d9ac8c05d654dcc33acf24eef4b6393f610c8997997e540e5a"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"xyzac_rtcp_k0_k6": "passed",
|
||||
"rtcp_report_self_hash": "passed",
|
||||
"identity_forward_inverse": "passed",
|
||||
"xyzac_forward_inverse_offsets": "passed",
|
||||
"userk_static_capability": "passed",
|
||||
"dynamic_userk_rejection": "passed",
|
||||
"switchkins_pose_preservation": "passed",
|
||||
"g93_multiturn_arc": "passed",
|
||||
"pause_abort_restart_recovery": "passed",
|
||||
"native_ctest_20": "passed",
|
||||
"wasm_switchkins_kinematics_userkins": "passed",
|
||||
"xyzac_worker_regressions": "passed",
|
||||
"motion_checkpoint_regression": "passed",
|
||||
"react_typecheck_build": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"coordinates": "XYZAC",
|
||||
"linear_units": "mm",
|
||||
"angular_units": "deg",
|
||||
"range_error": "wasm_xyzac_forward_-702",
|
||||
"nonfinite_error": "wasm_xyzac_forward_-701",
|
||||
"dynamic_userk_error": -712,
|
||||
"helix_turn": -3,
|
||||
"recovered_active_type": 1,
|
||||
"recovered_state_hash": "fnv1a64:8c57efd84475776a",
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [
|
||||
{
|
||||
"classification": "HOST_EXCLUDED",
|
||||
"code": "wasm_ctest_node18_local_url",
|
||||
"detail": "CTest sim_api_test uses Node 18 fetch on a bare local .wasm path; real Node 24 Worker module and single-file WASM tests passed"
|
||||
}
|
||||
],
|
||||
"next_task": "PARITY-00",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
42
coverage/task-packets/RTCP-09.handoff.json
Normal file
42
coverage/task-packets/RTCP-09.handoff.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-09",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "XYZAC additive Worker commands, typed snapshot projection, React controls, gate/operation/alarm/recovery visibility and browser layout verified",
|
||||
"report": {"path": "coverage/xyzac-trt-protocol-react.report.json", "sha256": "ad83b98df362f1f7e25effbdbf43da2b2ea4e2b0f1f185568f33495c88aba854"},
|
||||
"outputs": [
|
||||
{"path": "web/react/src/XyzacTrtPanel.tsx", "sha256": "f17e25f74d87a39a1bd7520f65cf1b285cb4c38d8e4fcaec13320e41c4ca6511"},
|
||||
{"path": "web/react/src/xyzac-panel-contract.ts", "sha256": "650ac562d6153c992762a138752e5821e0d4fc16706622511cb94e4a733e6733"},
|
||||
{"path": "coverage/xyzac-trt-protocol-react.report.json", "sha256": "94bb31615c0cbe5a227fbfd6af42ed1b6ace82880d2453bd3cde89340647fc6d"},
|
||||
{"path": "web/worker/test_xyzac_protocol_react.mjs", "sha256": "69d942dfdcb7bc0d7fb26d6708220a47af13aa84acdcf490780980f6de0cc03d"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"additive_power": "passed",
|
||||
"kinematics_select": "passed",
|
||||
"visual_clear_visual_only": "passed",
|
||||
"gate_rejection_reason": "passed",
|
||||
"operation_pending_ack_result": "passed",
|
||||
"react_worker_only_static_audit": "passed",
|
||||
"react_typecheck_build": "passed",
|
||||
"browser_desktop": "passed",
|
||||
"browser_mobile": "passed",
|
||||
"canvas_nonblank": "passed",
|
||||
"horizontal_overflow": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"commands": ["POWER", "KINEMATICS_SELECT", "VISUAL_CLEAR"],
|
||||
"components": ["XyzacTrtPanel", "XyzacProgramPane", "XyzacKinematicsControl", "XyzacManualPanel", "XyzacDiagnostics"],
|
||||
"browser": {"desktop": [1440, 1000], "mobile": [390, 844], "desktop_status": "READY", "mobile_status": "READY", "desktop_scroll_width": 1425, "mobile_scroll_width": 390},
|
||||
"state_hash": "fnv1a64:4034107d88cc3171",
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-10",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
43
coverage/task-packets/RTCP-10.handoff.json
Normal file
43
coverage/task-packets/RTCP-10.handoff.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-10",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "Three.js XYZAC TRT Vismach hierarchy, signed table/saddle/spindle translations, A/C rotations, tool offset and authoritative visual trace verified",
|
||||
"report": {"path": "coverage/xyzac-trt-threejs.report.json", "sha256": "592f729730cb122238edefd90417399cd2f21a2084603001d1b46aadad7b261f"},
|
||||
"outputs": [
|
||||
{"path": "web/react/src/XyzacMachineView.tsx", "sha256": "2645e2dadeda98357e73974ae7a48b5fb825a2362ddca33689604bb11ee78a71"},
|
||||
{"path": "web/react/src/XyzacToolPreview.tsx", "sha256": "32f6879594c3ed9bb6a9f2bb17650ea2cfb89a972c93ce31091bcccc73cdb6ef"},
|
||||
{"path": "web/react/src/xyzac-visual-adapter.ts", "sha256": "1e9aca3e5f206876310268b86c5cabd0c37cd23a28cfbf599e29612effdf20dd"},
|
||||
{"path": "web/react/src/test_xyzac_threejs.mjs", "sha256": "a858df19658826e92e5d6f6df566a16741741648631f4e02f36b2825b97f6e7d"},
|
||||
{"path": "web/react/src/test_xyzac_tool_preview.mjs", "sha256": "be345e8df99a1bb4912c2a1fb334ed1823e03dd2ba67ca6cf60bee927d269b0a"},
|
||||
{"path": "coverage/xyzac-trt-threejs.report.json", "sha256": "0bdd0e072c7d1c87f1a3183ca522cc61baf0bdc3d26a94199d1f3e005a960dbb"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"machine_hierarchy": "passed",
|
||||
"tool_preview_separated": "passed",
|
||||
"ac_direction_offset": "passed",
|
||||
"authoritative_tick_hash": "passed",
|
||||
"canvas_nonblank_desktop": "passed",
|
||||
"canvas_nonblank_mobile": "passed",
|
||||
"visual_clear_nonmutating": "passed",
|
||||
"horizontal_overflow_desktop_mobile": "passed",
|
||||
"react_typecheck_build": "passed",
|
||||
"xyzac_worker_regressions": "passed",
|
||||
"native_ctest_21": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"machine_groups": ["xyzac-machine", "table-x", "saddle-y", "spindle-z", "tilt-a", "rotate-c", "tool-offset", "xyzac-toolpath", "xyzac-live-toolpath"],
|
||||
"direction": {"table_x": -1, "saddle_y": -1, "spindle_z": -1, "tilt_a": "x+", "rotate_c": "z+", "tool_offset": "z-"},
|
||||
"browser_pixel_oracle": {"desktop_nonzero_pixels": 777266, "mobile_nonzero_pixels": 118864},
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-11",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
45
coverage/task-packets/RTCP-11.handoff.json
Normal file
45
coverage/task-packets/RTCP-11.handoff.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-11",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "XYZAC WASM checkpoint/journal/restart/replay/reconcile recovery verified with no duplicate M428 and fail-closed corruption paths",
|
||||
"report": {"path": "coverage/xyzac-trt-recovery.report.json", "sha256": "9dc18abe81d4d7f84ef2543d664895f43ffd52ab5b4925672402724902b2369f"},
|
||||
"outputs": [
|
||||
{"path": "web/worker/test_xyzac_recovery.mjs", "sha256": "d8f02b0ab5b7c9fc5ef30a3a67f7896071ecf9bbaa7d2f3614c031d118e655e7"},
|
||||
{"path": "coverage/xyzac-trt-recovery.report.json", "sha256": "a863e06fce29904913b38526fe0f780f3f8912f0e741763c1e7221283a335808"},
|
||||
{"path": "scripts/generate_xyzac_trt_recovery_report.py", "sha256": "5e75fe82fd069d891e7a34a07da7aa9b4e7b3152b6b61ce791a77a97e2dc957c"},
|
||||
{"path": "web/worker/sim-session.mjs", "sha256": "0ab5e206629e005eabb834db8bb90106e28f2cfcc23ddec4acbb96f38c3d5423"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"checkpoint_minimum_fields": "passed",
|
||||
"endpoint_pose_joints_program_hash": "passed",
|
||||
"no_duplicate_m428": "passed",
|
||||
"ledger_reconcile": "passed",
|
||||
"corrupt_checkpoint_fail_closed": "passed",
|
||||
"schema_mismatch_fail_closed": "passed",
|
||||
"journal_commit_recovery": "passed",
|
||||
"journal_corruption_fail_closed": "passed",
|
||||
"opfs_unavailable_fail_closed": "passed",
|
||||
"native_ctest_21": "passed",
|
||||
"react_typecheck_build": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"required_checkpoint_fields": ["context_id", "simulation_tick", "event_cursor", "state_hash", "task", "program", "kinematics", "motion", "wasm_motion", "ledger"],
|
||||
"endpoint_at_checkpoint_equal": true,
|
||||
"no_duplicate_m428": true,
|
||||
"replayed_operation": true,
|
||||
"corrupt_checkpoint": "blocked",
|
||||
"schema_mismatch": "blocked",
|
||||
"opfs_physical_crash": "REAL-EXCLUDED",
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-12",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
38
coverage/task-packets/RTCP-12.handoff.json
Normal file
38
coverage/task-packets/RTCP-12.handoff.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "RTCP-12",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"scope": "xyzac_only",
|
||||
"result": "Selected xyzac-trt.ini native/Worker/WASM/React/Three.js parity aggregate verified with explicit release exclusions",
|
||||
"report": {"path": "coverage/xyzac-trt-web-wasm-parity.report.json", "sha256": "676f94870045670d2808c2193bded706fdd4909f06d70be00f46dd2653d92927"},
|
||||
"outputs": [
|
||||
{"path": "scripts/generate_xyzac_trt_web_wasm_parity_report.py", "sha256": "fd658a157981d8ca8bd95eecea3cf803443c0f10c7d7ca1dde75c184a69abd4d"},
|
||||
{"path": "coverage/xyzac-trt-web-wasm-parity.report.json", "sha256": "032912a30e5bdd970f6ff10cadb9a30642b7bdb45252ea40cd7f1b953a1050c7"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"all_13_selected_case_reports": "passed",
|
||||
"native_wasm_trace": "passed",
|
||||
"native_worker_trace": "passed",
|
||||
"first_divergent_tick_normal": "null",
|
||||
"first_divergent_tick_positive_sample": "2",
|
||||
"browser_desktop_mobile": "passed",
|
||||
"recovery_endpoint_equal": "passed",
|
||||
"blocker_identity_explicit": "passed",
|
||||
"report_self_hash": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"report_count": 13,
|
||||
"candidate_eligible": false,
|
||||
"release_status": "STOP_RELEASE",
|
||||
"excluded": ["Safari", "physical power loss", "host hardware", "xyzbc", "3axis", "other cases"],
|
||||
"first_divergent_tick": null
|
||||
},
|
||||
"failure_samples": [],
|
||||
"next_task": "RELEASE-00",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
33
coverage/task-packets/SRC-00-REMEDIATION.handoff.json
Normal file
33
coverage/task-packets/SRC-00-REMEDIATION.handoff.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "SRC-00-REMEDIATION",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"result": "resolved native source startup, exact intro resource, and XYZAC native/WASM/Worker evidence",
|
||||
"reports": [
|
||||
{"path": "coverage/xyzac-trt-native-wasm-parity.report.json", "sha256": "ec9c3d9062ab68ab542e5193852e7f8296a40c9c1813d9a303b0971cf4b89598"},
|
||||
{"path": "coverage/xyzac-trt-source-slice-inventory.report.json", "sha256": "69385c93662a6627dc6d83eaca851411ddf76156ae9aa85f56d4e029455e68ef"}
|
||||
],
|
||||
"resolved": [
|
||||
"run-5axis-rtcp.sh now uses the repository run-in-place launcher",
|
||||
"sim_lib.tcl recognizes xyzac-trt-kins and xyzbc-trt-kins",
|
||||
"INTRO_GRAPHIC uses the existing linuxcnc.gif exact manifest asset",
|
||||
"Worker loads xyzac-trt-headless_cmds.hal fixture and TASK_READY",
|
||||
"WASM C API supplies XYZAC five-joint kinematics and M428/M429/M430 transitions"
|
||||
],
|
||||
"checks": {
|
||||
"native_xyzac_xyzbc_startup": "passed",
|
||||
"native_wasm_kinematics_trace": "passed",
|
||||
"native_wasm_switchkins_trace": "passed",
|
||||
"xyzac_worker_case": "passed",
|
||||
"source_slice_self_hash": "passed",
|
||||
"native_ctest": "20/20",
|
||||
"wasm_kinematics_tests": "passed",
|
||||
"react_typecheck": "passed"
|
||||
},
|
||||
"evidence": {"control_count": 110, "menus": 80, "toolbar": 20, "keyboard": 10, "slices": 11, "direct_sources": 35, "unregistered_slices": 0, "js_authority": 0, "first_divergent_tick": null},
|
||||
"packet": {"path": "coverage/task-packets/SRC-00-REMEDIATION.json", "sha256": "855839e8a1e5ca5168330ab25a3dc6eebc87ce3f9b6e69475c53e2b74a2b4e33"},
|
||||
"next_task": "WASM-00",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
42
coverage/task-packets/SRC-00.handoff.json
Normal file
42
coverage/task-packets/SRC-00.handoff.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "SRC-00",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"result": "source inventory, native/WASM parity, and exact XYZAC Worker authority evidence verified",
|
||||
"reports": [
|
||||
{"path": "coverage/xyzac-trt-source-slice-inventory.report.json", "sha256": "601fb94f39681e382262b0ed6d6890f9db67e27a8ff4383b977fb073b46562e4"},
|
||||
{"path": "coverage/xyzac-trt-native-wasm-parity.report.json", "sha256": "f67633527c623e826c14d89687139d109d046fdeaf445fc754506a66c8262d8e"}
|
||||
],
|
||||
"checks": {
|
||||
"baseline": "passed",
|
||||
"download_index": "passed",
|
||||
"pointer": "passed",
|
||||
"source_slice_unittest": "passed",
|
||||
"source_slice_self_hash": "passed",
|
||||
"native_xyzac_xyzbc_startup": "passed",
|
||||
"native_wasm_kinematics_trace": "passed",
|
||||
"native_wasm_switchkins_trace": "passed",
|
||||
"xyzac_worker_case": "passed",
|
||||
"mjs_syntax": "passed",
|
||||
"react_typecheck": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"control_count": 110,
|
||||
"menus": 80,
|
||||
"toolbar": 20,
|
||||
"keyboard": 10,
|
||||
"slices": 11,
|
||||
"direct_sources": 35,
|
||||
"unregistered_slices": 0,
|
||||
"blocked_resources": 0,
|
||||
"js_authority": 0,
|
||||
"first_divergent_tick": null,
|
||||
"worker_state_hash": "fnv1a64:72275811a4320d7c"
|
||||
},
|
||||
"failure_samples": [],
|
||||
"packet": {"path": "coverage/task-packets/SRC-00.json", "sha256": "a13fa893653494bf12cee5e15c38cc6c74edc6ffcd02a10cb788c4a87e3cf37b"},
|
||||
"next_task": "WASM-00",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
45
coverage/task-packets/WASM-00-REMEDIATION.handoff.json
Normal file
45
coverage/task-packets/WASM-00-REMEDIATION.handoff.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "WASM-00-REMEDIATION",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "verified",
|
||||
"result": "selected XYZAC authority verified for the simulation scope; physical power-loss and Safari are accepted scope exclusions",
|
||||
"report": {"path": "coverage/xyzac-trt-wasm-authority-audit.report.json", "sha256": "279a9c2b0496e415cb3da25fc387ee245e826e942b67471a25796a3c23122205"},
|
||||
"implemented": [
|
||||
"sim_program C/WASM runtime owns selected XYZAC program load/control/interpreter/motion events",
|
||||
"selected XYZAC jog/home/limit validation routes through WASM motion queue and home-limit",
|
||||
"selected XYZAC snapshots omit JS compatibility planner state",
|
||||
"sim_io C/WASM owns spindle/tool/probe/ESTOP/recovery and HAL scalar writes",
|
||||
"sim_device_io C/WASM owns encoder/coolant/door/interlock/ack state",
|
||||
"Chromium SIGKILL/profile reopen and corruption detection verified",
|
||||
"Firefox Worker OPFS round-trip verified"
|
||||
],
|
||||
"tests": {
|
||||
"native_ctest": "20/20 passed",
|
||||
"react_typecheck_build": "passed",
|
||||
"xyzac_worker": "passed",
|
||||
"xyzac_program_authority": "passed",
|
||||
"xyzac_io_authority": "passed",
|
||||
"native_xyzac_xyzbc_startup": "passed",
|
||||
"native_wasm_parity": "passed",
|
||||
"chromium_opfs_crash": "passed",
|
||||
"chromium_opfs_corruption": "passed",
|
||||
"firefox_opfs_round_trip": "passed",
|
||||
"authority_audit": "passed"
|
||||
},
|
||||
"authority_matrix": {
|
||||
"program_interpreter": "verified",
|
||||
"motion_jog_home_limit": "verified",
|
||||
"task_state": "verified",
|
||||
"hal_io_tool_probe": "verified",
|
||||
"kinematics_rtcp_switchkins": "verified"
|
||||
},
|
||||
"accepted_scope_exclusions": [
|
||||
{"code": "PHYSICAL_POWER_LOSS_OUTSIDE_BROWSER", "status": "accepted_scope_exclusion"},
|
||||
{"code": "SAFARI_NOT_REQUIRED", "status": "accepted_scope_exclusion"}
|
||||
],
|
||||
"failure_samples": [],
|
||||
"next_task": "RTCP-01",
|
||||
"next_task_status": "queued",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
38
coverage/task-packets/WASM-00.handoff.json
Normal file
38
coverage/task-packets/WASM-00.handoff.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"schema": "task-handoff.v1",
|
||||
"task_id": "WASM-00",
|
||||
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
||||
"status": "blocked",
|
||||
"result": "XYZAC WASM authority audit completed; selected Worker trace is verified but JS authority and external recovery/browser boundaries remain open",
|
||||
"report": {"path": "coverage/xyzac-trt-wasm-authority-audit.report.json", "sha256": "36fdd77229015634dcde9f796e32eb0435ae2729dc4267aca28d081179a44d7f"},
|
||||
"packet": {"path": "coverage/task-packets/WASM-00.json", "sha256": "4bdb5ca36b7a57d977248693ebea2b76a6bc9cc7d3a8998d59983630a342e73e"},
|
||||
"checks": {
|
||||
"authority_audit_unittest": "passed",
|
||||
"report_self_hash": "passed",
|
||||
"xyzac_worker_trace": "passed",
|
||||
"worker_motion_authority": "wasm",
|
||||
"first_divergent_tick": null,
|
||||
"react_direct_wasm_pointer": "passed",
|
||||
"react_direct_opfs_writer": "passed"
|
||||
},
|
||||
"evidence": {
|
||||
"control_count": 110,
|
||||
"switchkins": ["M429", "M428", "M430"],
|
||||
"tick_sequence": [0, 0, 0],
|
||||
"state_hash": "fnv1a64:72275811a4320d7c",
|
||||
"js_authority_call_count": 0,
|
||||
"js_authority_findings": 3,
|
||||
"blocker_count": 5,
|
||||
"candidate_eligible": false
|
||||
},
|
||||
"failure_samples": [
|
||||
{"code": "JS_PROGRAM_CONTROL_FLOW", "detail": "ProgramRunner executes control directives and schedules interpreter blocks from JS"},
|
||||
{"code": "JS_MOTION_STATE_MIRROR", "detail": "MotionState owns XYZAC-relevant HOME/JOG/limit/fault transitions"},
|
||||
{"code": "JS_COMPATIBILITY_PLANNER_PRESENT", "detail": "AuthoritativeRuntime remains constructed and serializable for the selected session"},
|
||||
{"code": "BROWSER_OPFS_ORACLE_BLOCKED", "detail": "physical OPFS crash/restart and Firefox/Safari matrix are unavailable"},
|
||||
{"code": "FULL_XYZAC_AUTHORITY_MATRIX_PENDING", "detail": "HAL/IO/tool/probe and non-selected authority closure remain outside WASM-00"}
|
||||
],
|
||||
"next_task": "RTCP-01",
|
||||
"next_task_status": "blocked",
|
||||
"release_status": "STOP_RELEASE"
|
||||
}
|
||||
Reference in New Issue
Block a user