mp.command_native second argument is a default return value, not a
completion callback: the callback was discarded, so exports never
reported success or failure and the synchronous subprocess blocked mpv.
Use mp.command_native_async at the four sites that pass a callback.
transcribe-subtitles built a bash -c string with the media path
interpolated, so a filename containing $(...) executed on trigger.
Pass argv directly, carry LD_LIBRARY_PATH via env, and replace the
trailing shell & with detach = true.
Verified on mpv 0.41.0: callback fires, hostile filename inert.