{ "schema": "freecad-web-p6-cam-kernel/v1", "task_id": "FW-P6-CAM-C", "module": "CAM", "action": "create/recompute", "status": "pass", "source_revision": "b5a086fda59b0325fe0996147e6e9b344414f9bc", "fixture": { "document": "CAMKernelDocument", "label": "CAM Kernel Document", "object_type": "Path::Feature", "object_name": "Toolpath", "gcode": "G0 X0 Y0\nG1 X10 Y0 F100\nG1 X10 Y10 F100\n", "input_sha256": "3db947f6c6437bf6f8702a53459eecccf637ca25aee64146aa5238e762506235" }, "result": { "run": 1, "error": "", "command_count": 3, "length": 20, "recompute_count": 1, "recompute_has_error": 0, "gcode": "G0 X0.000000 Y0.000000\nG1 F100.000000 X10.000000 Y0.000000\nG1 F100.000000 X10.000000 Y10.000000\n", "result_sha256": "ad8497095fc6589bdea7c0a4d2c19b28b9d8c9c17227aa0f9111863e0b355677" }, "reproducibility": { "runs": 2, "identical_result": true, "smoke_logs": [ { "path": "docs/freecad-p6-cam-c-kernel-smoke-r3.log", "sha256": "6d453d1e6424a5f5ba771b6497178864947493c973f1ceaf75e3a6688c3db8a3" }, { "path": "docs/freecad-p6-cam-c-kernel-smoke-r4.log", "sha256": "6d453d1e6424a5f5ba771b6497178864947493c973f1ceaf75e3a6688c3db8a3" } ] }, "resources": { "document_closed": true, "active_handles_after_run": 0 }, "artifacts": { "build_log": { "path": "docs/freecad-p6-cam-c-build-r2.log", "sha256": "7a5758d0b0b490a0515a9f3c1cdd67c115e6914811d58bca3ba104506225a5bb" }, "wasm": { "path": "build-web/cam-configure-r1/bin/FreeCADWebCAMProbe.wasm", "sha256": "f06b275f6fd3ab6bdddf1154e87208aee4909b6843c58837c22e62424d6a32c0" } }, "commands": [ "EM_CACHE=/tmp/freecad-p6-emcache EM_FROZEN_CACHE= ninja -C build-web/cam-configure-r1 FreeCADWebCAMProbe -j8", "node src/WebAssembly/FreeCADCoreProbe/cam-kernel-smoke.js build-web/cam-configure-r1/bin" ], "boundaries": [ "The deterministic fixture contains one rapid move and two linear moves.", "Only the Path::Feature create/recompute contract is covered; no second CAM action or GUI interaction is included.", "The headless probe aliases PathApp as Path to match desktop package imports without enabling PathGui, PySide, or pivy.coin." ] }