{ "schema": "freecad-web-module-batch-pipeline/v1", "generatedAt": "2026-09-14T21:34:55.617379+00:00", "status": "implementation_ready", "implementationMode": "feature-first-deferred-validation", "validationDeferred": true, "implementationReceipt": { "batchId": "source-test-routing-20260915", "module": "Web", "tier": "feature-workflow", "family": "desktop-command-commandtest", "recordIds": [ "Web:desktop:Std_Test1", "Web:desktop:Std_Test2", "Web:desktop:Std_Test3", "Web:desktop:Std_Test4", "Web:desktop:Std_Test5", "Web:desktop:Std_Test6" ], "recordCount": 6, "selectedRecordCount": 6, "remainingRecordCount": 0, "status": "implementation_ready", "validation": "user_during_use", "target": "FreeCADWebPartBoxProbe", "buildTree": "freecad-source/build-web/configure", "artifacts": [ "freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.js", "freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.wasm" ], "source": "outer-build", "scope": "feature-capability", "updatedAt": "2026-09-14T21:34:54.526278+00:00" }, "implementationReceipts": [ { "batchId": "source-test-routing-20260915", "module": "Web", "tier": "feature-workflow", "family": "desktop-command-commandtest", "recordIds": [ "Web:desktop:Std_Test1", "Web:desktop:Std_Test2", "Web:desktop:Std_Test3", "Web:desktop:Std_Test4", "Web:desktop:Std_Test5", "Web:desktop:Std_Test6" ], "recordCount": 6, "selectedRecordCount": 6, "remainingRecordCount": 0, "status": "implementation_ready", "validation": "user_during_use", "target": "FreeCADWebPartBoxProbe", "buildTree": "freecad-source/build-web/configure", "artifacts": [ "freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.js", "freecad-source/build-web/configure/bin/FreeCADWebPartBoxProbe.wasm" ], "source": "outer-build", "scope": "feature-capability", "updatedAt": "2026-09-14T21:34:54.526278+00:00" } ], "coalescedBatchCount": 1, "staticReadiness": { "selected": 6, "ready": 6, "missing": 0, "missingIds": [], "rejectedMarkers": [], "blockingGaps": [], "uiContainers": 0, "uiOnly": false }, "batchId": "source-test-routing-20260915", "module": "Web", "target": "FreeCADWebPartBoxProbe", "buildKind": "native", "buildTree": "freecad-source/build-web/configure", "buildRequired": false, "buildReuse": { "reason": "content-hash+ninja", "cacheHit": true, "inputDigest": "30b8b7616347f295c6bc90c77b745cf9bee9a22f618bd9261c85b2d7fa0c3171", "inputHashCacheHits": 5, "inputFiles": 5, "artifactHashCacheHits": 2, "artifacts": 2, "directLinkDependencies": 51, "dependencyDirty": false }, "totalSeconds": 10.363, "steps": [ { "name": "module-registry", "command": [ "/usr/bin/python3", "tools/generate_web_module_registry.py" ], "seconds": 0.104, "exitCode": 0, "stdout": "{\"output\": \"web/src/module-registry.generated.ts\", \"modules\": 32, \"bytes\": 34753, \"changed\": false}", "stderr": "" }, { "name": "capability-registry", "command": [ "/usr/bin/python3", "tools/generate_feature_capability_registry.py" ], "seconds": 8.885, "exitCode": 0, "stdout": "{\"status\": \"generated\", \"modules\": 32, \"commands\": 1452, \"routed\": 1401, \"implementationRequired\": 51, \"interactive\": 94, \"genericApiEntry\": 25, \"genericCommandEntry\": 1197, \"reactNavigation\": 85, \"needsParameterUi\": 0, \"needsReactWorkflow\": 51, \"artifactModules\": 32, \"validationDeferred\": 1452}", "stderr": "" }, { "name": "preflight", "command": [ "/usr/bin/python3", "tools/check_web_link_closure.py", "freecad-source/build-web/configure", "FreeCADWebPartBoxProbe", "--json" ], "seconds": 0.042, "exitCode": 0, "stdout": "{\"schema\": \"freecad-web-link-preflight/v1\", \"buildDirectory\": \"freecad-source/build-web/configure\", \"requestedBuildDirectory\": \"freecad-source/build-web/configure\", \"target\": \"FreeCADWebPartBoxProbe\", \"requestedTarget\": \"FreeCADWebPartBoxProbe\", \"resolvedTarget\": \"FreeCADWebPartBoxProbe\", \"profile\": \"fast-dev\", \"needsPthread\": true, \"hasPthreadFlag\": true, \"missingArchives\": [], \"runtimePresent\": true, \"wasmPresent\": true, \"errors\": [], \"warnings\": [], \"cacheHit\": true}", "stderr": "" }, { "name": "build", "command": [ "cmake", "--build", "freecad-source/build-web/configure", "--target", "FreeCADWebPartBoxProbe", "-j8" ], "seconds": 0.202, "exitCode": 0, "stdout": "[0/2] Re-checking globbed directories...\n[1/4] Generating version_file\ngit\n/home/mes123456/FreeCADWasmDev/working/FreeCAD/freecad-source/build-web/configure/src/Build/Version.h.out written", "stderr": "" }, { "name": "artifact-sync", "command": [ "node", "web/tools/sync-assets.mjs" ], "seconds": 0.055, "exitCode": 0, "stdout": "{\"modules\":32,\"manifest\":\"public/modules/manifest.json\",\"timing\":{\"totalSeconds\":0.014738153999999998,\"copied\":0,\"skipped\":104,\"missing\":14,\"hashComputed\":0,\"hashCacheHits\":194,\"copySeconds\":0,\"hashSeconds\":0,\"manifestSeconds\":0.0005101589999999945,\"manifestChanged\":false}}", "stderr": "" }, { "name": "business-audit", "command": [ "/usr/bin/python3", "tools/generate_web_business_completion_audit.py" ], "seconds": 1.075, "exitCode": 0, "stdout": "{\"status\": \"generated\", \"verdict\": \"incomplete\", \"featureReceiptBacklog\": 1, \"workbenchCommands\": 35, \"formatWorkflows\": 0, \"productWorkflows\": 0}", "stderr": "" } ], "supportHashes": { "freecad-source/src/WebAssembly/FreeCADCoreProbe/WebRuntimeProbe.cpp": "83510cc09160f328726f4e396f44e27feb205723ad66a68b8beea93e214e47ce", "freecad-source/src/WebAssembly/FreeCADCoreProbe/WebViewCommands.h": "a7702327b5b5b79b6dc335bb9fbdecdfaa4470432cd88c597f8cddfa6b59d27d", "freecad-source/src/WebAssembly/FreeCADCoreProbe/WebDockOverlayCommands.h": "a86b2a33ab18abe062363a4596253906cb95b890c6f41b3408e35473973761cf", "freecad-source/src/WebAssembly/FreeCADCoreProbe/WebMacroCommands.h": "b1a16a95f1394dcd6101fa657e9c662f8d56a70a7e6146ad7adc417ded2ded80", "freecad-source/src/WebAssembly/FreeCADCoreProbe/WebMacroRecording.h": "cf428c5f50464170e0e33cb5dd81c94e36ac54e2d786acf25df5795825862a4f", "web/src/web-desktop-adapter.ts": "574956a33eeb6f2c9ec718fa15f9739a420c3a7282dd4f8f6a6f2b28712fcfac", "web/src/workbench-shell.tsx": "30f57c3811523eef705b37b546387f0dfd4ce847df6b14e25b50bf5b81ba2703", "web/src/desktop-command-dispatcher.ts": "282a77bbae13b767b178630aeb381a1238421c3479a7e7294cef27a8cf418f7b", "web/src/part.worker.ts": "4ebb78130a8b5d9b5312548956aaab3507b367e9523ffa1f52d0f353dbb89585", "web/src/web.worker.ts": "33e1abe5a99c35b2837b6d6e34555fdc31fed51564200d929cf333352832e5f8", "web/src/document-view-routes.json": "517e4f9a0b3a4a6535de6b4be799b4ed162480d8389abd17b41c88bd3480eaf4", "freecad-source/src/WebAssembly/FreeCADCoreProbe/PartBoxProbe.cpp": "be96df0fb315527aa93e5f8f3518097e3bfdf045e49e6822456ee61da79ddcac", "freecad-source/src/WebAssembly/FreeCADCoreProbe/DocumentProbe.cpp": "bfbfa307ed5d0a768d8b4220e5629d4dda86c4e50b731dc79eb1777d4d1dd1b9", "freecad-source/src/WebAssembly/FreeCADCoreProbe/NativeDocumentView.h": "0d77f28a19b2d81c68d28224fb2a4d45117a3769bcacc91230e334e4adbc158c", "web/src/part-view-facade.ts": "2575230d1c15477e01b24cf7c21779412cbd41b07945988132dc03af6f393d7a", "web/src/part-save.worker.ts": "6607d16dd786ce25c5b4fda1338c30eb21dfd4d9532a123821a239016386c456", "web/src/web-view-task.tsx": "60559cf48a37e362e7b050d4bee590e187c450e844d716f287089fa2d254cf3b", "web/src/project-shell.tsx": "915b58b4726453704b536d089ee7da19c350bab7aff7c2f01404797f72f409bb", "web/src/web-owner-standard-adapter.ts": "16c72f743c1d8b7f8b8c15af314abca7f418e585e386285e215e991be8748648", "web/src/web-standard-command-contract.ts": "f51976ff0a614b80fbd99704acc90d7b64851a6a88cbde49d1f6eb8ca2eccf8e", "web/src/web-standard-task.tsx": "209f23ea58b38453c580737d4fe48b357a34eaac44d77adebe2a249a4109b8db", "web/src/web-website-adapter.ts": "2da45f4cba24e026b39f2895d8f0ba3c5e528226dfa3989d9e86ac9fc54ba7ce", "web/src/web-website-task.tsx": "0e49a638b28c752b69940bf7afe43a52fd8215a60639f891278438ef6b795547", "web/src/web-group-adapter.ts": "c278d85d747d2e4d94c0a8f7d9ff9c2f9bbcb07d1a15835e43beccdb5417a487", "web/src/web-group-contract.ts": "4c63ad76614cba8398e28a868ca8ab7db3c5e3ef67efff3fd4edffe99a44dfe8", "web/src/web-group-task.tsx": "f8ac4b60c4bcbc2a1e7571499ff872eec4b5eb0eb636233e62740fd558c8e4e3", "web/src/web-commanddoc-contract.ts": "e430848ef7a092a11d466ba9e1b7ed1fb57651848d64306d000138eccde842d2", "web/src/web-commanddoc-task.tsx": "293ba1d8543c6fcf4e91e84b169781310d7a8fe681f027e3c7bd161f253a81dc", "web/src/web-link-contract.ts": "421562c0174d4445e3f927b927e20f2f413c01f53ca551fb4bad8506ef133571", "web/src/web-source-test-adapter.ts": "fcf9daad6ba4d0f252db8209b2dd16a898e59fe5f3f575c79d97ac3768dc96ba", "tools/generate_feature_capability_registry.py": "440bbabfcd267cbea8391472d2132a05cea83a8a9800c9d148b805d740560b58" } }