Files
FreeCADWasmDev/docs/p6/part-module-batch-fd5f2a819ce1ecc0fe86a896-runtime.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

437 lines
18 KiB
JSON

{
"schema": "freecad-web-p6-part-module-batch-runtime/v1",
"taskId": "FW-P6-FPA-Y",
"batchId": "fd5f2a819ce1ecc0fe86a896",
"module": "Part",
"tier": "tier-2-pure",
"family": "generic-object",
"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:method:RegressionTests.test_OptimalBox",
"name": "RegressionTests.test_OptimalBox",
"family": "generic-object",
"sourcePath": "src/Mod/Part/parttests/regression_tests.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_CircularReference",
"name": "RegressionTests.test_CircularReference",
"family": "generic-object",
"sourcePath": "src/Mod/Part/parttests/regression_tests.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_TangentMode3_Issue24254",
"name": "RegressionTests.test_TangentMode3_Issue24254",
"family": "generic-object",
"sourcePath": "src/Mod/Part/parttests/regression_tests.py",
"disposition": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_issue_15716_AttacherEngine_sync",
"name": "RegressionTests.test_issue_15716_AttacherEngine_sync",
"family": "generic-object",
"sourcePath": "src/Mod/Part/parttests/regression_tests.py",
"disposition": "not_implemented"
}
]
}
},
"inputSha256": "ff4ac156821a9b4b87267df717b1ee5d3ee8042c11db7a4306c74b43506a3d6b",
"result": {
"cmd": "part.pythonFamilyBatch",
"count": 4,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:Part:method:RegressionTests.test_OptimalBox",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_OptimalBox",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_CircularReference",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_CircularReference",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_TangentMode3_Issue24254",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_TangentMode3_Issue24254",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_issue_15716_AttacherEngine_sync",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_issue_15716_AttacherEngine_sync",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
}
],
"resourcesReleased": true,
"schema": "freecad-web-part/python-family-batch/v1",
"source": "freecad-source",
"tier": "tier-2-pure"
},
"resultSha256": "e230ec177b12743189de0ce3dabc8feee4d8732800c9fe0727c5e19dd0edab8d",
"replay": {
"equal": true,
"projectionSha256": "ea9f9107b1a9a7fc8b20091e0a7c282fbbd852429add6c37817dd49872d7b3d5",
"resultSha256": "e230ec177b12743189de0ce3dabc8feee4d8732800c9fe0727c5e19dd0edab8d",
"boundary": null
},
"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": 4,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:Part:method:RegressionTests.test_OptimalBox",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_OptimalBox",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_CircularReference",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_CircularReference",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_TangentMode3_Issue24254",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_TangentMode3_Issue24254",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_issue_15716_AttacherEngine_sync",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_issue_15716_AttacherEngine_sync",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.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": 4,
"module": "Part",
"ok": true,
"records": [
{
"apiId": "py:Part:method:RegressionTests.test_OptimalBox",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_OptimalBox",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_CircularReference",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_CircularReference",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_TangentMode3_Issue24254",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_TangentMode3_Issue24254",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented"
},
{
"apiId": "py:Part:method:RegressionTests.test_issue_15716_AttacherEngine_sync",
"code": "source_disposition",
"family": "generic-object",
"message": "Part API disposition is bounded by the FreeCAD source manifest",
"name": "RegressionTests.test_issue_15716_AttacherEngine_sync",
"native": true,
"parameterSchema": "source-declared",
"replay": "native-source-disposition",
"resourcesReleased": true,
"returnSchema": "source-declared",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.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": "generic-object",
"message": "Part API record is not part of this module-scoped adapter",
"name": "RegressionTests.test_OptimalBox",
"native": true,
"parameterSchema": "unmatched",
"resourcesReleased": true,
"returnSchema": "unmatched",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.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": "0f9aa642cb3e8cfcc4d478c4480881d1cecf638c959a4b2ca2f94796a24db4fa"
},
"dispositionCounts": {
"exposed": 0,
"restricted": 0,
"nonportable": 0,
"not_implemented": 4
},
"records": [
{
"apiId": "py:Part:method:RegressionTests.test_OptimalBox",
"name": "RegressionTests.test_OptimalBox",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "a860594b2273ac9b967629f61209e65431a198263bef1ae4abf9a47653313619"
},
{
"apiId": "py:Part:method:RegressionTests.test_CircularReference",
"name": "RegressionTests.test_CircularReference",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "425739bc335dfaed5a9d61aa7a10bdde1e485cac5ba284f8bb91c351d634c976"
},
{
"apiId": "py:Part:method:RegressionTests.test_TangentMode3_Issue24254",
"name": "RegressionTests.test_TangentMode3_Issue24254",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "c586ca199ec6c547171e8fcc3de88c2af0107e29beae6971188326356b75b41e"
},
{
"apiId": "py:Part:method:RegressionTests.test_issue_15716_AttacherEngine_sync",
"name": "RegressionTests.test_issue_15716_AttacherEngine_sync",
"sourceEntry": "src/Mod/Part/parttests/regression_tests.py",
"sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"status": "not_implemented",
"code": "source_disposition",
"parameterSchema": "source-declared",
"returnSchema": "source-declared",
"evidenceSha256": "61570c75c3f9aac15c88e906dde7b6425bd733ff1ba4ac2fd606c756f0cf705c"
}
],
"resources": {
"resourcesReleased": true,
"documentMutation": false,
"makerFixturesClosed": true
},
"evidence": {
"path": "docs/p6/part-module-batch-fd5f2a819ce1ecc0fe86a896-runtime.json",
"log": "docs/freecad-p6-part-module-batch-fd5f2a819ce1ecc0fe86a896.log"
},
"moduleArtifact": {
"module": "Part",
"worker": "part.worker.ts",
"revision": "77ab0fc012d35e50",
"moduleRevision": "d61eda5f3216a514",
"runtimeUrl": "/kernel/FreeCADWebPartBoxProbe.js",
"wasmUrl": "/kernel/FreeCADWebPartBoxProbe.wasm",
"dataUrl": null,
"assetBaseUrl": "/kernel/",
"profile": "fast-dev"
},
"artifacts": {
"wasm": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.wasm",
"sha256": "77ab0fc012d35e50a6dffd2c8fa6969bd08d2b40464cc938785868076d8a03fe"
},
"loader": {
"path": "web/public/kernel/FreeCADWebPartBoxProbe.js",
"sha256": "a92ef40d705b48d8c31559384efea2901d1147c27c34f4696b6c69aa6f179202"
}
},
"boundaries": [
"Part.makeBoreHole remains a GUI restricted boundary because the official source unconditionally imports and uses FreeCADGui.",
"Any non-exposed record retains its native error or portability boundary; the gate does not fabricate a JavaScript result.",
"All statuses, values and hashes come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only transports and validates the batch envelope."
]
}