56e352fe65
The operator's 'PAUSED readyState 0' (no error) means soundtrackUrl() returned null — the running app's /api/ring has no audio for the scale, the signature of a STALE uvicorn server (Python predates the audio code; static reload doesn't restart it). Status now shows url=<…|NONE>, ring=server|SYNTH, scale id so it's unambiguous. Fresh server verified: ▶ playing rs=4. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>