Fix duplicate-index crash in data validation, add Telegram flood control
- Move index dedup before OHLC consistency fix in _validate_and_clean to prevent crash when df.loc[dup_idx] returns Series instead of scalar - Add global flood backoff: detect RetryAfter, pause all sends/edits until ban expires instead of retrying and escalating the ban - Stop dashboard edit-fail → new-message spam cascade: track consecutive failures, only resend after 3 failed edits - Increase dashboard refresh from 5s to 30s, min send interval to 1.5s - Add comprehensive QA test suite (140 tests across all 7 modules) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in: