{ "schema": "freecad-web-surface-view-provider-module-batch-runtime/v1", "taskId": "FW-P6-FPA-Y", "batchId": "87cbf4a32302b545768121c8", "module": "Surface", "tier": "object-contract", "family": "view-provider", "status": "pass", "dispatcher": "fc_web_dispatch_json", "route": { "command": "surface.objectContractBatch", "native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/SurfaceFamilyProbe.cpp:fc_web_dispatch_json", "facade": "web/src/surface-object-contract-facade.ts", "worker": "web/src/surface-python.worker.ts", "loader": "web/src/module-loader.ts", "routerApi": [ "WebModuleRouter.setArtifact", "WebModuleRouter.loadManifest", "WebModuleRouter.preload" ] }, "input": { "cmd": "surface.objectContractBatch", "args": { "tier": "object-contract", "records": [ { "apiId": "obj:Surface:Surface::Sections", "name": "Surface::Sections", "family": "view-provider", "sourcePath": "src/Mod/Surface/App/FeatureSections.h", "disposition": "planned" } ] } }, "result": { "count": 1, "resourcesReleased": true, "resourceLifecycle": "document-created-recomputed-closed", "dispositionCounts": { "exposed": 1, "restricted": 0, "nonportable": 0, "not_implemented": 0 }, "native": { "cmd": "surface.objectContractBatch", "count": 1, "module": "Surface", "ok": true, "records": [ { "apiId": "obj:Surface:Surface::Sections", "code": "native_object_contract", "family": "view-provider", "hasNSections": true, "message": "Official Surface::Sections view-provider contract replay passed", "name": "Surface::Sections", "native": true, "objectType": "Surface::Sections", "parameterSchema": "native view-provider/object contract", "recomputeCount": 0, "replay": "native-source-view-provider", "resourcesReleased": true, "returnSchema": "Surface::Sections contract result", "sourceEntry": "src/Mod/Surface/App/FeatureSections.h", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "viewProvider": "SurfaceGui::ViewProviderSections" } ], "resourcesReleased": true, "schema": "freecad-web-surface/object-contract-batch/v1", "source": "freecad-source", "tier": "object-contract" } }, "resultSha256": "861f4a68ac834f084e2a9b50e8ac9675b935b915046ae6482f6e63609a73ea87", "replay": { "equal": true }, "crossModule": { "apiId": "obj:Other:Surface::Sections", "code": "unmatched_source_record", "family": "view-provider", "message": "Surface object record is not part of this module-scoped adapter", "name": "Surface::Sections", "native": true, "resourcesReleased": true, "sourceEntry": "src/Mod/Surface/App/FeatureSections.h", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "not_implemented" }, "records": [ { "apiId": "obj:Surface:Surface::Sections", "code": "native_object_contract", "family": "view-provider", "hasNSections": true, "message": "Official Surface::Sections view-provider contract replay passed", "name": "Surface::Sections", "native": true, "objectType": "Surface::Sections", "parameterSchema": "native view-provider/object contract", "recomputeCount": 0, "replay": "native-source-view-provider", "resourcesReleased": true, "returnSchema": "Surface::Sections contract result", "sourceEntry": "src/Mod/Surface/App/FeatureSections.h", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "status": "exposed", "viewProvider": "SurfaceGui::ViewProviderSections" } ], "artifacts": { "module": "Surface", "worker": "surface-python.worker.ts", "revision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "runtimeUrl": "/kernel/FreeCADWebSurfaceRuntimeProbe.js", "wasmUrl": "/kernel/FreeCADWebSurfaceRuntimeProbe.wasm", "dataUrl": null, "assetBaseUrl": "/kernel/", "runtimeSha256": "2855570d459f424ef750936d6d220a582196947befe625aca97d3a7e70a9435b", "wasmSha256": "64d0e8206d71f1ef46151ff794022a9dea7a9e5690bf30889b8c554c83db2a1f", "buildProfile": "fast-dev" }, "boundaries": [ "The fixture covers native Surface::Sections creation, NSections property registration, source-declared view-provider identity, recompute and document release.", "All statuses come from compiled FreeCAD through fc_web_dispatch_json; JavaScript only validates the focused batch." ] }