{ "candidate_eligible": false, "checks": { "manifest_pin": { "status": "verified", "version": "0.29.4" }, "release_stop_preserved": { "release_action": "STOP_RELEASE", "status": "verified" }, "repeat_determinism": { "status": "verified" }, "session_dependency": { "status": "verified" }, "virtual_api_and_denial": { "status": "verified" } }, "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "implementation_status": "verified", "inputs": [ { "bytes": 7647, "path": "context-lock.json", "role": "context_lock", "sha256": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e", "status": "present" }, { "bytes": 1902, "path": "python-runtime/manifest.json", "role": "python_manifest", "sha256": "340faa6ef5bedcaeb0583f463e6b89cb442ddf1d83d7e6ee8d96cee438fe4213", "status": "present" }, { "bytes": 636, "path": "coverage/python-runtime.report.json", "role": "python_runtime", "sha256": "be531c8cb5af55f9527b6b6b3955ff908a748fae0e37952fa699aecf1a44b399", "status": "present" }, { "bytes": 3685, "path": "coverage/workspace-session-integration.report.json", "role": "workspace_session_integration", "sha256": "5453cb84385cdd24d85cd2a4096aae2bdb78f00d08f0e2cdb99288ca56c30c9c", "status": "present" }, { "bytes": 7196, "path": "coverage/release-candidate-gate.report.json", "role": "release_candidate_gate", "sha256": "ff46025b4d03a4ab002d22a4f6101c213a702ff6b36dc688274304f79ef8a7a8", "status": "present" } ], "next_transition": "execute FE-M1 minimal real frontend vertical slice", "release_action": "STOP_RELEASE", "report_sha256": "ccadc41b9a53ba9cb4f31445b3c39211ebe5ccc2d058a57a96f3590423fa933f", "runtime": { "abi_version": "2025_0", "artifacts": [ { "bytes": 122027, "license": "MPL-2.0", "mirror_kind": "official", "name": "pyodide-lock.json", "origin_url": "https://github.com/pyodide/pyodide/releases/tag/0.29.4", "role": "package_lock", "sha256": "14d2c2dba101277999e17135e653d8f15389ad1437f53eae213bf0c3cdff723d", "source_url": "https://cdn.jsdelivr.net/pyodide/v0.29.4/full/pyodide-lock.json", "version": "0.29.4" }, { "bytes": 18597, "license": "MPL-2.0", "mirror_kind": "official", "name": "pyodide.js", "origin_url": "https://github.com/pyodide/pyodide/releases/tag/0.29.4", "role": "loader_metadata", "sha256": "7be9e63eddf6bd8786a5ab71c8689c35731d187e3415fe58d7cb95423b50421a", "source_url": "https://cdn.jsdelivr.net/pyodide/v0.29.4/full/pyodide.js", "version": "0.29.4" } ], "denied_capabilities": [ "os.system", "subprocess", "socket", "select", "multiprocessing", "threading", "ctypes", "fcntl", "pty", "termios", "device_paths", "arbitrary_host_paths" ], "index_url": "https://cdn.jsdelivr.net/pyodide/v0.29.4/full/", "offline_required": true, "origin_release": "https://github.com/pyodide/pyodide/releases/tag/0.29.4", "package_policy": { "allowed_packages": [], "mode": "allowlist", "reason": "LinuxCNC compatibility modules are virtual and core Python packages are not accepted until individually mapped and hashed." }, "platform": "emscripten_4_0_9", "python_version": "3.13.2", "runtime": "Pyodide", "schema": "python-runtime-manifest.v1", "version": "0.29.4", "virtual_modules": { "INI": [ "find", "findall", "sections" ], "gstat": [ "state", "task", "motion" ], "hal": [ "component", "pin", "param", "signal", "thread" ], "linuxcnc": [ "command", "stat", "error", "ini" ] }, "worker_only": true }, "sample": { "first": { "exit_code": 0, "status": "passed", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout": "python_bridge=passed calls=7 errors=4 hash=fnv1a64:21646389b3adc61b", "stdout_sha256": "5a0211cf093d9c498f4ddf4009190833332ec1226310f5e5e2eace604a5e9060" }, "second": { "exit_code": 0, "status": "passed", "stderr_sha256": "12ae32cb1ec02d01eda3581b127c1fee3b0dc53572ed6baf239721a03d82e126", "stdout": "python_bridge=passed calls=7 errors=4 hash=fnv1a64:21646389b3adc61b", "stdout_sha256": "5a0211cf093d9c498f4ddf4009190833332ec1226310f5e5e2eace604a5e9060" } }, "schema": "python-worker-bridge.v1", "status": "partial", "task_id": "M3-PY-01" }