Discovery Failure Reporter
Reports a runner's discovery failures once per change, not once per attempt.
Discovery used to run once, at startup, so a warning per failure was one warning. Now that a LocalModelCatalog asks on every refresh, a runner that is down would warn every few seconds for as long as it stays down. The first failure at an endpoint, and any failure that differs from the last one, is a warning; a repeat is debug; the first success afterwards says it recovered.
Parameters
logger
the runner configuration's own logger, so the lines keep their existing category