catalog: status: down for the 6 unreachable services; StatusT extended

Per althing thread 01KRCNSF0V5NDCKB34H663MXHS — the catalog declared
14 services but 6 of them aren't running on irv-ml1 (chatterbox,
index-tts, qwen3-tts, cosyvoice, voxtral, kyutai-tts; missing from
docker ps entirely). Without action, the asset-engine UI would
declare them as available and consumers would hit unreachable
endpoints.

asset-engine consumer chose option (1) of three I sketched: extend
StatusT with `down` and treat it identically to `catalog-deferred`
in the picker (greyed, non-clickable). Lightweight, declarative, no
runtime health-check machinery, easy to revert when services
return.

Changes:

- StatusT enum (in asset_engine/catalog.py — committed there
  separately) extended from
    Literal["ready", "catalog-deferred", "experimental"]
  to
    Literal["ready", "catalog-deferred", "experimental", "down"]
- 6 services flipped to status: down.
- CATALOG-CONTRACT.md: replaced the bare-enum status row with a
  four-row sub-table that names each value's meaning AND its picker
  behavior. `down` and `catalog-deferred` get the same UI treatment
  but the tooltip text differentiates ("Catalog-deferred" vs
  "Service down — temporarily unreachable on irv-ml1") so the
  semantic distinction (design state vs fleet-ops state) is
  preserved.
- CATALOG-CONTRACT.md versioning policy table: new row codifying
  "extending an existing enum (StatusT, FieldTypeT, ResponseTypeT,
  CategoryT) with a non-conflicting value, with the consumer
  updated in the same coordinated change" → no catalog_version
  bump. Explicit rule for future enum extensions.
- JSON Schema regenerated.

catalog_version stays at 1.

Operational note (not catalog-side): the down services likely got
reaped 13+ days ago per the docker timestamps when other unrelated
work was done on irv-ml1. Bringing them back is a deploy task
outside this commit's scope. Flip status: down → ready in this file
once each one's confirmed running.
This commit is contained in:
vh
2026-05-11 16:31:53 -07:00
parent a0d09edc42
commit 95f24573e4
3 changed files with 19 additions and 2 deletions
+6
View File
@@ -199,6 +199,7 @@ services:
Zero-shot voice cloning from ~5s reference. 9 paralinguistic tags.
category: tts
version: 1
status: down
host: irv-ml1
endpoint: http://10.100.79.3:8196/v1/audio/speech
method: POST
@@ -258,6 +259,7 @@ services:
(timbre from one reference, emotion from another). 22050 Hz fixed output.
category: tts
version: 1
status: down
host: irv-ml1
endpoint: http://10.100.79.3:8192/v1/audio/speech
method: POST
@@ -333,6 +335,7 @@ services:
instruction-driven emotion, voice cloning.
category: tts
version: 1
status: down
host: irv-ml1
endpoint: http://10.100.79.3:8191/v1/audio/speech
method: POST
@@ -389,6 +392,7 @@ services:
English prosody not ElevenLabs-grade — use Qwen3-TTS for English.
category: tts
version: 1
status: down
host: irv-ml1
endpoint: http://10.100.79.3:8190/v1/audio/speech
method: POST
@@ -497,6 +501,7 @@ services:
+ Moshi dialogue framework. OpenAI-compat HTTP wrapper over Rust streaming core.
category: tts
version: 1
status: down
host: irv-ml1
endpoint: http://10.100.79.3:8198/v1/audio/speech
method: POST
@@ -629,6 +634,7 @@ services:
8 languages, 70ms model latency, 9.7× realtime. Served via vLLM-Omni.
category: tts
version: 1
status: down
host: irv-ml1
endpoint: http://10.100.79.3:8197/v1/audio/speech
method: POST