2.4 KiB
Phase 8: Test and Constant Cleanup - Discussion Log
Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
Date: 2026-03-27 Phase: 08-test-and-constant-cleanup Areas discussed: Constant removal strategy, Frequency range bound, Test naming Mode: Auto (all decisions auto-selected)
Constant Removal Strategy
| Option | Description | Selected |
|---|---|---|
| Delete entirely | Remove NumLayers and GainPerLayer from config.go — bank.go already computes dynamically | ✓ |
| Deprecate with comment | Keep but mark as deprecated for backward compatibility | |
| Replace with function | Convert to a function that returns len(ClassFreqConfigs) |
User's choice: [auto] Delete entirely (recommended default) Notes: NewBank already computes gainPerLayer as 1.0/len(cfgs). No external callers reference either constant.
Frequency Range Test Bound
| Option | Description | Selected |
|---|---|---|
| Dynamic validation | Derive valid range from data (positive + below Nyquist) — no magic numbers | ✓ |
| Generous static bound | Replace 1100 with e.g. 8000 Hz — simple but still hardcoded | |
| Remove range test | Delete TestFrequenciesInRange entirely — other tests cover correctness |
User's choice: [auto] Dynamic validation (recommended default) Notes: Key constraint: adding a class in 1100-4000 Hz range must not require editing this test.
Test Naming
| Option | Description | Selected |
|---|---|---|
| Rename to TestClassFreqConfigsMatchAllClasses | Reflects actual invariant after NumLayers removal | ✓ |
| Keep current name | Leave as-is despite referencing deleted constant | |
| Delete test | TestClassFreqConfigsComplete already covers same invariant |
User's choice: [auto] Rename to TestClassFreqConfigsMatchAllClasses (recommended default) Notes: Test body already uses len() comparisons, only the name references NumLayers.
Claude's Discretion
- Specific approach for dynamic frequency range validation (Nyquist-based vs generous static bound)
- Whether to consolidate TestClassFreqConfigsComplete with renamed test
- Whether WhisperFloor needs adjustment (likely not)
Deferred Ideas
None — discussion stayed within phase scope.