ci/woodpecker/pr/ci Pipeline was successful
CaService hard-requires STEP_CA_URL/provisioner config at construction, so an unconditional FederationModule import makes every standalone/local boot die at DI time. Gate the module on loadConfig().tier === federated, matching the documented intent of the federation compose profile (must not start in non-federated dev). Verified in mosaic-dev box: standalone tier boots to "Gateway listening on port 14242" with bootstrap/socket.io/auth surfaces responding; federated tier path unchanged.