124 lines
4.4 KiB
JSON
124 lines
4.4 KiB
JSON
{
|
|
"schema": "freecad-web-partdesign-action-02-facade/v1",
|
|
"task_id": "FW-P6-PDN-ACT-02-E",
|
|
"module": "PartDesign",
|
|
"action": "partdesign.inspectSourceInventory",
|
|
"result": "pass",
|
|
"envelopeSchema": "freecad-web-facade/v1",
|
|
"typedSchema": "freecad-web-partdesign/inspect-source-inventory/v1",
|
|
"fixture": {
|
|
"schema": "freecad-web-partdesign/inspect-source-inventory/v1",
|
|
"module": "PartDesign",
|
|
"action": "inspect/source-inventory",
|
|
"sourceEntry": "src/Mod/PartDesign/App/AppPartDesign.cpp",
|
|
"includeGui": false,
|
|
"inputSha256": "0fc201a3d992f5010bed8f7025c2b8029e9c073d3070d70975e44e8e3d3cee10"
|
|
},
|
|
"trace": {
|
|
"ready": {
|
|
"kind": "ready",
|
|
"action": "partdesign.inspectSourceInventory"
|
|
},
|
|
"success": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "pdn-inspect-success-1",
|
|
"result": {
|
|
"schema": "freecad-web-partdesign/inspect-source-inventory/v1",
|
|
"module": "PartDesign",
|
|
"action": "inspect/source-inventory",
|
|
"sourceEntry": "src/Mod/PartDesign/App/AppPartDesign.cpp",
|
|
"summary": "src/Mod/PartDesign/App/AppPartDesign.cpp|registered=8|formats=0|pythonBindings=2",
|
|
"sourceFiles": "src/Mod/PartDesign/CMakeLists.txt;src/Mod/PartDesign/App/CMakeLists.txt;src/Mod/PartDesign/App/AppPartDesign.cpp;src/Mod/PartDesign/App/FeaturePrimitive.cpp",
|
|
"registeredTypeCount": 8,
|
|
"formatCount": 0,
|
|
"pythonBindingCount": 2,
|
|
"readOnly": true,
|
|
"resourcesReleased": true
|
|
}
|
|
},
|
|
"expectedError": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "pdn-inspect-error-1",
|
|
"error": {
|
|
"code": "revision_mismatch",
|
|
"message": "PartDesign source entry is not locked",
|
|
"diagnostic": {
|
|
"field": "sourceEntry"
|
|
}
|
|
}
|
|
},
|
|
"duplicate": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "pdn-inspect-success-1",
|
|
"error": {
|
|
"code": "duplicate_request",
|
|
"message": "requestId has already been dispatched"
|
|
}
|
|
},
|
|
"cancelled": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "pdn-inspect-cancel-1",
|
|
"error": {
|
|
"code": "cancelled",
|
|
"message": "request was cancelled"
|
|
}
|
|
},
|
|
"afterCancel": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "pdn-inspect-after-cancel-1",
|
|
"result": {
|
|
"schema": "freecad-web-partdesign/inspect-source-inventory/v1",
|
|
"module": "PartDesign",
|
|
"action": "inspect/source-inventory",
|
|
"sourceEntry": "src/Mod/PartDesign/App/AppPartDesign.cpp",
|
|
"summary": "src/Mod/PartDesign/App/AppPartDesign.cpp|registered=8|formats=0|pythonBindings=2",
|
|
"sourceFiles": "src/Mod/PartDesign/CMakeLists.txt;src/Mod/PartDesign/App/CMakeLists.txt;src/Mod/PartDesign/App/AppPartDesign.cpp;src/Mod/PartDesign/App/FeaturePrimitive.cpp",
|
|
"registeredTypeCount": 8,
|
|
"formatCount": 0,
|
|
"pythonBindingCount": 2,
|
|
"readOnly": true,
|
|
"resourcesReleased": true
|
|
}
|
|
}
|
|
},
|
|
"traceSha256": "fed0b6abfee110726bf0fd49fc557fd1cf4fcee77d361b12b0620ada75f96a77",
|
|
"sequencing": {
|
|
"requestCount": 6,
|
|
"responseCount": 6,
|
|
"maxActive": 1,
|
|
"cancelAccepted": true
|
|
},
|
|
"schemaChecks": {
|
|
"success": true,
|
|
"expectedError": true,
|
|
"duplicate": true,
|
|
"cancel": true,
|
|
"afterCancel": true,
|
|
"noNativePointers": true
|
|
},
|
|
"artifacts": {
|
|
"kernel": "docs/p6/partdesign-action-02-kernel.json",
|
|
"recovery": "docs/p6/partdesign-action-02-recovery.json",
|
|
"worker": "web/src/partdesign-inspect.worker.ts"
|
|
},
|
|
"commands": [
|
|
"npx tsc --target ES2022 --module ESNext --moduleResolution Bundler --strict --skipLibCheck --outDir <tmp> web/src/facade-envelope.ts web/src/partdesign-inspect-facade.ts",
|
|
"node tools/run_p6_partdesign_action02_facade.mjs freecad-source/build-web/configure/bin"
|
|
],
|
|
"boundaries": [
|
|
"The typed facade exposes summaries and counts only; no native pointers cross the envelope.",
|
|
"The serial queue covers duplicate request IDs, cancellation and post-cancel recovery for one worker.",
|
|
"Chrome replay and persistence applicability are separate child cards."
|
|
]
|
|
}
|