Skip to content

✅ Approved Exemptions

📋 Active Exemptions

EX-001: Legacy FFT Algorithm

Rule exempted: readability-magic-numbers Location: src/dsp/fft_legacy.cpp:45-120 Justification: Third-party Cooley-Tukey FFT with magic constants from original paper Approved by: Tech Lead Date: 2025-01-15 Expires: Never (legacy code, well-tested) Owner: @audio-team

Notes: Algorithm uses constants (0.7071067811865476, etc.) from mathematical derivation. Adding named constants would obscure the mathematical relationship. Original comments reference paper equations.


EX-002: Real-time Allocation

Rule exempted: cppcoreguidelines-no-malloc Location: src/audio/realtime_buffer.cpp:78 Justification: Pre-allocated pool manager, not actual malloc in RT thread Approved by: Tech Lead Date: 2025-01-20 Expires: 2025-06-30 (rewrite planned) Owner: @performance-team

Notes: malloc() call is in initialization only, never in audio callback. RT thread uses lock-free pool allocation. Rewrite to use custom allocator planned for Q2.


EX-003: SIMD Pointer Arithmetic

Rule exempted: cppcoreguidelines-pro-bounds-pointer-arithmetic Location: src/dsp/simd_ops.hpp:128-156 Justification: SIMD intrinsics require raw pointer access Approved by: Tech Lead Date: 2025-02-01 Expires: Never (performance-critical) Owner: @dsp-team

Notes: 40% performance improvement over safe alternatives. AddressSanitizer runs in CI to catch out-of-bounds access. Input sizes validated with static_assert.


EX-004: VST2 SDK Compatibility

Rule exempted: modernize-use-nullptr, readability-identifier-naming Location: src/plugins/vst2_wrapper.cpp Justification: Must match VST2 SDK conventions for binary compatibility Approved by: Tech Lead Date: 2025-02-05 Expires: Never (external API) Owner: @plugin-team

Notes: VST2 SDK uses NULL and specific naming (audioMasterCallback, etc.). Changing would break VST2 host compatibility. Isolated to wrapper file only.


EX-005: JSON Parser Error Codes

Rule exempted: cppcoreguidelines-pro-type-union-access Location: src/serialization/json_parser.cpp:89-112 Justification: Union-based variant for zero-overhead error handling Approved by: Tech Lead Date: 2025-02-10 Expires: 2025-08-31 (migrate to std::variant when C++17 available) Owner: @core-team

Notes: std::variant not available in current C++14 codebase. Union provides zero-overhead error OR value return. Tagged union with explicit type field ensures safety.


🗄️ Expired Exemptions

EX-EXPIRED-001: Raw Pointer in AudioBuffer

Rule exempted: cppcoreguidelines-owning-memory Location: src/audio/buffer_old.cpp (deleted) Justification: Temporary until refactor complete Approved by: Tech Lead Date: 2024-11-15 Expired: 2025-01-31 Resolution: Migrated to std::unique_ptr, file deleted


EX-EXPIRED-002: C-style Cast in Sample Conversion

Rule exempted: cppcoreguidelines-pro-type-cstyle-cast Location: src/audio/sample_convert.cpp:45 (fixed) Justification: Needed for bit-punning until rewrite Approved by: Tech Lead Date: 2024-12-01 Expired: 2025-02-01 Resolution: Replaced with std::bit_cast


📊 Exemption Statistics

Total active exemptions: 5 Temporary exemptions: 2 Permanent exemptions: 3 Expired last quarter: 2

Trend: Decreasing ✓ (was 8 in Q4 2024)


🔍 Review Schedule

All temporary exemptions reviewed monthly. Permanent exemptions reviewed quarterly.

Next review: 2025-03-15