ManagedClientHandle::update_targets() had a one-line rustdoc that didn't say targets is a full desired-set replacement, that an unchanged live target continues undisturbed, or that a changed config or a terminal-generation resubmission starts a fresh generation even for byte-identical config.