Files
FreeCADWasmDev/docs/p6/cloud-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

217 lines
6.1 KiB
JSON

{
"schema": "freecad-web-p6-cloud-facade/v1",
"task_id": "FW-P6-CLD-E",
"module": "Cloud",
"action": "cloud.configureRecompute",
"status": "pass",
"source_revision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
"input_sha256": "502a024cd8ffd396332dad095c1007993595f26f3a63bf00577f8a6696945302",
"result_sha256": "69b010bbbd790cfa7d276879de207f411b695c57446aed3f2c83270a8dc209da",
"responses": {
"success": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "cloud-success",
"result": {
"schema": "freecad-web-cloud/configure-recompute/v1",
"module": "Cloud",
"action": "configure/recompute",
"configuration": {
"url": "https://cloud.example.invalid",
"tokenAuth": "web-fixture-access",
"tokenSecret": "web-fixture-secret",
"tcpPort": "443",
"protocolVersion": "4",
"region": "us-east-1",
"setterCount": 6
},
"recompute": {
"count": 1,
"hasError": 0,
"summary": "https://cloud.example.invalid|web-fixture-access|web-fixture-secret|443|4|us-east-1"
}
}
},
"expectedError": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cloud-error",
"error": {
"code": "invalid_argument",
"message": "Cloud.url does not match the locked fixture",
"diagnostic": {
"field": "url"
}
}
},
"duplicate": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cloud-success",
"error": {
"code": "duplicate_request",
"message": "requestId has already been dispatched"
}
},
"cancelled": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "error",
"requestId": "cloud-cancel",
"error": {
"code": "cancelled",
"message": "request was cancelled before execution"
}
},
"afterCancel": {
"schema": "freecad-web-facade/v1",
"version": 1,
"kind": "result",
"requestId": "cloud-after-cancel",
"result": {
"schema": "freecad-web-cloud/configure-recompute/v1",
"module": "Cloud",
"action": "configure/recompute",
"configuration": {
"url": "https://cloud.example.invalid",
"tokenAuth": "web-fixture-access",
"tokenSecret": "web-fixture-secret",
"tcpPort": "443",
"protocolVersion": "4",
"region": "us-east-1",
"setterCount": 6
},
"recompute": {
"count": 1,
"hasError": 0,
"summary": "https://cloud.example.invalid|web-fixture-access|web-fixture-secret|443|4|us-east-1"
}
}
}
},
"trace": [
{
"direction": "request",
"requestId": "cloud-success",
"command": "cloud.configureRecompute"
},
{
"direction": "handler-start",
"requestId": "cloud-success"
},
{
"direction": "handler-end",
"requestId": "cloud-success"
},
{
"direction": "response",
"requestId": "cloud-success",
"kind": "result",
"code": null
},
{
"direction": "request",
"requestId": "cloud-error",
"command": "cloud.configureRecompute"
},
{
"direction": "handler-start",
"requestId": "cloud-error"
},
{
"direction": "handler-end",
"requestId": "cloud-error"
},
{
"direction": "response",
"requestId": "cloud-error",
"kind": "error",
"code": "invalid_argument"
},
{
"direction": "request",
"requestId": "cloud-success",
"command": "cloud.configureRecompute"
},
{
"direction": "response",
"requestId": "cloud-success",
"kind": "error",
"code": "duplicate_request"
},
{
"direction": "request",
"requestId": "cloud-cancel",
"command": "cloud.configureRecompute"
},
{
"direction": "cancel",
"requestId": "cloud-cancel-message",
"cancelOf": "cloud-cancel"
},
{
"direction": "response",
"requestId": "cloud-cancel",
"kind": "error",
"code": "cancelled"
},
{
"direction": "request",
"requestId": "cloud-after-cancel",
"command": "cloud.configureRecompute"
},
{
"direction": "handler-start",
"requestId": "cloud-after-cancel"
},
{
"direction": "handler-end",
"requestId": "cloud-after-cancel"
},
{
"direction": "response",
"requestId": "cloud-after-cancel",
"kind": "result",
"code": null
}
],
"sequencing": {
"maxActive": 1,
"activeAfter": 0,
"requestCount": 5,
"responseCount": 5,
"cancelAccepted": true
},
"state": {
"beforeCancel": "https://cloud.example.invalid|web-fixture-access|web-fixture-secret|443|4|us-east-1",
"afterCancel": "https://cloud.example.invalid|web-fixture-access|web-fixture-secret|443|4|us-east-1",
"unchangedAfterCancel": true
},
"schemaChecks": {
"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-facade --declaration false --noEmit false src/facade-envelope.ts src/cloud-facade.ts",
"node tools/run_p6_cloud_facade_smoke.mjs /tmp/freecad-p6-cloud-facade/cloud-facade.js freecad-source/build-web/cloud-configure-r2/bin"
],
"artifacts": {
"schema": "docs/p6/cloud-facade.schema.json",
"workerLog": "docs/freecad-p6-cloud-e-worker.log",
"wasm": "freecad-source/build-web/cloud-configure-r2/bin/FreeCADWebCloudKernelProbe.wasm"
},
"boundaries": [
"TypeScript validates and sequences envelope data; all Cloud configuration and recompute result fields come from the WebAssembly C ABI.",
"The Facade and Worker never expose a native pointer.",
"Only the locked configure/recompute action is included."
],
"generated_at": "2026-08-20T10:30:07.308Z"
}