164 lines
4.8 KiB
JSON
164 lines
4.8 KiB
JSON
{
|
|
"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": "92f571fff86f378726ea4009ab40c80b3a0fbdf36f7794f65031b18598e2bf89",
|
|
"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": "59f9a29b62a109207e565c9c18836bd97d3341f9b43c13f61dd8866a06f12f22",
|
|
"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"
|
|
}
|