{ "schema": "freecad-web-p6-cam-action-02-kernel/v1", "task_id": "FW-P6-CAM-ACT-02-C", "module": "CAM", "action": "import/export", "status": "pass", "source_revision": "b5a086fda59b0325fe0996147e6e9b344414f9bc", "fixture": { "schema": "freecad-web-cam/import-export/v1", "fixture": "CAMImportExportDocument", "format": ".json", "content": "{\"commands\":[{\"code\":\"G0\",\"x\":0,\"y\":0},{\"code\":\"G1\",\"x\":10,\"y\":0}]}", "input_sha256": "f6e3c4ae89393fae350d8a48d04a22e3c5ddf7f52d5018c518671a79887de47f" }, "result": { "imported": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "cam-action-02-import", "result": { "schema": "freecad-web-cam/import-export/v1", "module": "CAM", "action": "import/export", "format": ".json", "document": { "name": "CAMImportExportDocument", "activeAfterClose": 0 }, "object": { "name": "Toolpath", "type": "Path::Feature" }, "imported": { "commandCount": 2, "length": 10 }, "exported": { "format": ".json", "content": "{\"commands\":[{\"code\":\"G0\",\"x\":0,\"y\":0},{\"code\":\"G1\",\"x\":10,\"y\":0}],\"length\":10}", "byteLength": 79 }, "stateSha256": "b8f2e04a77e12504f1c1a23eae0fdc048ed00e074c5a35de4ee44df2b6b0a5fd" } }, "exported": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "cam-action-02-export", "result": { "schema": "freecad-web-cam/import-export/v1", "module": "CAM", "action": "import/export", "format": ".json", "document": { "name": "CAMImportExportDocument", "activeAfterClose": 0 }, "object": { "name": "Toolpath", "type": "Path::Feature" }, "imported": { "commandCount": 2, "length": 10 }, "exported": { "format": ".json", "content": "{\"commands\":[{\"code\":\"G0\",\"x\":0,\"y\":0},{\"code\":\"G1\",\"x\":10,\"y\":0}],\"length\":10}", "byteLength": 79 }, "stateSha256": "b8f2e04a77e12504f1c1a23eae0fdc048ed00e074c5a35de4ee44df2b6b0a5fd" } }, "repeated": { "schema": "freecad-web-facade/v1", "version": 1, "kind": "result", "requestId": "cam-action-02-import-2", "result": { "schema": "freecad-web-cam/import-export/v1", "module": "CAM", "action": "import/export", "format": ".json", "document": { "name": "CAMImportExportDocument", "activeAfterClose": 0 }, "object": { "name": "Toolpath", "type": "Path::Feature" }, "imported": { "commandCount": 2, "length": 10 }, "exported": { "format": ".json", "content": "{\"commands\":[{\"code\":\"G0\",\"x\":0,\"y\":0},{\"code\":\"G1\",\"x\":10,\"y\":0}],\"length\":10}", "byteLength": 79 }, "stateSha256": "b8f2e04a77e12504f1c1a23eae0fdc048ed00e074c5a35de4ee44df2b6b0a5fd" } }, "output_sha256": "83cd1c1d2f855945c3c2a35ad7b24caab31913f707065c65a0c2114b8256e548" }, "resources": { "active_handles_after_run": 0, "document_closed": true }, "commands": [ "npx tsc --target ES2022 --module ESNext --moduleResolution Bundler --strict --skipLibCheck --outDir /tmp/freecad-p6-cam-action-02 --declaration false --noEmit false src/facade-envelope.ts src/cam-import-export-facade.ts", "node tools/run_p6_cam_action02_kernel_smoke.mjs /tmp/freecad-p6-cam-action-02/cam-import-export-facade.js" ], "boundaries": [ "Only the deterministic JSON import/export fixture is covered; no other CAM formats or GUI behavior are included." ] }