Skip to content

v1.2.4 — Performance, Test Hardening & CI

Choose a tag to compare

@leesaenz leesaenz released this 14 May 09:32
69e33b9

What's Changed

Phases 21-22 of the v1.2 milestone, plus CI fixes.

Performance & Resilience (Phase 21)

  • Thread-safe LRU analysis cache eliminates redundant computation across comparison calls
  • Polyphase FIR resampling for cross-sample-rate comparison (auto-resamples instead of erroring)
  • FFT spectrum sharing in detect_problems — eliminates 4 redundant FFT passes
  • Environment variable helpers (PHANTOM_PHAT_WINDOW_S, PHANTOM_MASKING_TOP_N) for tuning
  • Adaptive top_n for multi-stem masking based on stem count

Code Review Fixes (Phase 21)

  • Sentinel object for cache miss instead of None (prevents false hits)
  • fcntl.flock advisory locking replaces TOCTOU-vulnerable O_CREAT|O_EXCL pattern
  • Exception chaining with from exc in env helpers
  • Integer array overflow protection in RMS calculations
  • Resampling log downgraded from warning to info (expected operation)

Test Hardening & CI (Phase 22)

  • 60-second stereo fixture for duration-handling tests
  • Error schema consistency tests for all 18 MCP tools
  • Plugin skill content validation (frontmatter, tool references, domain keywords)
  • Long audio duration tests with 120s timeout guards
  • Optional dependency integration tests (matchering, demucs, pedalboard)
  • GitHub Actions CI workflow — Python 3.10 + 3.12 matrix, ruff + pytest
  • Dependabot configuration for pip and GitHub Actions updates

CI Fixes

  • Use setup-uv@v7 (v8 not yet published)
  • Install dev extras for ruff and pytest in CI
  • Pedalboard skip guards for optional dependency tests
  • tomllib fallback for Python 3.10 compatibility

Full Changelog: v1.2.3...v1.2.4