Files
FreeCADWasmDev/docs/p6/python-api-surface-tier-3-stateful-gate.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

77 lines
3.1 KiB
JSON

{
"schema": "freecad-web-p6-python-api-module-batch-gate/v1",
"taskId": "FW-P6-FPA-F3-SURFACE",
"module": "Surface",
"tier": "tier-3-stateful",
"result": "pass",
"coverage": {
"records": 2,
"counts": {
"restricted": 2
}
},
"records": [
{
"id": "py:Surface:method:SurfaceWorkbench.GetClassName",
"name": "SurfaceWorkbench.GetClassName",
"disposition": "restricted",
"evidence": [
"docs/p6/python-api-stateful-family-runtime.json"
],
"reason": "GUI/PySide/Pivy stateful API is unavailable in the headless Web runtime",
"family": "property",
"sourceEntry": "src/Mod/Surface/InitGui.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "document-stateful-diff/v1",
"returnSchema": "document-stateful-result/v1",
"documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae",
"errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2",
"evidenceSha256": "019646aceec100ab858d3f07cf48563ed4a5d78d6bb624613c1cf711f9f7276c"
},
{
"id": "py:Surface:method:SurfaceWorkbench.Initialize",
"name": "SurfaceWorkbench.Initialize",
"disposition": "restricted",
"evidence": [
"docs/p6/python-api-stateful-family-runtime.json"
],
"reason": "GUI/PySide/Pivy stateful API is unavailable in the headless Web runtime",
"family": "lifecycle-command",
"sourceEntry": "src/Mod/Surface/InitGui.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"parameterSchema": "document-stateful-diff/v1",
"returnSchema": "document-stateful-result/v1",
"documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae",
"errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2",
"evidenceSha256": "a6aa4b37ca305ee2d0a50dc6baac572eb3c85ab7bf82445cb3e550aac03a2ee9"
}
],
"manifestSha256": "9974d9d768b1b0751a318f559e1c1f01a0a60a8afd9eb41b70736bb24539f152",
"nativeRuntime": "docs/p6/python-api-stateful-family-runtime.json",
"nativeRuntimeSha256": "9a0da43d370af4f728eb759e19d6fea2246c9b3ceef6b445b0e4a13b81653b57",
"adapterManifest": "docs/p6/tier3-stateful-adapter-manifest.json",
"adapterManifestSha256": "ba90138c57d45c3cb465185746b95c9b239ff043655356c28d52d2c76f42d64c",
"route": {
"worker": "stateful-family.worker.ts",
"command": "web.statefulFamilyBatch",
"state": "Document/Surface"
},
"nativeRoute": {
"worker": "web/src/stateful-family.worker.ts",
"facade": "web/src/stateful-family-facade.ts",
"command": "web.statefulFamilyBatch",
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/DocumentProbe.cpp:fc_web_dispatch_json"
},
"resources": {
"resourcesReleased": true,
"documentMutation": true,
"fcstdSemanticReplay": true,
"transactionUndoRedo": true,
"invalidRecomputeRecovery": true
},
"boundaries": [
"Terminal disposition does not claim that restricted or not_implemented APIs are callable.",
"Only exact module-scoped native evidence can promote a symbol."
]
}