{ "schema": "freecad-web-p6-techdraw-action-05-persistence-native/v1", "taskId": "FW-P6-TDR-ACT-05-G", "module": "TechDraw", "action": "save/reopen", "result": "passed", "applicable": true, "fixture": { "document": "TechDrawNative", "objects": [ "Part::Box", "TechDraw::DrawPage" ], "path": "/tmp/TechDrawNative.FCStd" }, "observed": { "objectCount": 2, "objectType": "Part::Box", "drawPageRestored": true, "persistenceRoundTrip": true, "resourcesReleased": true, "semanticReplayStable": true }, "artifacts": { "kernel": "docs/p6/techdraw-action-05-kernel-native.json", "facade": "docs/p6/techdraw-action-05-facade-native.json", "chrome": "docs/p6/techdraw-action-05-native-chrome.json", "smoke": "docs/freecad-p6-techdraw-native-full-pthread-smoke-r1.log", "wasm": "freecad-source/build-web/techdraw-native-full-pthread/bin/FreeCADWebTechDrawRuntimeProbe.wasm", "wasmSha256": "5ea92b155a47760a1cc9728342c130b16a6da378abbac7e4858774eb1d513fcb", "dependencyClosure": "docs/p6/techdraw-pthread-closure.json" }, "boundaries": [ "FCStd ZIP metadata can change byte size between writes, so replay equality is checked from restored document semantics rather than archive byte identity.", "The fixture proves native Part::Box and TechDraw::DrawPage restoration; arbitrary TechDraw graphs and cross-version migrations are outside this action contract." ] }