358 lines
14 KiB
JSON
358 lines
14 KiB
JSON
{
|
|
"schema": "freecad-web-p6-part-module-batch-runtime/v1",
|
|
"taskId": "FW-P6-FPA-Y",
|
|
"batchId": "75bcb0278102abbc13b6a767",
|
|
"module": "Part",
|
|
"tier": "tier-2-pure",
|
|
"family": "pure-function",
|
|
"status": "pass_with_boundaries",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"route": {
|
|
"command": "part.pythonFamilyBatch",
|
|
"native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/PartBoxProbe.cpp:fc_web_dispatch_json",
|
|
"facade": "web/src/part-python-family-facade.ts",
|
|
"worker": "web/src/part.worker.ts"
|
|
},
|
|
"input": {
|
|
"cmd": "part.pythonFamilyBatch",
|
|
"args": {
|
|
"schema": "freecad-web-part/python-family-batch/v1",
|
|
"module": "Part",
|
|
"tier": "tier-2-pure",
|
|
"records": [
|
|
{
|
|
"apiId": "py:Part:function:makeBottle",
|
|
"name": "makeBottle",
|
|
"family": "pure-function",
|
|
"sourcePath": "src/Mod/Part/MakeBottle.py",
|
|
"disposition": "not_implemented"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:makeBoreHole",
|
|
"name": "makeBoreHole",
|
|
"family": "pure-function",
|
|
"sourcePath": "src/Mod/Part/MakeBottle.py",
|
|
"disposition": "not_implemented"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:create_test_file",
|
|
"name": "create_test_file",
|
|
"family": "pure-function",
|
|
"sourcePath": "src/Mod/Part/parttests/part_test_objects.py",
|
|
"disposition": "not_implemented"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"inputSha256": "c4eccfa7852d736510d59cade73a5980b7dc84e1a5412528a4877fd9bb3b9088",
|
|
"result": {
|
|
"cmd": "part.pythonFamilyBatch",
|
|
"count": 3,
|
|
"module": "Part",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:Part:function:makeBottle",
|
|
"code": "source_execution_timeout",
|
|
"family": "pure-function",
|
|
"message": "Part.makeBottle official OCC fillet/thickness/thread fixture exceeds the bounded Web execution window",
|
|
"name": "makeBottle",
|
|
"native": true,
|
|
"parameterSchema": "myWidth:float=50.0,myHeight:float=70.0,myThickness:float=30.0",
|
|
"replay": "native-source-timeout-boundary",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "Part.Compound{Solid,Thread}",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:makeBoreHole",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "pure-function",
|
|
"message": "Part.makeBoreHole requires FreeCADGui selection/dialog capabilities unavailable in the GUI-free Web kernel",
|
|
"name": "makeBoreHole",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"replay": "native-source-gui-boundary",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "source-declared",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:create_test_file",
|
|
"code": "native_fixture_error",
|
|
"family": "pure-function",
|
|
"message": "type in list must be str or unicode, not list",
|
|
"name": "create_test_file",
|
|
"native": true,
|
|
"parameterSchema": "file_name:str='part_test_objects',file_path:str=...,save:bool=False",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "App::Document",
|
|
"sourceEntry": "src/Mod/Part/parttests/part_test_objects.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-part/python-family-batch/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-2-pure"
|
|
},
|
|
"resultSha256": "b5175810b2fe433bf0dbf307e1f6899155f13a8d072a9773dc7ac7e5d824db5d",
|
|
"replay": {
|
|
"equal": true,
|
|
"resultSha256": "b5175810b2fe433bf0dbf307e1f6899155f13a8d072a9773dc7ac7e5d824db5d"
|
|
},
|
|
"facadeWorker": {
|
|
"ready": {
|
|
"kind": "ready",
|
|
"action": "part.pythonFamilyBatch"
|
|
},
|
|
"success": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "part-module-batch-success",
|
|
"result": {
|
|
"cmd": "part.pythonFamilyBatch",
|
|
"count": 3,
|
|
"module": "Part",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:Part:function:makeBottle",
|
|
"code": "source_execution_timeout",
|
|
"family": "pure-function",
|
|
"message": "Part.makeBottle official OCC fillet/thickness/thread fixture exceeds the bounded Web execution window",
|
|
"name": "makeBottle",
|
|
"native": true,
|
|
"parameterSchema": "myWidth:float=50.0,myHeight:float=70.0,myThickness:float=30.0",
|
|
"replay": "native-source-timeout-boundary",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "Part.Compound{Solid,Thread}",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:makeBoreHole",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "pure-function",
|
|
"message": "Part.makeBoreHole requires FreeCADGui selection/dialog capabilities unavailable in the GUI-free Web kernel",
|
|
"name": "makeBoreHole",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"replay": "native-source-gui-boundary",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "source-declared",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:create_test_file",
|
|
"code": "native_fixture_error",
|
|
"family": "pure-function",
|
|
"message": "type in list must be str or unicode, not list",
|
|
"name": "create_test_file",
|
|
"native": true,
|
|
"parameterSchema": "file_name:str='part_test_objects',file_path:str=...,save:bool=False",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "App::Document",
|
|
"sourceEntry": "src/Mod/Part/parttests/part_test_objects.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-part/python-family-batch/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"repeat": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "part-module-batch-repeat",
|
|
"result": {
|
|
"cmd": "part.pythonFamilyBatch",
|
|
"count": 3,
|
|
"module": "Part",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:Part:function:makeBottle",
|
|
"code": "source_execution_timeout",
|
|
"family": "pure-function",
|
|
"message": "Part.makeBottle official OCC fillet/thickness/thread fixture exceeds the bounded Web execution window",
|
|
"name": "makeBottle",
|
|
"native": true,
|
|
"parameterSchema": "myWidth:float=50.0,myHeight:float=70.0,myThickness:float=30.0",
|
|
"replay": "native-source-timeout-boundary",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "Part.Compound{Solid,Thread}",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:makeBoreHole",
|
|
"code": "gui_dependency_unavailable",
|
|
"family": "pure-function",
|
|
"message": "Part.makeBoreHole requires FreeCADGui selection/dialog capabilities unavailable in the GUI-free Web kernel",
|
|
"name": "makeBoreHole",
|
|
"native": true,
|
|
"parameterSchema": "source-declared",
|
|
"replay": "native-source-gui-boundary",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "source-declared",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "restricted"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:create_test_file",
|
|
"code": "native_fixture_error",
|
|
"family": "pure-function",
|
|
"message": "type in list must be str or unicode, not list",
|
|
"name": "create_test_file",
|
|
"native": true,
|
|
"parameterSchema": "file_name:str='part_test_objects',file_path:str=...,save:bool=False",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "App::Document",
|
|
"sourceEntry": "src/Mod/Part/parttests/part_test_objects.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-part/python-family-batch/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"crossModule": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "result",
|
|
"requestId": "part-module-batch-cross",
|
|
"result": {
|
|
"cmd": "part.pythonFamilyBatch",
|
|
"count": 1,
|
|
"module": "Part",
|
|
"ok": true,
|
|
"records": [
|
|
{
|
|
"apiId": "py:BIM:class:Binding",
|
|
"code": "unmatched_source_record",
|
|
"family": "pure-function",
|
|
"message": "Part API record is not part of this module-scoped adapter",
|
|
"name": "makeBottle",
|
|
"native": true,
|
|
"parameterSchema": "unmatched",
|
|
"resourcesReleased": true,
|
|
"returnSchema": "unmatched",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented"
|
|
}
|
|
],
|
|
"resourcesReleased": true,
|
|
"schema": "freecad-web-part/python-family-batch/v1",
|
|
"source": "freecad-source",
|
|
"tier": "tier-2-pure"
|
|
}
|
|
},
|
|
"malformed": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "invalid",
|
|
"error": {
|
|
"code": "invalid_request",
|
|
"message": "Part Python family envelope is invalid"
|
|
}
|
|
},
|
|
"cancelled": {
|
|
"schema": "freecad-web-facade/v1",
|
|
"version": 1,
|
|
"kind": "error",
|
|
"requestId": "part-module-batch-cancel",
|
|
"error": {
|
|
"code": "cancelled",
|
|
"message": "request was cancelled"
|
|
}
|
|
},
|
|
"traceSha256": "adc59edf53ce7ffc97b11a3be679602d88f47070241df155fa73bf90302269e7"
|
|
},
|
|
"dispositionCounts": {
|
|
"exposed": 0,
|
|
"restricted": 1,
|
|
"nonportable": 0,
|
|
"not_implemented": 2
|
|
},
|
|
"records": [
|
|
{
|
|
"apiId": "py:Part:function:makeBottle",
|
|
"name": "makeBottle",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented",
|
|
"code": "source_execution_timeout",
|
|
"parameterSchema": "myWidth:float=50.0,myHeight:float=70.0,myThickness:float=30.0",
|
|
"returnSchema": "Part.Compound{Solid,Thread}",
|
|
"evidenceSha256": "a9287fd6dd814e61dd93cfd475e85d2eb0bd1bff4b6b527728bf626e594350e4"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:makeBoreHole",
|
|
"name": "makeBoreHole",
|
|
"sourceEntry": "src/Mod/Part/MakeBottle.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "restricted",
|
|
"code": "gui_dependency_unavailable",
|
|
"parameterSchema": "source-declared",
|
|
"returnSchema": "source-declared",
|
|
"evidenceSha256": "842a47e22719b38f0a57e117cdf92c86496160d53f74a807ae8aeda53092866f"
|
|
},
|
|
{
|
|
"apiId": "py:Part:function:create_test_file",
|
|
"name": "create_test_file",
|
|
"sourceEntry": "src/Mod/Part/parttests/part_test_objects.py",
|
|
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
|
|
"status": "not_implemented",
|
|
"code": "native_fixture_error",
|
|
"parameterSchema": "file_name:str='part_test_objects',file_path:str=...,save:bool=False",
|
|
"returnSchema": "App::Document",
|
|
"evidenceSha256": "b03fed7029a2dd8e27f4e66205667295815352910885e411e79e2ece1d5081e1"
|
|
}
|
|
],
|
|
"resources": {
|
|
"resourcesReleased": true,
|
|
"documentMutation": false,
|
|
"makerFixturesClosed": true
|
|
},
|
|
"evidence": {
|
|
"path": "docs/p6/part-module-batch-75bcb0278102abbc13b6a767-runtime.json",
|
|
"log": "docs/freecad-p6-part-module-batch-75bcb0278102abbc13b6a767.log"
|
|
},
|
|
"artifacts": {
|
|
"wasm": {
|
|
"path": "web/public/kernel/FreeCADWebPartBoxProbe.wasm",
|
|
"sha256": "d6e7ef9483cb070ae067c299db547e00f706a6884d90f73c3fa3820df48fac1f"
|
|
},
|
|
"loader": {
|
|
"path": "web/public/kernel/FreeCADWebPartBoxProbe.js",
|
|
"sha256": "bc67adb6b2fdbe8e72ceb2ad29f60ba7947af72611a7c52c7609d27082848122"
|
|
}
|
|
},
|
|
"boundaries": [
|
|
"Part.makeBoreHole remains a GUI restricted boundary because the official source unconditionally imports and uses FreeCADGui.",
|
|
"Part.makeBottle remains not_implemented with source_execution_timeout because the official OCC fillet/thickness/thread fixture exceeds the bounded Web execution window; create_test_file retains its native source compatibility error without a fabricated result.",
|
|
"All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
|
|
]
|
|
}
|