Enabling the analysis worker ran the vision validators: the SSRF gate
rejected the default `localhost` endpoint and a model id was required.
With the OCR backend active those fields are never used, and the
OCR-only settings UI no longer exposes them — so an operator could not
turn the worker on (a 422 with no fixable field).
Gate both checks on `base.backend == Vision`. The basic malformed-URL
sanity check stays unconditional. Existing vision-validation tests now
use a Vision base; a new test pins that enabling on the OCR backend with
the default localhost endpoint and an empty model validates cleanly.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>