{ "candidate_eligible": false, "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", "checks": { "context_id": { "status": "verified", "value": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1" }, "domain_count": { "count": 9, "status": "verified" }, "input_closure": { "missing": [], "status": "verified" }, "no_selected_case_promotion": { "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", "status": "verified" }, "release_stop_preserved": { "candidate_eligible": false, "release_action": "STOP_RELEASE", "status": "verified" }, "required_fields": { "status": "verified" }, "status_vocabulary": { "status": "verified" }, "test_execution": { "blocked_commands": 0, "status": "verified" } }, "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "counts": { "domains": 9, "statuses": { "blocked": 9, "queued": 0, "verified": 0 }, "test_blocked": 0, "test_commands": 28 }, "implementation_status": "verified", "inputs": [ { "bytes": 7647, "path": "context-lock.json", "role": "context_lock", "sha256": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e", "status": "present" }, { "bytes": 6180, "path": "coverage/browser-matrix-remediation.report.json", "role": "matrix_browser_ux", "sha256": "8eacc6c6e168df19fc2082c1788ce3e5c025e9b528cccc0c5dcf62a84a8664d7", "status": "present" }, { "bytes": 5534, "path": "coverage/browser-performance-matrix.report.json", "role": "matrix_browser_ux", "sha256": "d3386dc5839d4fed2bdae7174abd081736fe39555f1710e0e8d344f284c18434", "status": "present" }, { "bytes": 3241, "path": "coverage/browser-simulation-s3.report.json", "role": "matrix_browser_ux", "sha256": "0a59069079565bf06d7dfe16fd3c2cfec799c4b31f9094ca90e5e30bef334082", "status": "present" }, { "bytes": 827383, "path": "coverage/configuration-resource-remediation.report.json", "role": "matrix_configuration", "sha256": "8036cb8bc63957a82eaed6fbb249bf61b9fd9ab136e746a47e8e7f48a9a2f21c", "status": "present" }, { "bytes": 14796472, "path": "coverage/configuration-startup-closure.report.json", "role": "matrix_configuration", "sha256": "95b106e6174cabea38295e5cce9e01b143fe1d9956a2285897e09465c949363b", "status": "present" }, { "bytes": 6269, "path": "coverage/device-io-s2.report.json", "role": "matrix_io", "sha256": "e45b5ff3492a1fb98b1ff916eb9e37b938a6a0afc8c9394cf61a45a0b04c5bbf", "status": "present" }, { "bytes": 225468, "path": "coverage/full-configuration-startup-matrix.report.json", "role": "matrix_configuration", "sha256": "9345288c2e5353d382a17e2ff18f881d8516f2e792920325c2b5cc28ac17a2f9", "status": "present" }, { "bytes": 7073, "path": "coverage/gui-browser-visual-fe-m4.report.json", "role": "matrix_browser_ux", "sha256": "4a91556173f36fdac53b94352d1ad732a419199c4c329320fb044a53ec55dcdf", "status": "present" }, { "bytes": 2535591, "path": "coverage/hal-component-manifest.report.json", "role": "matrix_hal", "sha256": "bef0cb643203ac6ef239d0d5c975ef4d2b30902d09a77c1a3103f7983ee2f5a6", "status": "present" }, { "bytes": 2523, "path": "coverage/hal-graph.report.json", "role": "matrix_hal", "sha256": "2fe96f9b3ae0e6143be95c0a9378f40147eb2e2678c23de3d92f19cd8b6b0fc9", "status": "present" }, { "bytes": 462, "path": "coverage/hal-runtime.report.json", "role": "matrix_hal", "sha256": "5fc23403bd41c5b6a683d39df98395c6ec64fc8497715109da6e01d359a20dbf", "status": "present" }, { "bytes": 1582, "path": "coverage/io-ack.report.json", "role": "matrix_io", "sha256": "516de819b6875559139adccc1584534f8b6a92be198c5982ad295ea2b37aa538", "status": "present" }, { "bytes": 7158, "path": "coverage/io-runtime.report.json", "role": "matrix_io", "sha256": "a5bf67b642b7812796ab0a168d601bb24eda8ceec2418ffc02fc718fa642768e", "status": "present" }, { "bytes": 20284, "path": "coverage/kinematics-oracle.report.json", "role": "matrix_kinematics", "sha256": "4dc09ea52d1cc32cd3c4f006b1c2f880e54ca147e6d4f651cee4b67626f56d05", "status": "present" }, { "bytes": 12269, "path": "coverage/kinematics-registry.report.json", "role": "matrix_kinematics", "sha256": "36d46128038bf0dbd73e1b57194c388d8d433e088e1ed67922033f6d9c0cf900", "status": "present" }, { "bytes": 9545, "path": "coverage/kinematics-runtime.report.json", "role": "matrix_kinematics", "sha256": "7090db32ac2af28e13c115b63ba7b894596efe25d8eec9fc27f097db931fde2c", "status": "present" }, { "bytes": 4209, "path": "coverage/linuxcnc-source-semantics-contract.json", "role": "source_semantics_contract", "sha256": "e15662c7afc1b124f1bc5da568f48f86c93cd344727b44351e48c98dd9efed8f", "status": "present" }, { "bytes": 12170, "path": "coverage/linuxcnc-source-test-execution-s5.report.json", "role": "matrix_rs274", "sha256": "49f911fc8ecf6ceaee25be2dc42b2f1ea331e3f0ac1a480335ffdd69c086d21b", "status": "present" }, { "bytes": 6273648, "path": "coverage/manifest.jsonl", "role": "manifest_seed", "sha256": "5d353f5f11053b520acdb0e401d957e3cfb9e47be1d22b6a9848cc7ec1bf1416", "status": "present" }, { "bytes": 12457, "path": "coverage/motion-runtime.report.json", "role": "matrix_tp", "sha256": "fb2d36130bf3168bea9b13fe08cc2225d72190a7aa9c99a0f0db7f148ac171df", "status": "present" }, { "bytes": 2436, "path": "coverage/python-runtime-closure.report.json", "role": "matrix_python_remap", "sha256": "f2e81ac33c971766f759e92aaba1a358a9bc37bd84b53e574d2295c07ac51d8f", "status": "present" }, { "bytes": 4914, "path": "coverage/python-worker-bridge.report.json", "role": "matrix_python_remap", "sha256": "977be3b05a9d07cf2534f9646cd1673ba637dc15d896cdf905a539b855934edf", "status": "present" }, { "bytes": 3170, "path": "coverage/recovery-offline-fault-matrix.report.json", "role": "matrix_recovery", "sha256": "9f969d479806f8b7300ca7db368872add00738da4cf0dabe08f834981ddc33b9", "status": "present" }, { "bytes": 3704, "path": "coverage/rs274-interpreter-closure.report.json", "role": "matrix_rs274", "sha256": "f89b09eb912bcca4f75cf0392b889e0051fcdc61b6b2f14663c72fca63b8f608", "status": "present" }, { "bytes": 10529, "path": "coverage/runtime-extensions-s8-09.report.json", "role": "matrix_hal", "sha256": "2e5ef1318e681b96d3d01361c3ab4bb13ac61f06be101b2ab7991fc6caa629cf", "status": "present" }, { "bytes": 297684, "path": "coverage/sim-case-matrix-s8-06.report.json", "role": "matrix_configuration", "sha256": "0ee1db9f8cec6718a438598eaa193b2f7a1b57b5ad52f151da17ca5d4a32dfe2", "status": "present" }, { "bytes": 1925705, "path": "coverage/source-index.jsonl", "role": "source_index", "sha256": "2a78438ab4a685476cc57f10d15e2ca3ee688892a7696081a135018638031404", "status": "present" }, { "bytes": 11813, "path": "coverage/virtual-device-fault-matrix.report.json", "role": "matrix_io", "sha256": "6cad7235733178f045b7dda3be16b5ebac003e91b2b9709494a85da06b3cf11b", "status": "present" }, { "bytes": 6188, "path": "coverage/wasm-canonical-state-t4.report.json", "role": "matrix_kinematics", "sha256": "5ed80c6e557787247825b746eb1f18bd94b7da88f00e24b559c9e4d636243da4", "status": "present" }, { "bytes": 6925, "path": "coverage/wasm-motion-authority-t3.report.json", "role": "matrix_tp", "sha256": "8424f3bae26ff0b16868ddc1dde4f40e14fc64288aea3d9aba983cc46d62c967", "status": "present" }, { "bytes": 20798, "path": "coverage/wasm-only-source-audit.report.json", "role": "source_audit", "sha256": "e62fecddd191827a08528ec5036e36addc85482ccf5c17066b6700e303c0f4fd", "status": "present" }, { "bytes": 2225, "path": "coverage/workspace-migration.report.json", "role": "matrix_recovery", "sha256": "ce7451b5c428f170f37c6357877f08f0c2f32dc9502490cae3fe947cc43252e8", "status": "present" }, { "bytes": 1446, "path": "coverage/workspace-recovery.report.json", "role": "matrix_recovery", "sha256": "b6140a4fd0f7b7c8ced8c19685cee086d78e27910dc9ecab7d28c201a0ae85b0", "status": "present" }, { "bytes": 8235, "path": "docs/linuxcnc-web-wasm-wasm-only-migration-plan.md", "role": "migration_plan", "sha256": "aaadfcbb5e0c4dabd2785a3a93370021657c491050be895acf5f0c5a8f5d976c", "status": "present" }, { "bytes": 27266096, "file_count": 1693, "kind": "directory", "path": "linuxcnc/configs/sim", "role": "matrix_configuration", "sha256": "18d4ee41860dd49f19b84c29f6e93d5425f43483770ef151f096629dd5f50d6a", "status": "present" }, { "bytes": 11423364, "file_count": 415, "kind": "directory", "path": "linuxcnc/lib/python", "role": "matrix_python_remap", "sha256": "bcb686745f56dc94b2f58193533c7ded6b8d280510b73c386d1383c22023e429", "status": "present" }, { "bytes": 92894, "file_count": 3, "kind": "directory", "path": "linuxcnc/src/emc/iotask", "role": "matrix_io", "sha256": "88e7b43985fb99952846bc5c610edbc02525c33be3ba896bfa103c66d6f8fca3", "status": "present" }, { "bytes": 241271, "file_count": 38, "kind": "directory", "path": "linuxcnc/src/emc/kinematics", "role": "matrix_kinematics", "sha256": "4c26c0b886f102a65c120c367e6f0b853e4e26110958494b6ff79d28a5dfe51c", "status": "present" }, { "bytes": 258126, "file_count": 16, "kind": "directory", "path": "linuxcnc/src/emc/tp", "role": "matrix_tp", "sha256": "1adab13d80e1483691b98744c69d21e3ae9822abe06cae6b53184b2c85fd1b11", "status": "present" }, { "bytes": 5810200, "file_count": 548, "kind": "directory", "path": "linuxcnc/src/hal", "role": "matrix_hal", "sha256": "2b961826f284e071b5ec47e2a1beaba4ec4ded58ad1a0db70403522bc73890c8", "status": "present" }, { "bytes": 501667, "file_count": 342, "kind": "directory", "path": "linuxcnc/tests/interp", "role": "matrix_rs274", "sha256": "c5135b59efc6733b0bae82bc9dc3329e39b3b8343d14d20ff6d94882a0bdc941", "status": "present" }, { "bytes": 132198, "file_count": 165, "kind": "directory", "path": "linuxcnc/tests/remap", "role": "matrix_python_remap", "sha256": "1d68282f936a6167e017fe3fa1335f40b0d040d12e3061a083170ab3252d1fbb", "status": "present" }, { "bytes": 1902, "path": "python-runtime/manifest.json", "role": "matrix_python_remap", "sha256": "340faa6ef5bedcaeb0583f463e6b89cb442ddf1d83d7e6ee8d96cee438fe4213", "status": "present" }, { "bytes": 2423, "path": "wasm-core/include/sim_hal.h", "role": "matrix_hal", "sha256": "2ae61e361df8388f6c02ae880a9d726988a8370b10b2d07066749f2033662160", "status": "present" }, { "bytes": 2656, "path": "wasm-core/include/sim_interpreter.h", "role": "matrix_rs274", "sha256": "38ab38bc55c47314a68d2d71ef39d3f3882819bddfd19cb0d114c7781b1c0a03", "status": "present" }, { "bytes": 4423, "path": "wasm-core/include/sim_io.h", "role": "matrix_io", "sha256": "d84e9ab0bcf9ff138f8c8a57b28337605d731ff796577a8ab748d708f97daf9b", "status": "present" }, { "bytes": 12375, "path": "wasm-core/include/sim_kinematics.h", "role": "matrix_kinematics", "sha256": "34b08db612056432e08705951032418bf6f6cd2c285bde5743515588fbe484ec", "status": "present" }, { "bytes": 1856, "path": "wasm-core/include/sim_kinematics_home_limit.h", "role": "matrix_kinematics", "sha256": "ad4b4fc84efcc9a2dc6555d7ed69ab613eee21db7fef0d037d0a4ca1063309e1", "status": "present" }, { "bytes": 2498, "path": "wasm-core/include/sim_motion_queue.h", "role": "matrix_tp", "sha256": "89903eda3c4c54e932c5351a3681c4dd1333808b893302a55c3cee31924d165c", "status": "present" }, { "bytes": 41841, "path": "wasm-core/src/sim_hal.c", "role": "matrix_hal", "sha256": "3452009d839c89362dfeb793504cba26e45ea85f034ad5609859ec19cce3e9c3", "status": "present" }, { "bytes": 37556, "path": "wasm-core/src/sim_interpreter.c", "role": "matrix_rs274", "sha256": "1685ad353b40ede3074725d7f9f1c6c245fb1e77bb5ceb60ca39a24655365d61", "status": "present" }, { "bytes": 27678, "path": "wasm-core/src/sim_io.c", "role": "matrix_io", "sha256": "2ceacdb168a1f6dddb36761b93f62e4c39b3a6249c0a91a740ecf924dce217b3", "status": "present" }, { "bytes": 14463, "path": "wasm-core/src/sim_motion_queue.c", "role": "matrix_tp", "sha256": "094d28a21c8f88dbe981c49e7216aa6d88afc2afdd9e54326edd4cd417ba13ba", "status": "present" }, { "bytes": 37270, "path": "web/react/src/App.tsx", "role": "matrix_browser_ux", "sha256": "e81e38a8ea5217e4d02a58642b5a238ab65888eb8ea1403f58700cb85a141b58", "status": "present" }, { "bytes": 70586, "path": "web/worker/sim-session.mjs", "role": "matrix_recovery", "sha256": "e83eab02bca8f71615dae96c7aa71ad912c21353af9504b2f74cea6b3c13fa43", "status": "present" }, { "bytes": 12551, "path": "web/workspace/configuration-startup.mjs", "role": "matrix_configuration", "sha256": "e375abb6dcc0e0657f038356a68f5932c360bcf7fdf5ff906218a37b9012924a", "status": "present" }, { "bytes": 7054, "path": "web/workspace/configuration.mjs", "role": "matrix_configuration", "sha256": "89509d6604d8f3bcddc46c084f058c232bc56142e0e7dd01726b96f920b2585e", "status": "present" }, { "bytes": 1771, "path": "web/workspace/linuxcnc-source-semantics.mjs", "role": "source_semantics_implementation", "sha256": "b15ebfb52de87f46ce03127b6be4f5c0dc6768f5b3554c97b726649838a5e3dc", "status": "present" }, { "bytes": 8767, "path": "web/workspace/recovery.mjs", "role": "matrix_recovery", "sha256": "d4bae4220a3348d7bb66991472d1331045ab60bbe70c93f3b589bf0e8d05d14d", "status": "present" } ], "known_blockers": [ "full LinuxCNC source oracle and expected/checkresult closure", "official kinematics/recovery oracle absent from locked source", "configuration resources and startup blockers remain explicit", "Firefox/Safari minimums and physical OPFS recovery are not verified" ], "matrix": [ { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "verified", "normal": "verified", "recovery": "queued" }, "differences": [ "source expected/checkresult parity is not closed for every interpreter fixture", "selected canonical events do not establish complete LinuxCNC G/M/canned-cycle parity" ], "id": "rs274", "inputs": [ "coverage/rs274-interpreter-closure.report.json", "coverage/linuxcnc-source-test-execution-s5.report.json", "wasm-core/include/sim_interpreter.h", "wasm-core/src/sim_interpreter.c", "linuxcnc/tests/interp" ], "native": { "status": "verified" }, "owner": "simulation-runtime", "status": "blocked", "stop_reason": "complete RS274 source-test and canonical callback matrix remains open", "tests": [ [ "node", "web/worker/test_source_interpreter_s5.mjs" ], [ "node", "web/worker/test_wasm_motion_event.mjs" ] ], "title": "RS274 interpreter and canonical events", "wasm": { "authority": "sim_interpreter", "status": "verified" }, "worker": { "authority": "wasm_motion_event", "status": "verified" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "verified", "normal": "verified", "recovery": "verified" }, "differences": [ "fixed-tick selected-case queue is verified, but full TP numeric golden coverage is not", "blend/exact-stop upstream oracle and all configuration families remain pending" ], "id": "tp", "inputs": [ "coverage/motion-runtime.report.json", "coverage/wasm-motion-authority-t3.report.json", "wasm-core/include/sim_motion_queue.h", "wasm-core/src/sim_motion_queue.c", "linuxcnc/src/emc/tp" ], "native": { "status": "verified" }, "owner": "simulation-runtime", "status": "blocked", "stop_reason": "full TP/source oracle matrix and cross-case numeric parity are not closed", "tests": [ [ "node", "web/worker/test_source_g6164_s7_02.mjs" ], [ "node", "web/worker/test_wasm_motion_authority.mjs" ], [ "node", "web/worker/test_wasm_motion_checkpoint.mjs" ] ], "title": "TP lookahead, blend, exact-stop and motion queue", "wasm": { "authority": "sim_motion_queue", "status": "verified" }, "worker": { "authority": "wasm_motion_queue", "status": "verified" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "verified", "normal": "verified", "recovery": "verified" }, "differences": [ "trivkins selected-case home/limit and several runtime families are implemented", "official kinematics oracle is absent from the locked source; remaining families are not authoritative" ], "id": "kinematics", "inputs": [ "coverage/kinematics-runtime.report.json", "coverage/kinematics-oracle.report.json", "coverage/kinematics-registry.report.json", "coverage/wasm-canonical-state-t4.report.json", "wasm-core/include/sim_kinematics.h", "wasm-core/include/sim_kinematics_home_limit.h", "linuxcnc/src/emc/kinematics" ], "native": { "status": "blocked" }, "owner": "simulation-runtime", "status": "blocked", "stop_reason": "SOURCE_BLOCKED official kinematics oracle prevents full native/WASM/Worker matrix closure", "tests": [ [ "node", "web/worker/test_authoritative_kinematics_s6_04.mjs" ], [ "node", "web/worker/test_wasm_canonical_state.mjs" ], [ "node", "web/worker/test_axis3_tutorial_motion.mjs" ] ], "title": "Kinematics registry, FK/IK and home/limit", "wasm": { "authority": "sim_kinematics", "status": "verified" }, "worker": { "authority": "wasm_home_limit", "case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini", "status": "verified" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "queued", "normal": "verified", "recovery": "verified" }, "differences": [ "static manifest and fixed-tick virtual components are covered", "dynamic loadusr, undeclared components and host-backed HAL remain blocked" ], "id": "hal", "inputs": [ "coverage/hal-runtime.report.json", "coverage/hal-component-manifest.report.json", "coverage/hal-graph.report.json", "coverage/runtime-extensions-s8-09.report.json", "wasm-core/include/sim_hal.h", "wasm-core/src/sim_hal.c", "linuxcnc/src/hal" ], "native": { "status": "verified" }, "owner": "simulation-runtime", "status": "blocked", "stop_reason": "complete HAL component/source graph cannot accept host or dynamic loader paths", "tests": [ [ "node", "web/worker/test_hal_runtime.mjs" ], [ "node", "web/worker/test_hal_preflight.mjs" ], [ "node", "web/worker/test_plc_runtime.mjs" ] ], "title": "HAL graph, components, PLC and fixed-tick execution", "wasm": { "authority": "sim_hal", "status": "verified" }, "worker": { "authority": "static_hal_manifest", "status": "verified" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "verified", "normal": "verified", "recovery": "verified" }, "differences": [ "virtual device normal/fault/replay and selected-case tool/IO paths are deterministic", "transport-specific acknowledgements and real hardware remain virtual or REAL-EXCLUDED" ], "id": "io", "inputs": [ "coverage/io-runtime.report.json", "coverage/device-io-s2.report.json", "coverage/io-ack.report.json", "coverage/virtual-device-fault-matrix.report.json", "wasm-core/include/sim_io.h", "wasm-core/src/sim_io.c", "linuxcnc/src/emc/iotask" ], "native": { "status": "verified" }, "owner": "simulation-runtime", "status": "blocked", "stop_reason": "full source IO/device matrix includes real transport and hardware paths outside Worker scope", "tests": [ [ "node", "web/worker/test_device_io.mjs" ], [ "node", "web/worker/test_io_ack.mjs" ], [ "node", "web/worker/test_virtual_devices.mjs" ], [ "node", "web/worker/test_axis3_tutorial_tool_io.mjs" ] ], "title": "IO, spindle, tool, probe, coolant, estop and acknowledgements", "wasm": { "authority": "sim_io", "status": "verified" }, "worker": { "authority": "virtual_devices", "status": "verified" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "queued", "normal": "verified", "recovery": "verified" }, "differences": [ "allowlisted Pyodide and Worker callback slices verify capability denial and replay", "host imports, arbitrary modules and complete VCP/plugin closure remain unavailable" ], "id": "python_remap", "inputs": [ "coverage/python-runtime-closure.report.json", "coverage/python-worker-bridge.report.json", "coverage/runtime-extensions-s8-09.report.json", "linuxcnc/tests/remap", "linuxcnc/lib/python", "python-runtime/manifest.json" ], "native": { "reason": "host Python capabilities are excluded", "status": "blocked" }, "owner": "python-runtime", "status": "blocked", "stop_reason": "REAL-EXCLUDED host Python and dynamic plugin capabilities prevent full parity claim", "tests": [ [ "node", "web/worker/test_python_bridge.mjs" ], [ "node", "web/worker/test_python_callbacks_s3.mjs" ], [ "node", "web/worker/test_source_do_s7_01.mjs" ], [ "node", "web/worker/test_source_interpreter_s5.mjs" ] ], "title": "Python, remap, O-word, filter and VCP callbacks", "wasm": { "authority": "pyodide_allowlist", "status": "verified" }, "worker": { "authority": "python_bridge", "status": "verified" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "queued", "normal": "verified", "recovery": "queued" }, "differences": [ "resolver and exact-path diagnostics are deterministic", "full matrix retains missing/unindexed/HAL/INI/STARTUP blockers; source-defined optional OPEN_FILE does not block startup" ], "id": "configuration", "inputs": [ "coverage/full-configuration-startup-matrix.report.json", "coverage/configuration-startup-closure.report.json", "coverage/configuration-resource-remediation.report.json", "coverage/sim-case-matrix-s8-06.report.json", "web/workspace/configuration.mjs", "web/workspace/configuration-startup.mjs", "linuxcnc/configs/sim" ], "native": { "reason": "full startup matrix retains blocked resources", "status": "blocked" }, "owner": "workspace-runtime", "status": "blocked", "stop_reason": "configuration resources and startup blockers remain; no basename substitution or blocked-case promotion is allowed", "tests": [ [ "node", "web/worker/test_configuration_startup_runtime.mjs" ], [ "node", "web/worker/test_sim_case_matrix_s8_06.mjs" ], [ "node", "web/worker/test_configuration_preflight.mjs" ] ], "title": "INI, HAL/resource resolution and configuration startup", "wasm": { "authority": "configuration_startup", "status": "blocked" }, "worker": { "authority": "configuration_preflight", "status": "blocked" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "queued", "normal": "verified", "recovery": "verified" }, "differences": [ "logical checkpoint/trace/import/replay hashes are stable for the selected case", "physical power-loss/OPFS corruption and official recovery oracle remain unverified" ], "id": "recovery", "inputs": [ "coverage/recovery-offline-fault-matrix.report.json", "coverage/workspace-recovery.report.json", "coverage/workspace-migration.report.json", "coverage/wasm-canonical-state-t4.report.json", "web/workspace/recovery.mjs", "web/worker/sim-session.mjs" ], "native": { "status": "verified" }, "owner": "workspace-runtime", "status": "blocked", "stop_reason": "browser physical-crash and official recovery oracle inputs remain blocked", "tests": [ [ "node", "web/worker/test_wasm_canonical_state_checkpoint.mjs" ], [ "node", "web/worker/test_recovery_offline_faults.mjs" ], [ "node", "web/worker/test_workspace_session_integration.mjs" ] ], "title": "Checkpoint, trace, journal, migration, rollback and offline recovery", "wasm": { "authority": "canonical_state_checkpoint", "status": "verified" }, "worker": { "authority": "workspace_session", "status": "verified" } }, { "coverage": { "boundary": "verified", "error": "verified", "nonfinite": "queued", "normal": "verified", "recovery": "blocked" }, "differences": [ "Chromium production preview and Worker protocol are verified for the selected workflow", "Firefox/Safari minimums are not locked, Safari is unavailable here, and OPFS physical crash remains open" ], "id": "browser_ux", "inputs": [ "coverage/gui-browser-visual-fe-m4.report.json", "coverage/browser-performance-matrix.report.json", "coverage/browser-matrix-remediation.report.json", "coverage/browser-simulation-s3.report.json", "web/react/src/App.tsx", "web/worker/sim-session.mjs" ], "native": { "reason": "native is not a browser UX oracle", "status": "queued" }, "owner": "frontend-runtime", "status": "blocked", "stop_reason": "three-browser minimum matrix and physical OPFS recovery are release blockers", "tests": [ [ "node", "web/worker/test_axis3_selected_case.mjs" ], [ "node", "web/worker/test_axis3_visible_completion.mjs" ], [ "npm", "--prefix", "web/react", "run", "typecheck" ] ], "title": "Worker protocol, React UX, WebGL and browser compatibility", "wasm": { "authority": "dedicated_worker_wasm", "status": "verified" }, "worker": { "authority": "protocol_v1", "status": "verified" } } ], "next_transition": "T6-FUNCTION-CLOSURE-01 after source-backed owner inputs and matrix blockers are resolved", "open_boundaries": [ "selected 3axis-tutorial is evidence for a slice only", "REAL-EXCLUDED hardware, host paths, realtime kernel and dynamic loaders remain excluded", "HAL/IO/tool/probe compatibility outside the virtual fixed-tick adapters remains bounded" ], "release_action": "STOP_RELEASE", "report_sha256": "f58cd9c521a04377d40fdffa687e2b5b07d13f489057078be1a040b9dad75eab", "schema": "wasm-feature-matrix-t5.v1", "source_of_truth": "linuxcnc source -> native/WASM core -> Worker projection -> React rendering", "status": "blocked", "task_id": "T5-FULL-MATRIX-01", "tests": [ { "commands": [ { "command": [ "node", "web/worker/test_source_interpreter_s5.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "ddd5df1f071c70cb66f6caed3a1a516c5aaaa7663e4688020c460d586927d1c7" }, { "command": [ "node", "web/worker/test_wasm_motion_event.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "a9a55cb64052d39c3b7ec58f0124187003e645f4b513d0b184c79b9a3182a891" } ], "domain": "rs274" }, { "commands": [ { "command": [ "node", "web/worker/test_source_g6164_s7_02.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "d79b61dae572272413a54b0ccccd2008de1f20125c39b5dd30a1920351e21e4e" }, { "command": [ "node", "web/worker/test_wasm_motion_authority.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "3e66880d4e8a0b6205a351178c0f68f4eae72094c78bde514eee0f45e66b25af" }, { "command": [ "node", "web/worker/test_wasm_motion_checkpoint.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "3b24f305766e7b7442a30a6cfa60e46d0669689f4960d1a7b67c41878878f639" } ], "domain": "tp" }, { "commands": [ { "command": [ "node", "web/worker/test_authoritative_kinematics_s6_04.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "0251b25272a27dd98076036be908a71a187d56407fd96fd8489d13c849160d36" }, { "command": [ "node", "web/worker/test_wasm_canonical_state.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "2423ec3d9cbc8fca56010ba037ea85649e8b668ce4b4e20d585544cb87ecebe4" }, { "command": [ "node", "web/worker/test_axis3_tutorial_motion.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "09875bd9491a95f43f8891a26663bb7be5704be84a75d686146c8c77ffb4ea94" } ], "domain": "kinematics" }, { "commands": [ { "command": [ "node", "web/worker/test_hal_runtime.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "7dcb47ba0dcd86be421b1a3d133ed0b4951d2e710d7b518f0a4de74406f47227" }, { "command": [ "node", "web/worker/test_hal_preflight.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "59f10fd8bee5e3232ee1b221981792a68d08d48beef6ed83e82971f0faebf398" }, { "command": [ "node", "web/worker/test_plc_runtime.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "901be8b4abe53d8fb0a01eafe6ba448280d9446b05f48e1cd662cdada13cdc0f" } ], "domain": "hal" }, { "commands": [ { "command": [ "node", "web/worker/test_device_io.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "f539ac2a59a40973439f44683e29e473139cd70d1524aac72f99b64689196098" }, { "command": [ "node", "web/worker/test_io_ack.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "a277ff07898a13759e86587e59cd7826d8f2403d8fbaffb74e8d26f5e15b52e2" }, { "command": [ "node", "web/worker/test_virtual_devices.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "daa4c0f7b69fac765297984aeb95539da4643416b73634f4773a9eba52dff8dc" }, { "command": [ "node", "web/worker/test_axis3_tutorial_tool_io.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "d542bc8f3de4d1434b30ff54aaf03e1d46cb5986e487296ff60087dc5ed2ea89" } ], "domain": "io" }, { "commands": [ { "command": [ "node", "web/worker/test_python_bridge.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "5a0211cf093d9c498f4ddf4009190833332ec1226310f5e5e2eace604a5e9060" }, { "command": [ "node", "web/worker/test_python_callbacks_s3.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "bc8517bff512c618270adcc856801db822b9c7d3ce13cae5c249c8e39ee99e85" }, { "command": [ "node", "web/worker/test_source_do_s7_01.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "84233a11d16f6915e6acbe3bca61324a694ca625a3f2ce159f01ca94f394496b" }, { "command": [ "node", "web/worker/test_source_interpreter_s5.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "ddd5df1f071c70cb66f6caed3a1a516c5aaaa7663e4688020c460d586927d1c7" } ], "domain": "python_remap" }, { "commands": [ { "command": [ "node", "web/worker/test_configuration_startup_runtime.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "7956e3bac69532da76025282b51a6d63b903fc94a6791fb1f2f0af3a9d697537" }, { "command": [ "node", "web/worker/test_sim_case_matrix_s8_06.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "489263f0b6a3250f526596b5349801ab4e2e9f4ad2ef34f4cef3c556b29905fb" }, { "command": [ "node", "web/worker/test_configuration_preflight.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "1684f25cda88240f009a6c855ce2e50ccda42fb629d21e29a6d474880651e888" } ], "domain": "configuration" }, { "commands": [ { "command": [ "node", "web/worker/test_wasm_canonical_state_checkpoint.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "bc8689a3119a812d2e7fc59a56d0c39eaa9002fd51bc49455d41409fc3614166" }, { "command": [ "node", "web/worker/test_recovery_offline_faults.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "7a62245e494eb4855f1668dab5f6577cba3e5b5e3d179798f33c0742ab5613e7" }, { "command": [ "node", "web/worker/test_workspace_session_integration.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "0e1cad80e126a491b05503cd6c6c676b91167511f59c579f969adab51df64247" } ], "domain": "recovery" }, { "commands": [ { "command": [ "node", "web/worker/test_axis3_selected_case.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "dfb469ab07f3c6c33a0d5834d7857bb84daef79904d6e6f783bf90928b833674" }, { "command": [ "node", "web/worker/test_axis3_visible_completion.mjs" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "25438e9c7c6d69b80191148e7a3ba9d46505384187899348c60f6dd0c9f1a39d" }, { "command": [ "npm", "--prefix", "web/react", "run", "typecheck" ], "returncode": 0, "status": "verified", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout_sha256": "e3bd90442e638c272f371a98c498e8204369416e1ac6f8e8b2565857b9fbdba0" } ], "domain": "browser_ux" } ] }