# OBS 31+ native caption compatibility spike

Implementation source inspection confirms OBS 31 exposes `obs_output_output_caption_text2` and `obs_frontend_get_streaming_output`. The bridge calls the caption API only from its IPC worker against the active streaming output; it never calls it from an audio/render callback.

This is not Twitch acceptance evidence. The following target-topology test remains mandatory before live delivery can be labelled ready:

1. Build and install the signed bridge through the companion on Windows 11 with OBS 31+.
2. Start a private Twitch stream using the production service/output configuration.
3. Submit incrementally revised text with 1.5–3 second display durations.
4. Verify the Twitch web player and at least one mobile client expose a user-toggleable CC control.
5. Record whether OBS/Twitch queue, replace, or drop revisions and tune the adapter to prevent stale caption backlog.
6. Capture OBS CPU, render/encoder missed frames, audio dropouts, bridge queue drops, and network throughput before/after.

Until this passes, the companion must allow the exact simulated delivery stream in Test mode but refuse to describe Twitch closed captions as verified. It must never substitute a baked-in open-caption overlay.
