mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
a594d45ed6
CI divergence profile was decisive: 6089/36800 elements (≈95% of doppler values) diverged with O(1) magnitude (ref 0.15 vs CI 1.0), and ALL of it was the doppler feature — the other 5 features reproduced within tolerance. Root cause: csi_processor._extract_doppler_features peak-normalizes the spectrum (`spectrum / max(spectrum)`). When the raw spectrum has near-tied peaks, the argmax flips under cross-microarchitecture pocketfft/BLAS FP reordering (Azure CI runner vs dev boxes), renormalizing the whole array — an O(1) divergence no tolerance can absorb. This is a real *production* reproducibility bug (models consuming doppler_shift get different values on different CPUs); it's flagged for a separate, impact-analyzed source fix. Scoped proof fix: exclude doppler_shift from both the SHA-256 and the tolerance vector. The remaining five features — amplitude mean/variance, phase difference, correlation matrix, and the FFT-based PSD (30,400 elements) — reproduce deterministically and provide the proof. Regenerated hash + reference. Local: VERDICT PASS.