SIGN IN SIGN UP

fix(models): seed IBM WatsonX with current models and stop deprecated-flag overloading (#14670)

The Models page showed 'IBM WatsonX — 0 models': every static entry in
watsonx_constants.py was flagged deprecated=True (the flag was overloaded
to mean 'hide from pickers'), and the unified catalog drops deprecated
models by default. fetch_live_watsonx_models then copied the stale flag
onto matching live results, so current models (e.g.
ibm/granite-guardian-3-8b) stayed hidden even after credentials were
configured.

- Reseed watsonx_constants.py with the current foundation_model_specs
  catalog (granite-4, llama, mistral, gpt-oss chat models; granite/slate
  embeddings). deprecated=True now only marks genuinely withdrawn models,
  kept so legacy flows still resolve.
- fetch_live_watsonx_models no longer inherits the static deprecated
  flag: the live query already filters !lifecycle_withdrawn, so stale
  seed data can never hide live models again. tool_calling lookup is
  preserved. API-failure fallback name lists exclude withdrawn models.
- The WatsonX embedding models are visible again: WatsonxEmbeddings is
  fully wired in the unified class registry, so the KB-era hiding
  rationale no longer applies.
- GET /api/v1/models now emits live_discovery per provider, and the
  Model Providers dialog uses it to render a 'models are discovered once
  credentials are configured' empty state for unconfigured live-discovery
  providers instead of the generic 'no models available' state.
E
Eric Hare committed
24fea58140b0e890c51cf4d3ae2800e9f9dbf2d3
Parent: eae812a
Committed by GitHub <noreply@github.com> on 8/19/2026, 11:13:57 PM