Full review implementation: HW-integration readiness, unity signal path, TX engine, spectral verification.
/0.1, /0.05 eliminated)NextSample() zero-allocation hot path, fixed-size [104]uint8 bit bufferconfig.Validate() — fail-loud, no silent 0x1234 fallbackinternal/app/engine.go)Start()/Stop() — TX default is OFFStart(ctx), Stop(ctx), Capabilities(ctx), Stats() added to driver contractSimulatedDriver implements full interface with atomic runtime countersDeviceCaps struct for hardware capability reportingRuntimeStats struct for live telemetrybackend.deviceSampleRateHz separates SDR device rate from internal composite rateConfig.EffectiveDeviceRate() resolves to device rate or falls back to composite ratePOST /tx/start — explicit TX start (requires TXController)POST /tx/stop — explicit TX stopGET /runtime — live engine + driver telemetryTXController interface for decoupled engine controldsp.GoertzelEnergy, dsp.BandEnergy)rds.enabled=false → verified no 57 kHz energyfmModulationEnabled=false → verified Q=0limiterEnabled=false → verified higher peaks than with limiterstereoEnabled=false → verified no pilot/stereo energypreEmphasisUS → preEmphasisTauUS (unambiguous: microseconds, not region)audio.sampleRate → audio.inputSampleRate (clear: input source rate)backend.deviceSampleRateHz added (0 = same as compositeRateHz)rds.pi validated at load time; empty/invalid = hard errorrds.pty range-checked (0-31)[previous changelog entries]