diff --git a/bridged/bridged.example.yaml b/bridged/bridged.example.yaml index 9e18d9f..0752f19 100644 --- a/bridged/bridged.example.yaml +++ b/bridged/bridged.example.yaml @@ -232,13 +232,17 @@ placement: weighted # Not every key can move under a running daemon, and the difference is about what already exists # when the reload happens — not about how important the key is: # HOT → takes effect on the next spawn: the whole `fleet:` block (every role pool and -# `tabLabel`), `placement:`, and an existing profile's weight / maxLoad / model / -# tabLabel. +# `tabLabel`), `placement:`, and an existing profile's weight / maxLoad. Those are +# hot because the placement policy reads them through a supplier — being config is +# not by itself enough to make a key hot. # DEFERRED → accepted into the new config, but the wiring built at startup keeps the old value # until you restart: `lifecycle:`, `leadHeartbeat:`, `guard:`, `worktreeRoot:`, -# `spawnReadyTimeoutMs` / `spawnReadyPollMs`, and ADDING or REMOVING a profile (a new -# backend needs its own launcher, and launchers are built once). The reload logs -# these by name rather than pretending they applied. +# `spawnReadyTimeoutMs` / `spawnReadyPollMs`, ADDING or REMOVING a profile (a new +# backend needs its own launcher, and launchers are built once), AND an existing +# profile's launch settings — model, baseUrl, argv, env, configDir, mcpUrl, tabLabel. +# The launcher takes a copy of `profiles:` at startup and resolves every spawn out of +# that copy, so those never reach a launch until you restart. The reload logs them by +# name rather than pretending they applied. # COLD → cannot change at all: `bind:`, `herdrSocket:`, `broker:` and `auth:`. The socket is # bound, the broker connection is open, and the auth mode decides who may reach the # port that is already listening. diff --git a/bridged/src/main/java/dev/ltms/bridged/config/ConfigRef.java b/bridged/src/main/java/dev/ltms/bridged/config/ConfigRef.java index 1750234..37001d5 100644 --- a/bridged/src/main/java/dev/ltms/bridged/config/ConfigRef.java +++ b/bridged/src/main/java/dev/ltms/bridged/config/ConfigRef.java @@ -7,6 +7,7 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; @@ -27,13 +28,18 @@ import java.util.function.Supplier; *