diff --git a/playbooks/deploy-vibevoice.yaml b/playbooks/deploy-vibevoice.yaml index f204372..fa65b80 100644 --- a/playbooks/deploy-vibevoice.yaml +++ b/playbooks/deploy-vibevoice.yaml @@ -88,8 +88,16 @@ verify: shell: curl -sf -o /dev/null http://localhost:{{ host_port }}/health changed_when: "false" - - name: /v1/audio/voices returns valid JSON - shell: curl -sf http://localhost:{{ host_port }}/v1/audio/voices | grep -q '"voices"\|"voice"\|alloy\|Carter' + - name: /v1/audio/voices returns OpenAI list-shape JSON + # Response is `{"object":"list","data":[...]}` per OpenAI's + # /v1/audio/voices contract. `data` may be empty when no voice + # files are seeded yet at /worktank/vibevoice/voices/ — the + # wrapper is still healthy. Don't grep for sample voice names; + # the seed set is user-controlled and a fresh install legitimately + # ships with zero voices. + shell: | + curl -sf http://localhost:{{ host_port }}/v1/audio/voices \ + | python3 -c "import json,sys; d=json.load(sys.stdin); assert d.get('object')=='list' and isinstance(d.get('data'), list)" changed_when: "false" - name: Container is running