{ "boundaries": [ "upstream canonical logger parity remains SOURCE_BLOCKED; DO/ENDDO and G64/G61 now have Worker adapters", "remap/filter Python is represented only through allowlisted PythonCallbacks; host imports remain REAL-EXCLUDED", "source expected/checkresult hashes are evidence inputs, not an unverified parity claim" ], "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "counts": { "fixture_files": 26, "passed": 8, "pending": 0, "selected_cases": 8, "worker_task_motion_pending": 0 }, "execution": { "command": [ "node", "web/worker/test_source_interpreter_s5.mjs" ], "returncode": 0, "status": "PASSED", "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "stdout_sha256": "8044dce216c91826bd03de964775cc75b4e34a19e2122b273f46ae8bfed63adc" }, "expected_checkresult_comparison": { "compared_byte_for_byte": false, "fixture_hashes_verified": true, "reason": "locked source expected/checkresult files are hashed and retained; upstream canonical logger is unavailable in this Worker adapter", "status": "SOURCE_BLOCKED" }, "parse_error": null, "pending_adapters": [], "report_sha256": "a0cc9567e85814a69d43ab535f3c7826f66a0289bc3134519600fab35643b6aa", "schema": "linuxcnc-source-interpreter-execution.v1", "scope": [ "tests/interp/**", "tests/remap/**", "tests/oword/**", "filter capability boundary" ], "status": "verified", "task_id": "S5-04", "wasm_core": { "logical_tick": false, "runner": "build-wasm/linuxcnc-sim-core.wasm", "status": "PASSED" }, "worker_golden": { "aggregate_hash": "fnv1a64:32ac09b142f254d0", "boundaries": [ "G64/G61 modal motion is represented by the Worker motion_control state; upstream canonical logger parity remains SOURCE_BLOCKED", "remap Python handlers are represented by allowlisted PythonCallbacks; host imports remain REAL-EXCLUDED", "expected/checkresult bytes are hashed and never treated as passed without an adapter result" ], "cases": [ { "adapter": "WORKER_SIM_ADAPTER", "fixture": [ { "bytes": 180, "path": "linuxcnc/tests/interp/oword-bug315/test.ngc", "sha256": "a6d38015aab2a29b15911ac58953bf234d2d5e086867dc31246e5146957e4822" }, { "bytes": 660, "path": "linuxcnc/tests/interp/oword-bug315/expected", "sha256": "40aa501232fe5fe516341480fb35735076653fce2224b6a17f1b54b0a338b5b7" }, { "bytes": 75, "path": "linuxcnc/tests/interp/oword-bug315/test.sh", "sha256": "5aca3854d97d0124e6dd9289ed71922ec287c2fcea27f7836ee6a4c21a1479fd" } ], "id": "source-test:linuxcnc/tests/interp/oword-bug315/test.sh", "result": { "canonical": "{\"a\":0,\"b\":0,\"c\":0,\"distance_mode\":90,\"feed\":0,\"line\":4,\"modal_hash\":13626864533805933641,\"motion_mode\":1,\"plane\":17,\"program_end\":1,\"speed\":0,\"spindle_mode\":5,\"status\":0,\"units\":21,\"u\":0,\"v\":0,\"w\":0,\"x\":0,\"y\":0,\"z\":0}", "expected_status": "completed", "interpreter_state_hash": "fnv1a64:00000000270e6260", "line": 14, "observed_detail": null, "observed_status": "completed", "source_hash": "fnv1a64:e1da3f5c4c27be39" }, "result_hash": "fnv1a64:a3127bfb71663529" }, { "adapter": "WORKER_SIM_ADAPTER", "fixture": [ { "bytes": 236, "path": "linuxcnc/tests/oword/sub.0/test.ngc", "sha256": "91b6257cc40d83f39d7ceb39540d0e50819747515340a38947b90c37562e3614" }, { "bytes": 893, "path": "linuxcnc/tests/oword/sub.0/expected", "sha256": "ec31e8323062c27df87c8729ea0a4bb5bb973ae840f61b0e20221ddae9c10e02" }, { "bytes": 75, "path": "linuxcnc/tests/oword/sub.0/test.sh", "sha256": "5aca3854d97d0124e6dd9289ed71922ec287c2fcea27f7836ee6a4c21a1479fd" } ], "id": "source-test:linuxcnc/tests/oword/sub.0/test.sh", "result": { "canonical": "{\"a\":0,\"b\":0,\"c\":0,\"distance_mode\":90,\"feed\":0,\"line\":7,\"modal_hash\":5485903789020828696,\"motion_mode\":0,\"plane\":17,\"program_end\":1,\"speed\":0,\"spindle_mode\":5,\"status\":0,\"units\":21,\"u\":0,\"v\":0,\"w\":0,\"x\":0,\"y\":0,\"z\":0}", "expected_status": "completed", "interpreter_state_hash": "fnv1a64:000000009116a3c2", "line": 17, "observed_detail": null, "observed_status": "completed", "source_hash": "fnv1a64:6d93401fd98f128d" }, "result_hash": "fnv1a64:7496ff11c7127f79" }, { "adapter": "PURE_FUNCTIONAL", "fixture": [ { "bytes": 31, "path": "linuxcnc/tests/interp/oword-unwind/test.ngc", "sha256": "2662d065bc501e05e7eee6bcc5941d93360a0d0ca0acf785d48232dd39492063" }, { "bytes": 625, "path": "linuxcnc/tests/interp/oword-unwind/expected", "sha256": "d49612c6b1b700b551f7d3bccf4794f0562e968fca052a45e6176d80ed611000" }, { "bytes": 92, "path": "linuxcnc/tests/interp/oword-unwind/test.sh", "sha256": "87e1fedef3a3fee58cc16e01091dab30d0d69fd74e4812d37ee31f64e8d16af6" } ], "id": "source-test:linuxcnc/tests/interp/oword-unwind/test.sh", "result": { "canonical": "{\"a\":0,\"b\":0,\"c\":0,\"distance_mode\":90,\"feed\":0,\"line\":0,\"modal_hash\":13626864533805933641,\"motion_mode\":1,\"plane\":17,\"program_end\":0,\"speed\":0,\"spindle_mode\":5,\"status\":0,\"units\":21,\"u\":0,\"v\":0,\"w\":0,\"x\":0,\"y\":0,\"z\":0}", "expected_status": "error", "interpreter_state_hash": "fnv1a64:00000000dee1b045", "line": 1, "observed_detail": "program_subroutine_missing", "observed_status": "error", "source_hash": "fnv1a64:5ce70e6f0f9571f6" }, "result_hash": "fnv1a64:26b54c1eccc3d617" }, { "adapter": "WORKER_SIM_ADAPTER", "fixture": [ { "bytes": 658, "path": "linuxcnc/tests/interp/do-while-break/test.ngc", "sha256": "bdc3978b3fb61ff53febeb546fcc34713796a756483e0d1c883293e5ae3ad522" }, { "bytes": 790, "path": "linuxcnc/tests/interp/do-while-break/expected", "sha256": "c21310e5db7c1558243801485467f857af7cbf99f7813ede6dd439991ba0af61" }, { "bytes": 75, "path": "linuxcnc/tests/interp/do-while-break/test.sh", "sha256": "5aca3854d97d0124e6dd9289ed71922ec287c2fcea27f7836ee6a4c21a1479fd" } ], "id": "source-test:linuxcnc/tests/interp/do-while-break/test.sh", "result": { "canonical": "{\"a\":0,\"b\":0,\"c\":0,\"distance_mode\":90,\"feed\":0,\"line\":13,\"modal_hash\":13626864533805933641,\"motion_mode\":1,\"plane\":17,\"program_end\":1,\"speed\":0,\"spindle_mode\":5,\"status\":0,\"units\":21,\"u\":0,\"v\":0,\"w\":0,\"x\":0,\"y\":0,\"z\":0}", "expected_status": "completed", "interpreter_state_hash": "fnv1a64:0000000086efefe9", "line": 30, "observed_detail": null, "observed_status": "completed", "source_hash": "fnv1a64:23daa58d09abf802" }, "result_hash": "fnv1a64:e03fcc463cf52b26" }, { "adapter": "WORKER_SIM_ADAPTER", "fixture": [ { "bytes": 31, "path": "linuxcnc/tests/interp/g6164/test.ngc", "sha256": "9a4f69ca8a8facfbffc37018fc69b1591849ac8e1aadff9574db29f6c8395894" }, { "bytes": 963, "path": "linuxcnc/tests/interp/g6164/expected", "sha256": "6d7cbe913ade6f4308162b8708a5d65c67b44004ef5d073b57509b38ec6f91cf" }, { "bytes": 75, "path": "linuxcnc/tests/interp/g6164/test.sh", "sha256": "5aca3854d97d0124e6dd9289ed71922ec287c2fcea27f7836ee6a4c21a1479fd" } ], "id": "source-test:linuxcnc/tests/interp/g6164/test.sh", "result": { "canonical": "{\"a\":0,\"b\":0,\"c\":0,\"distance_mode\":90,\"feed\":0,\"line\":1,\"modal_hash\":13626864533805933641,\"motion_mode\":1,\"plane\":17,\"program_end\":1,\"speed\":0,\"spindle_mode\":5,\"status\":0,\"units\":21,\"u\":0,\"v\":0,\"w\":0,\"x\":0,\"y\":0,\"z\":0}", "expected_status": "completed", "interpreter_state_hash": "fnv1a64:000000000d869e05", "line": 6, "observed_detail": null, "observed_status": "completed", "source_hash": "fnv1a64:a53b92e907dba4f9" }, "result_hash": "fnv1a64:1b07b54b1a8fd090" }, { "adapter": "WORKER_SIM_ADAPTER", "fixture": [ { "bytes": 1429, "path": "linuxcnc/tests/remap/oword-pycall/oword.py", "sha256": "903751095b684c2105ea51aab9f011783439f3be6b73fe103bf4df818b7f25ba" }, { "bytes": 833, "path": "linuxcnc/tests/remap/oword-pycall/subs.py", "sha256": "d986503a92ab3ff12dd924cda39d18cc057d311c80f37ca1f228e00d5cf330e3" }, { "bytes": 103, "path": "linuxcnc/tests/remap/oword-pycall/test.ini", "sha256": "98c78807c8b691af357149778a3f022bd86e2d07d686eba18756427f47ef4b66" }, { "bytes": 1427, "path": "linuxcnc/tests/remap/oword-pycall/expected", "sha256": "6b2d0a541ec6c662d030ad5f71281b99f20b9e71a563af33716fe75dc2eaea07" } ], "id": "source-test:linuxcnc/tests/remap/oword-pycall/test.sh", "result": { "callbacks": 2, "multiply": 210, "square": 625, "state_hash": "fnv1a64:6d520d540269ef1f" }, "result_hash": "fnv1a64:6d470d5a25d09ced" }, { "adapter": "WORKER_SIM_ADAPTER", "fixture": [ { "bytes": 989, "path": "linuxcnc/tests/remap/fail/body-py/remap.py", "sha256": "fe7a6d499d135df6dd879b3401b387909af0dae79c6c05a9423f45904fb6048d" }, { "bytes": 836, "path": "linuxcnc/tests/remap/fail/body-py/subs.py", "sha256": "2457646599354453f1852aa1ce41c25fb3de32a8674d4ae5f89196e36eef2836" }, { "bytes": 146, "path": "linuxcnc/tests/remap/fail/body-py/test.ini", "sha256": "81ff92b89640212738f9008fa9b1d911c98bc911226a8c096e034c01ace795f2" }, { "bytes": 495, "path": "linuxcnc/tests/remap/fail/body-py/expected", "sha256": "6fe4cabf0d7a62699b4c7c9208302d287fa8ecd45842cb7f7f05f51a004fef1b" } ], "id": "source-test:linuxcnc/tests/remap/fail/body-py/test.sh", "result": { "code": "callback_exception", "state_hash": "fnv1a64:7872677acffee276", "status": "blocked" }, "result_hash": "fnv1a64:8ccaf50f9fc9ceca" }, { "adapter": "WORKER_SIM_ADAPTER", "fixture": [ { "bytes": 1109, "path": "linuxcnc/tests/remap/remap-io/remap.py", "sha256": "5893f90e8f28f5887839926260a9bb91df105a0d8449388f7cedaa1e4f0d3950" }, { "bytes": 2566, "path": "linuxcnc/tests/remap/remap-io/test-py.ini", "sha256": "4cff1d633a2ec4d649cb3424450d4d9b523f2de6bb2da262b51f251377a98659" }, { "bytes": 5542, "path": "linuxcnc/tests/remap/remap-io/expected", "sha256": "64d216aaf7d78567423590088b31823e45ccea8e34b73da0fe675ee0749d024f" } ], "id": "source-test:linuxcnc/tests/remap/remap-io/test-py.ini", "result": { "blocked": "real_hardware_excluded", "state_hash": "fnv1a64:443f0c72b715256a", "status": "verified" }, "result_hash": "fnv1a64:933bd136f99c4cd9" } ], "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "counts": { "PASSED": 8, "WORKER_TASK_MOTION_PENDING": 0 }, "fixture_file_count": 26, "pending": [], "schema": "linuxcnc-source-interpreter-adapter.v1" } }