Wrap startRecording in do/catch so audio setup failures don't crash.
Validate recording format has channels before installTap. Use
DispatchQueue.main.async instead of Task{@MainActor} in recognition
callback to avoid dispatch queue assertions.
Closes #13
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>