#14080 and #14081 landed together and their error tagging now overlaps:
`tool_error` (from #14081) leads every route error with its `[code]`
tag, while an audio.cpp failure whose message already starts with
`[out_of_memory]` got the tag a second time (`[out_of_memory]
[out_of_memory] Out of memory.`). Five tests in
`tests/test_mcp_audio_hints.py` fail on main because of it.
- `studio_mcp/errors.py`: `tool_error` leaves a message that already
starts with its own `[code]` tag as it is.
- `tests/test_mcp_audio_hints.py`: the gpu_busy case expects the
`[gpu_busy retry_after=5]` tag #14081 adds (still no audio tag), and the
"other errors" cases check that the audio path returns exactly what the
generic route error returns instead of asserting no tag at all.
`python -m pytest tests/test_mcp_*.py`: 2038 passed, 5 skipped (main: 5
failed in test_mcp_audio_hints.py).