- Extract infer_provider_from_spec, supertonic_voice_from_spec, split_speaker_reference, formula_from_kokoro_entry, coerce_truthy to domain/voice_utils.py - Add tests/test_voice_utils.py with 24 tests - All tests match old behavior