Files
yoloyolo/.planning/phases/08-test-and-constant-cleanup/08-DISCUSSION-LOG.md
T
2026-03-27 08:43:01 +01:00

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.