TTS: latency measurement caveat + legacy /streaming-tts/stream artifacts retired

Two related updates to the TTS docs.

Latency measurement caveat added to the Lightning v3.1 + Pro model cards. The published ~200 ms TTFB is measured from a client in the same AWS region as the inference pool (India ap-south-1, USA us-west-2, geo-routed). Client-to-server RTT adds on top. A naive TTFB test from a laptop far from either region typically reports 500-800 ms because RTT dominates synthesis time. Callout now spells this out next to the number so readers know to test from their production network position, not their dev machine.

Legacy /waves/v1/streaming-tts/stream artifacts retired. The lightning-tts-ws.mdx API-reference page and the stream-tts-ws.yaml AsyncAPI + overrides are removed. Both predated the unified /waves/v1/tts/live split and documented the SSE transport with the WebSocket envelope shape, which was contradictory. The unified endpoint has been the documented and supported path for a while; these files were dormant. Generator wiring, spec-drift allow-list, and nav-ignore lists updated accordingly.

Canonical TTS response shapes on /waves/v1/tts/live, now documented on stream-tts.mdx with the exact wire fields (session/request IDs on WS, status + done on SSE) plus a porting callout so a WebSocket parser doesn’t silently drop SSE frames.

  • WebSocket chunks: {"session_id","request_id","status":"chunk","data":{"audio":"..."}}.
  • WebSocket terminator: {"session_id","request_id","status":"complete"}. No message, no done. Detect completion with status == "complete".
  • SSE chunks: {"audio":"...","done":false,"status":"206"}.
  • SSE terminator: {"status":"200","done":true}. done is on every frame (false on chunks, true on terminator). Check done == true, not "done" in msg.

The two shapes are not interchangeable. A parser written for the WebSocket envelope will silently drop every SSE frame because msg["data"] is undefined.