Files
FreeCADWasmDev/docs/p6/cam-action-02-recovery.json
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

112 lines
3.4 KiB
JSON

{
"schema": "freecad-web-p6-cam-action-02-recovery/v1",
"task_id": "FW-P6-CAM-ACT-02-D",
"module": "CAM",
"action": "import/export",
"status": "pass",
"invalid_input": {
"content": "{invalid",
"input_sha256": "5380c61b4200d674f316f13598360203153a33abd5a69a0ca328246f5d07dfcd"
},
"result": {
"baseline": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "cam-action-02-recovery-before",
"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"
}
},
"rejected": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cam-action-02-recovery-invalid",
"error": {
"code": "invalid_document",
"message": "CAM JSON document is invalid",
"diagnostic": {
"field": "content"
}
}
},
"repeatedReject": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cam-action-02-recovery-invalid-2",
"error": {
"code": "invalid_document",
"message": "CAM JSON document is invalid",
"diagnostic": {
"field": "content"
}
}
},
"recovered": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "cam-action-02-recovery-after",
"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"
}
},
"result_sha256": "b101555b96405cb4d958264a7fb1a1a00515ab430c3537143484ba82dce814e3"
},
"recovery": {
"unchanged_after_reject": true,
"repeated_error_stable": 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_recovery_smoke.mjs /tmp/freecad-p6-cam-action-02/cam-import-export-facade.js"
],
"boundaries": [
"Only invalid JSON content is injected; format negotiation and cross-document transactions are out of scope."
]
}