{ "allowlist": { "allowed_packages": [], "denied_capabilities": [ "os.system", "subprocess", "socket", "select", "multiprocessing", "threading", "ctypes", "fcntl", "pty", "termios", "device_paths", "arbitrary_host_paths" ], "virtual_modules": [ "INI", "gstat", "hal", "linuxcnc" ] }, "bridge_test": { "command": "node web/worker/test_python_bridge.mjs", "returncode": 0, "status": "verified", "stderr": "", "stdout": "python_bridge=passed calls=1 errors=4 hash=fnv1a64:0e9249f6f3181f41\n" }, "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "known_boundaries": [ "P5-02 implements full linuxcnc/hal/INI/tool/parameter compatibility API", "P5-03 implements remap/filter/VCP lifecycle" ], "limits": { "clock": "logical_tick * 0.001 seconds", "max_calls": 256, "max_source_bytes": 65536 }, "outputs": [ { "bytes": 1902, "path": "python-runtime/manifest.json", "sha256": "340faa6ef5bedcaeb0583f463e6b89cb442ddf1d83d7e6ee8d96cee438fe4213" }, { "bytes": 5655, "path": "web/worker/python-bridge.mjs", "sha256": "a9c2c9bf8b9b26d0de4cd82cd8d38038e67ea4fe4e223b6b3a2ddaaa1130a3b6" }, { "bytes": 1221, "path": "web/worker/test_python_bridge.mjs", "sha256": "2ca59d55f48eb92117ea1121f659b156fcfa0a12e7ae04103328f08c1a56936f" }, { "bytes": 2217, "path": "python-runtime/test_runtime.mjs", "sha256": "d4c9706690e26204106c1ee4ee3313312dd781bf941d5752b9c417773ea1f54b" } ], "report_sha256": "5ef0fd9d5b2ce7389c8c3c4328bdc124aa34bd3b6c037c1d724827c08ab2df91", "runtime": { "abi_version": "2025_0", "name": "Pyodide", "offline_required": true, "python_version": "3.13.2", "version": "0.29.4", "worker_only": true }, "runtime_test": { "command": "node python-runtime/test_runtime.mjs", "returncode": 0, "status": "verified", "stderr": "", "stdout": "python_runtime=passed version=0.29.4 modules=4\n" }, "schema": "python-runtime-closure-report.v1", "session_test": { "command": "node web/worker/test_python_session.mjs", "returncode": 0, "status": "verified", "stderr": "", "stdout": "python_session=passed hash=fnv1a64:df775b9bc5996a80\n" }, "status": "verified", "task_id": "P5-01" }