Files
linuxcncWebWASM/coverage/wasm-feature-matrix-t5.report.json

1310 lines
41 KiB
JSON

{
"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"
}
]
}