9ad912a791
_resolve_task_provider_model returns early on an explicit provider arg, which skips the config block that consults auxiliary.<task>.base_url / api_key. Any caller passing provider explicitly (e.g. resolve_vision_provider_client(provider="custom", ...)) bypasses the configured custom endpoint and falls through to main-runtime resolution, silently routing the task to the wrong backend. Adopt the task's configured base_url/api_key before the early returns, but only when no explicit base_url was given and the config targets the same provider (or names none) — a caller forcing a *different* provider keeps full explicit-arg priority, and an explicit base_url still wins over config. Fixes #58515