- Rewrite LoadLabelMap to support both JSON object format and legacy line format
- Fix CMakeLists.txt test command to use existing WAV file path
- Move WavFileSource::parse_wav_header and resample_if_needed to private section
- Verify JSON label_map works: demo_offline correctly loads and classifies
- All tests pass: test_core_lib 6/6, demo_offline 20/20