(low) decode_to_file.py: f.write(decoded) падает TypeError, если JSON декодируется в list/dict
(low) Классификация таймаута LLM по имени класса вместо isinstance (хрупко)
(low) _fmt_number падает на NaN/Inf-float (ValueError в детерминированном fallback-пути chat)
(low) queue_status: broker-failure except-блоки без логирования (silent swallow в UI hot-path)
(low) POST /geo/bulk игнорирует rate_ms — все bulk-джобы создаются с дефолтом 600ms без контроля оператора
(low) own_portfolio: слабый regex-guard '^[0-9]+' позволяет non-numeric префиксу dev_id уронить весь current-portfolio запрос
(low) Fan-out по objective_complex_mapping завышает SUM-метрики в _INLINE_VELOCITY_SQL (best_layouts)
[low] izyatie_client: мёртвый fallback a_tag.get('title', href) недостижим (title уже непуст)
[low] TradeInEstimateInput допускает floor > total_floors (нет cross-field валидации)
[low] Cian has_furniture: реальное False теряется через or-коалесинг двух boolean-полей
[low] Avito relative-date parser возвращает None для бесцифровых форм ('час назад', 'неделю назад', 'день назад')
[low] Avito detail abort: транзиентная не-block ошибка сбрасывает consecutive_blocks, маскируя продолжающийся IP-блок
[low] Guard-2 same_quarter_ratio: знаменатель включает аналоги без кадастрового номера — занижение ratio, over-correction
[low] quartirography (deals): хардкод period_start_date >= '2025-07-01' — окно неограниченно растёт со временем
[low] velocity: знаменатель score использует число MAPPED конкурентов (включая с нулевыми продажами) — систематическое занижение velocity_score
(low) street-deals: period_from считается 30-дневными месяцами, а фильтр — календарными — отображаемое окно не совпадает с запросом
(low) Cadastre jobs: React-key на внутреннем <tr> вместо mapped Fragment — нестабильная reconciliation / key-warning
(low) SeasonalWeatherBlock: строка экстремумов мин/макс подписана как «макс» (только максимум)
(low) ForecastConfidenceBlock: coverage=1.0 (100%) рендерится как «1» вместо «100%» из-за строгого
< 1
(low) Air quality берёт hourly[0] (00:00 forecast-дня), а не текущий час — docstring обещает «текущий час»