Features: record exhaustedPattern as a deferred reload key

Dai Ha
2026-08-15 10:06:33 +02:00
parent 76690bca13
commit a4fc43f465
+1 -1
@@ -738,7 +738,7 @@ it owns. Changing one pool's `weight` cost the whole fleet's state, so in practi
| Class | Keys | What a reload does |
|---|---|---|
| **Hot** | `fleet:` (pools + `charters` + `tabLabel`), `placement:`, an existing profile's `weight` / `maxLoad` | takes effect on the next spawn |
| **Deferred** | `lifecycle:`, `leadHeartbeat:`, `guard:`, `worktreeRoot:`, `spawnReadyTimeoutMs` / `spawnReadyPollMs`, **adding or removing** a profile, **and an existing profile's launch settings** (`model`, `baseUrl`, `argv`, `env`, `configDir`, `mcpUrl`, `tabLabel`) | accepted into the new config, but the startup wiring keeps the old value; logged by name |
| **Deferred** | `lifecycle:`, `leadHeartbeat:`, `guard:`, `worktreeRoot:`, `spawnReadyTimeoutMs` / `spawnReadyPollMs`, **adding or removing** a profile, **and an existing profile's launch settings** (`model`, `baseUrl`, `argv`, `env`, `configDir`, `mcpUrl`, `tabLabel`, `exhaustedPattern`) | accepted into the new config, but the startup wiring keeps the old value; logged by name |
| **Cold** | `bind:`, `herdrSocket:`, `broker:`, `auth:` | **refuses the whole reload** |
A changed cold key refuses everything, not just itself. Applying the hot half and warning about the