Files
FreeCADWasmDev/docs/p6/cloud-action-03-facade.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

222 lines
6.0 KiB
JSON

{
"schema": "freecad-web-p6-cloud-action-03-facade/v1",
"task_id": "FW-P6-CLD-ACT-03-E",
"module": "Cloud",
"action": "cloud.inspectPythonApi",
"status": "pass",
"source_revision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
"input_sha256": "0902aad3cc1cdb34823fd52f2251296331ef0b05d1ada9617ddc2fb118679e30",
"result_sha256": "629b8b1bade150666eb2bf85726537d273fdb36b181595f236ad3b29b666b7bf",
"responses": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "cloud-act03-e-success",
"result": {
"schema": "freecad-web-cloud/python-api/v1",
"module": "Cloud",
"action": "python-api",
"sourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
"sourceEntry": "src/Mod/Cloud/App/AppCloud.h",
"implementationEntry": "src/Mod/Cloud/App/AppCloud.cpp:132",
"apiCount": 8,
"callableCount": 8,
"methods": [
"URL",
"TokenAuth",
"TokenSecret",
"TCPPort",
"Save",
"Restore",
"ProtocolVersion",
"Region"
],
"guiExcluded": [
"CloudGui",
"FreeCADGui",
"PySide"
],
"readOnly": true,
"documentCountBefore": 0,
"documentCountAfter": 0,
"stateSha256": "6f6da420804d30d967a33c795c64ee455948366f930e3c54652cad0dd5d8d69f"
}
},
"expectedError": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cloud-act03-e-error",
"error": {
"code": "revision_mismatch",
"message": "Cloud Python API source revision is not locked",
"diagnostic": {
"sourceRevision": "wrong-revision"
}
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cloud-act03-e-success",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cloud-act03-e-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"afterCancel": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "cloud-act03-e-after-cancel",
"result": {
"schema": "freecad-web-cloud/python-api/v1",
"module": "Cloud",
"action": "python-api",
"sourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
"sourceEntry": "src/Mod/Cloud/App/AppCloud.h",
"implementationEntry": "src/Mod/Cloud/App/AppCloud.cpp:132",
"apiCount": 8,
"callableCount": 8,
"methods": [
"URL",
"TokenAuth",
"TokenSecret",
"TCPPort",
"Save",
"Restore",
"ProtocolVersion",
"Region"
],
"guiExcluded": [
"CloudGui",
"FreeCADGui",
"PySide"
],
"readOnly": true,
"documentCountBefore": 0,
"documentCountAfter": 0,
"stateSha256": "6f6da420804d30d967a33c795c64ee455948366f930e3c54652cad0dd5d8d69f"
}
}
},
"trace": [
{
"direction": "request",
"requestId": "cloud-act03-e-success"
},
{
"direction": "handler-start",
"requestId": "cloud-act03-e-success"
},
{
"direction": "handler-end",
"requestId": "cloud-act03-e-success"
},
{
"direction": "response",
"requestId": "cloud-act03-e-success",
"kind": "result",
"code": null
},
{
"direction": "request",
"requestId": "cloud-act03-e-error"
},
{
"direction": "handler-start",
"requestId": "cloud-act03-e-error"
},
{
"direction": "handler-end",
"requestId": "cloud-act03-e-error"
},
{
"direction": "response",
"requestId": "cloud-act03-e-error",
"kind": "error",
"code": "revision_mismatch"
},
{
"direction": "request",
"requestId": "cloud-act03-e-success"
},
{
"direction": "response",
"requestId": "cloud-act03-e-success",
"kind": "error",
"code": "duplicate_request"
},
{
"direction": "request",
"requestId": "cloud-act03-e-cancel"
},
{
"direction": "response",
"requestId": "cloud-act03-e-cancel",
"kind": "error",
"code": "cancelled"
},
{
"direction": "request",
"requestId": "cloud-act03-e-after-cancel"
},
{
"direction": "handler-start",
"requestId": "cloud-act03-e-after-cancel"
},
{
"direction": "handler-end",
"requestId": "cloud-act03-e-after-cancel"
},
{
"direction": "response",
"requestId": "cloud-act03-e-after-cancel",
"kind": "result",
"code": null
}
],
"sequencing": {
"maxActive": 1,
"activeAfter": 0,
"requestCount": 5,
"responseCount": 5,
"cancelAccepted": true
},
"state": {
"beforeCancel": "6f6da420804d30d967a33c795c64ee455948366f930e3c54652cad0dd5d8d69f",
"afterCancel": "6f6da420804d30d967a33c795c64ee455948366f930e3c54652cad0dd5d8d69f",
"unchangedAfterCancel": true
},
"schema_checks": {
"request": true,
"result": true,
"expectedError": true,
"duplicate": true,
"cancel": true,
"noNativePointers": true
},
"commands": [
"npx tsc --target ES2022 --module ESNext --moduleResolution Bundler --strict --skipLibCheck --outDir /tmp/freecad-p6-cloud-act03-facade --declaration false --noEmit false src/facade-envelope.ts src/cloud-python-facade.ts"
],
"artifacts": {
"worker_log": "docs/freecad-p6-cloud-act03-e-facade.log",
"wasm": "freecad-source/build-web/cloud-configure-r2/bin/FreeCADWebCloudKernelProbe.wasm"
},
"boundaries": [
"The Facade validates and sequences typed JSON; Cloud method discovery is executed through the WASM C ABI."
]
}