{ "schema": "freecad-web-plot-runtime-recovery/v2", "taskId": "FW-P6-PLT-ACT-02-R1", "module": "Plot", "status": "blocked", "sourceRevision": "0a2e7ce7f52ba71d54c62708c9ac5c76ca142231", "checks": { "pythonModules": { "PySide": { "available": false, "error": "ModuleNotFoundError" }, "PySide6": { "available": false, "error": "ModuleNotFoundError" }, "PySide2": { "available": true, "version": "5.15.13", "compatibleWithPlotImport": false }, "matplotlib": { "available": true, "version": "3.6.3" } }, "cmake": { "BUILD_GUI": false, "BUILD_PLOT": false, "nativeTarget": false }, "artifacts": { "plotWasm": false, "plotJs": false, "pysideWasmRuntime": false }, "sourceContract": { "entry": "freecad-source/src/Mod/Plot/Plot.py", "imports": ["PySide", "matplotlib.backends.backend_qtagg"], "nativeTypeRegistration": false } }, "error": { "code": "dependency_unavailable", "message": "Plot.py requires PySide and QtAgg; GUI-free Web has BUILD_PLOT=OFF, BUILD_GUI=OFF, and no PySide runtime" }, "recovery": { "sameExternalBlock": true, "localAlternative": false, "passClaim": false }, "boundaries": ["PySide2 availability does not satisfy Plot.py's PySide import contract and is not treated as a compatibility shim.", "Enabling GUI/PySide and rebuilding the Web runtime is required before ACT-02 C-G can start."] }