{ "schema": "freecad-web-p6-python-api-module-batch-gate/v1", "taskId": "FW-P6-FPA-F3-SANDBOX", "module": "Sandbox", "tier": "tier-3-stateful", "result": "pass", "coverage": { "records": 9, "counts": { "not_implemented": 7, "restricted": 2 } }, "records": [ { "id": "py:Sandbox:function:formatobjtype", "name": "formatobjtype", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "015fe2738ce271437e9e8e6fe2338825f834ff1a9993121bf5bfe020f6bdc518" }, { "id": "py:Sandbox:function:saveShape", "name": "saveShape", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "serialization", "sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "eb20fbbfa9e168391cf2eb6a41b2950dbac833428e38b9d2643be1b907b466a2" }, { "id": "py:Sandbox:method:Drawexporter.export_objects", "name": "Drawexporter.export_objects", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "document-graph", "sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "2e1908c6a9b4a7be554f55a12a3690d562cb8af2ff0d5c60a972feacffdb2505" }, { "id": "py:Sandbox:method:Drawexporter.process_object", "name": "Drawexporter.process_object", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "document-graph", "sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "4cf8ec76a8d08d8af15645e7a13ed1c2599eb9bb70c827851a801c5d93dd7e41" }, { "id": "py:Sandbox:method:Drawexporter.saveSweep", "name": "Drawexporter.saveSweep", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "serialization", "sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "0a5a152492a7acd25218a4a648db8e160b5d7acc9972fb6b01f9373a8a39d247" }, { "id": "py:Sandbox:method:Drawexporter.write_displayonly", "name": "Drawexporter.write_displayonly", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "serialization", "sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "8ce6c21a29fa8c372bad09beffca3283c77f849d67d46c8520cab7add9750567" }, { "id": "py:Sandbox:method:Drawexporter.write_header", "name": "Drawexporter.write_header", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "serialization", "sourceEntry": "src/Mod/Sandbox/exportDRAWEXE.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "643a3a2be59b2a0eb08e373dad77c4ad6bd93184b5abd5d72bbb8a3d8c150ba2" }, { "id": "py:Sandbox:method:SandboxWorkbench.GetClassName", "name": "SandboxWorkbench.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/Sandbox/InitGui.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "51ccbc9832e0e1e5cbeffbb7d50ea06b472aeb789672fb937833ba871fd2b26a" }, { "id": "py:Sandbox:method:SandboxWorkbench.Initialize", "name": "SandboxWorkbench.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/Sandbox/InitGui.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "9758977557ce69c1f404977c97d6e122d53e8ab8009275a747ae6475af04ca1c" } ], "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/Sandbox" }, "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." ] }