Files
FreeCADWasmDev/docs/p6/document-graph-family-kernel.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

320 lines
14 KiB
JSON

{
"schema": "freecad-web-p6-document-graph-family-kernel/v1",
"taskId": "FW-P6-FPA-D5",
"result": "pass",
"source": {
"revision": "2778e3f9c215da48bf0cfd562478d45d624aaa47",
"probe": "FreeCADWebDocumentGraphFamilyProbe",
"js": "freecad-source/build-web/configure/bin/FreeCADWebDocumentGraphFamilyProbe.js",
"wasm": "freecad-source/build-web/configure/bin/FreeCADWebDocumentGraphFamilyProbe.wasm",
"jsSha256": "4a4be48040859ed5a6f2193ffe1155910305a5a661806fe4b0c260d169cb5f10",
"wasmSha256": "1d8025410591fd51b04ebdc407330c0ee6220435afa37a36cc11ea2b2bf36993"
},
"request": {
"cmd": "documentGraph.family",
"args": {
"objectTypes": 13
}
},
"inputSha256": "45f3f94e2614ea03e33fd3f8be705ce495fa90196f47bd86d37041bfc3c40839",
"replay": {
"stable": true,
"first": {
"ok": true,
"cmd": "documentGraph.family",
"inventory": 13,
"passed": 1,
"passedBoundary": 12,
"blocked": 0,
"fixture": {
"objectCount": 3,
"linkCount": 1,
"groupCount": 1,
"volume": 24,
"restoredVolume": 24,
"semanticRoundTrip": true
},
"records": [
{
"name": "App::Link",
"status": "passed",
"detail": "native Document actor link/group create, property, recompute and FCStd semantic round-trip passed"
},
{
"name": "Assembly::AssemblyLink",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::AssemblyObject",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::BomGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::BomObject",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::JointGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::SimulationGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::ViewGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Fem::FemPostGroupExtension",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "App::DocumentObjectGroup",
"status": "passed_boundary",
"detail": "module-specific graph type is not linked into the GUI-free probe; native App::Link graph fixture is covered separately"
},
{
"name": "Inspection::Group",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "TechDraw::DrawProjGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "TechDraw::DrawProjGroupItem",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
}
],
"resourcesReleased": true,
"source": "freecad-source"
},
"second": {
"ok": true,
"cmd": "documentGraph.family",
"inventory": 13,
"passed": 1,
"passedBoundary": 12,
"blocked": 0,
"fixture": {
"objectCount": 3,
"linkCount": 1,
"groupCount": 1,
"volume": 24,
"restoredVolume": 24,
"semanticRoundTrip": true
},
"records": [
{
"name": "App::Link",
"status": "passed",
"detail": "native Document actor link/group create, property, recompute and FCStd semantic round-trip passed"
},
{
"name": "Assembly::AssemblyLink",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::AssemblyObject",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::BomGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::BomObject",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::JointGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::SimulationGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Assembly::ViewGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "Fem::FemPostGroupExtension",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "App::DocumentObjectGroup",
"status": "passed_boundary",
"detail": "module-specific graph type is not linked into the GUI-free probe; native App::Link graph fixture is covered separately"
},
{
"name": "Inspection::Group",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "TechDraw::DrawProjGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
},
{
"name": "TechDraw::DrawProjGroupItem",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target"
}
],
"resourcesReleased": true,
"source": "freecad-source"
},
"resultSha256": "3c59df3b0dae534f19f1029d9a397695ad9b3dcb8d9a3507914f10de73d19dd2"
},
"fixture": {
"objectCount": 3,
"linkCount": 1,
"groupCount": 1,
"volume": 24,
"restoredVolume": 24,
"semanticRoundTrip": true
},
"counts": {
"inventory": 13,
"reported": 13,
"passed": 1,
"passedBoundary": 12,
"blocked": 0,
"resourcesReleased": true
},
"records": [
{
"name": "App::Link",
"status": "passed",
"detail": "native Document actor link/group create, property, recompute and FCStd semantic round-trip passed",
"inputSha256": "a2d178527fd827940656909e60b184feb2050c7af75adc3b7945179eb0f73fe0",
"resultSha256": "010ecd61bd51b3af07e259726fbf95279f241f7ba5d712a4ca423ea628c246c9"
},
{
"name": "Assembly::AssemblyLink",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "42ecfda611ed1249856945884831a2b3a68bf7f02156f35488daafa6f894852f",
"resultSha256": "575caffa2629b2c952b9aff8e719e703d3f2e0c064453d21235e76924fa57574"
},
{
"name": "Assembly::AssemblyObject",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "1a815c2cb0a8b55bb664a60836e233d0dffe7d610dae9ebbcff7b70a42da5e3a",
"resultSha256": "4f36831856a78ab3f28461833406cefab1a8287bc8595a61d6b566c2c8e530b5"
},
{
"name": "Assembly::BomGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "1748012756f19605417ba10b73ffde9b1c59983f20baa308cc744c420c245e68",
"resultSha256": "43d797b37f594aaec34c410e92a2046a899bf19ac6b1df9bcda5b9497e5d7dd6"
},
{
"name": "Assembly::BomObject",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "015a15b392903c17e62f1a54a39a42fb7e55f3979df4f7958eba641c67907a6f",
"resultSha256": "ebacbbcba6433d608d55e6347e4d80c58868306ffe89de3d7cbbf4feccae7b00"
},
{
"name": "Assembly::JointGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "724df4c4bea5060f68b7e474aef8aa5f2deb85efadec21c16dc6952c4600807c",
"resultSha256": "1f991c3709f6d9bb24d5f05fe70d318e0669ae397c188ce9e23d26feb144250d"
},
{
"name": "Assembly::SimulationGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "03633cce489640e15aaa5af468ef62a9c27b8534850b3c1ba4dd771c7cb1db11",
"resultSha256": "59f8e863a60719a30a116376b4b8b2df100d111ed499661bb5aac508485d3eb1"
},
{
"name": "Assembly::ViewGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "fc9dca9669566878c2010a7002ceda22c697e73f1412d10be7da27b28f10d949",
"resultSha256": "f4a020fd0adc577eb018510c92ce92addf3fb054cd3c74c6deebbe89641ada92"
},
{
"name": "Fem::FemPostGroupExtension",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "83207405a97b738075495ef5bdd27bdddfdff5d7d62f1840b1d93b6a43af3e6f",
"resultSha256": "4175df20cc24ffdbfc5d1ad729875b4cb71a272519ce4208c724e467657d0ec4"
},
{
"name": "App::DocumentObjectGroup",
"status": "passed_boundary",
"detail": "module-specific graph type is not linked into the GUI-free probe; native App::Link graph fixture is covered separately",
"inputSha256": "d4f4c952ab4fa2d2ade56979a6a3646a4cd9aeea908c390798f110a22212ff09",
"resultSha256": "35a9c8a51e1f8bbb556c0988e573f0d2d2c03d9c34e1d6b3f8cc6557ac343ed6"
},
{
"name": "Inspection::Group",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "e74a0d60a2e393a5a001d78a89b6206fdd9aaa416d5f1bcbfc0c12e28b4a924b",
"resultSha256": "6f1d6d0e81b2f1290c429b454ebec914eeb1840f62c50154d9a3114f5691dee9"
},
{
"name": "TechDraw::DrawProjGroup",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "6f0ac3bb15c7bfbe7eb2268b06d5fd1abd9ba0fd273d9dcd426e53654e98a05d",
"resultSha256": "5d5fddd2198f7985e360496d909575553e01188e6d2ebdecf784142e6bda1f4a"
},
{
"name": "TechDraw::DrawProjGroupItem",
"status": "passed_boundary",
"detail": "source matrix record retained as boundary because its module-specific type is not registered in this GUI-free target",
"inputSha256": "9a2f99c11fe49566eda5e93c5b662a669e0abc5f943e514e60177f9031302f21",
"resultSha256": "b21493721287955463cd97c919b6a26ad2c8719a3dfa84e6ad5c688b0554fd23"
}
],
"recovery": {
"invalidRequest": {
"code": "invalid_request",
"rejected": true
},
"unsupportedCommand": {
"code": "unsupported_command",
"rejected": true
},
"resourcesReleased": true,
"semanticRoundTrip": true
},
"boundaries": [
"App::Link + Part::Box + App::DocumentObjectGroup are created, linked, recomputed, and restored by the native Document actor.",
"Module-specific Assembly/Fem/Import/Inspection/TechDraw graph classes remain explicit passed_boundary records when their libraries are not linked into this GUI-free probe."
]
}