class SubgraphDiscoveryThe client for interacting with the KV store.
Drop all discovery state. Called on thread rebind / dispose so a new thread's subagents cannot bleed into the previous UI.
Seed subgraph hosts from checkpoint history (see
namespace-from-history.collectSubgraphHostNamespaces) so subgraph
cards render on thread refresh without waiting for the depth-1 SSE
replay. Supplies the host/promotion decision from history instead
of the live strict-prefix heuristic, then reuses the same
#ensureShadow / #promoted / #commit path. Idempotent: never
downgrades an entry that already reached a terminal state.