6ff341c4d6
Salvaged from #78434 by @Slobaka (also the issue reporter; earlier than the competing #78436). hermes doctor no longer paints a green web check when the explicitly selected provider cannot initialize — web splits into per-capability rows (web search / web extract) resolved through the same registry resolvers the dispatchers use, with readiness from a true availability probe (_provider_is_ready). Keyless-tier integration on top of the salvage: - _provider_is_ready counts is_keyless_available() as ready — keyless mode is a working state, not a misconfiguration (zero-config installs and selected-keyless Tavily/Firecrawl show ok, not warn) - Tavily/Firecrawl gain is_keyless_available() (True only when explicitly selected — they stay out of the zero-config fallback) - doctor triggers plugin discovery before reading the registry (fresh doctor processes saw an empty registry and warned on everything) E2E: searxng-selected-without-URL warns (the #78412 repro); zero-config, tavily-keyless, firecrawl-keyless all read ok; parallel pinned paid without a key warns.