# BIM_Welcome implementation boundary Batch: `21ed01287dd3203fe1bc5fe3` Selected record: `BIM:desktop:BIM_Welcome` Status: implementation remains incomplete; no executable registration claim. ## Confirmed desktop behavior Source: `freecad-source/src/Mod/BIM/bimcommands/BimWelcome.py:35`. - `Activated` loads `:ui/dialogWelcome.ui` and connects both link labels. - The dialog is centered on the main window and executed modally. - Acceptance runs `BIM_Setup`. - After the dialog returns, `PARAMS.SetBool("FirstTime", False)` runs. - A link hides the form. Links containing `BIM_Start_Tutorial` run `BIM_Tutorial`; other links open through desktop URL services. - The displayed class has no document-dependent `IsActive` method. ## Remaining connections Expose bounded source anchors for the existing welcome branch in `freecad-source/src/WebAssembly/FreeCADCoreProbe/BIMSelectedWorkflow.h`, its execution owner in `BimRuntimeProbe.cpp`, and its registration in `BIMDesktopCommandRegistry.h`. The supplied command lists and provider references alone do not establish executable welcome behavior. Expose the welcome UI handling and result contract in `web/src/bim-desktop-adapter.ts` and `web/src/workbench-shell.tsx`, plus the desktop `dialogWelcome.ui` resource and `PARAMS` definition. Connect the mounted dialog, acceptance to setup, tutorial and external links, and the native preference update using those actual contracts. Preserve the desktop timing of the preference update and activation prerequisites. Inspect the applicable catalog and generator anchors before changing registration through `tools/generate_feature_capability_registry.py`. Do not register an unconditional result or treat provider presence as completion. The four permitted supplemental source windows were consumed by packet metadata, the desktop command, the selected workflow header beginning, and argument preparation at adapter line 151. The latter two windows did not expose the welcome implementation. This is a source-window boundary, not evidence that business source is absent. No tests, builds, browser validation, acceptance, benchmarks, sync, or route receipts were run. Build, sync, and route receipts remain owned by the outer pipeline.