chore(tradein): удалить остатки источника N1 (#2593) #2595

Merged
lekss361 merged 1 commit from chore/tradein-remove-n1 into main 2026-07-31 18:47:02 +00:00
Owner

Часть 1 из 3 по #2593. Решение владельца: N1 выпиливаем (не собирается с 16 июня, в расписании отсутствует).

Источник был удалён на 90% ещё миграцией 165. Здесь убраны последние живые литералы: цвет источника в карте (SourcesMap.tsx), ветка фильтра в админском эндпоинте геокодирования (admin.py), плюс устаревшие докстринги, называвшие N1 активным.

Данные не тронуты и миграций нет. 382 объявления остаются как исторические (is_active=false). Проверено, что все три поверхности корректно обрабатывают неизвестный источник через фолбэк: PDF даёт серый бейдж, реестр источников возвращает сырой идентификатор, карта — нейтральный цвет. Каскадное удаление снесло бы 15 913 снимков источников и 174 снимка объявлений — исторические данные без пользы от их потери.

Позиционные структуры проверены (там, где знаменатель считается от длины списка): mappers.ts SOURCE_SLOTS, trade_in_pdf.py _QUALITY_SOURCE_SLOTS, source-registry.ts SOURCES — N1 в них отсутствует, все счётчики производные, индексация не ломается.

Что намеренно оставлено (исполнитель прогрепал весь tradein-mvp/ и разобрал каждое совпадение): исторические миграции, включая саму 165_remove_n1_source.sql; комментарии-аудиты прод-инцидентов с цифрами на дату; докстринг завершённого разового бэкфилла; уже корректная документация вида «n1 выключен, фолбэк такой-то»; тесты, где "n1" используется как произвольное значение для проверки источник-агностичной логики — они как раз и подтверждают, что исторические данные обрабатываются корректно.

Полный прогон бэкенда: 2950 passed, 1 pre-existing. Фронт: tsc, lint, build чисто, все 17 маршрутов собрались.

Часть 1 из 3 по #2593. Решение владельца: N1 выпиливаем (не собирается с 16 июня, в расписании отсутствует). Источник был удалён на 90% ещё миграцией 165. Здесь убраны последние живые литералы: цвет источника в карте (`SourcesMap.tsx`), ветка фильтра в админском эндпоинте геокодирования (`admin.py`), плюс устаревшие докстринги, называвшие N1 активным. **Данные не тронуты и миграций нет.** 382 объявления остаются как исторические (`is_active=false`). Проверено, что все три поверхности корректно обрабатывают неизвестный источник через фолбэк: PDF даёт серый бейдж, реестр источников возвращает сырой идентификатор, карта — нейтральный цвет. Каскадное удаление снесло бы 15 913 снимков источников и 174 снимка объявлений — исторические данные без пользы от их потери. **Позиционные структуры проверены** (там, где знаменатель считается от длины списка): `mappers.ts` `SOURCE_SLOTS`, `trade_in_pdf.py` `_QUALITY_SOURCE_SLOTS`, `source-registry.ts` `SOURCES` — N1 в них отсутствует, все счётчики производные, индексация не ломается. **Что намеренно оставлено** (исполнитель прогрепал весь `tradein-mvp/` и разобрал каждое совпадение): исторические миграции, включая саму `165_remove_n1_source.sql`; комментарии-аудиты прод-инцидентов с цифрами на дату; докстринг завершённого разового бэкфилла; уже корректная документация вида «n1 выключен, фолбэк такой-то»; тесты, где `"n1"` используется как произвольное значение для проверки источник-агностичной логики — они как раз и подтверждают, что исторические данные обрабатываются корректно. Полный прогон бэкенда: 2950 passed, 1 pre-existing. Фронт: `tsc`, lint, build чисто, все 17 маршрутов собрались.
lekss361 added 1 commit 2026-07-31 18:03:43 +00:00
chore(tradein): удалить остатки источника N1 (#2593)
All checks were successful
CI / changes (pull_request) Successful in 9s
CI Trade-In / changes (pull_request) Successful in 9s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m13s
CI Trade-In / backend-tests (pull_request) Successful in 2m29s
146139fbf9
N1 не собирается с 16 июня, в scrape_schedules его нет. Миграция 165 удалила
источник на 90% (allowlist/scheduler/settings) — оставались точечные литералы:
- SourcesMap.tsx: цвет для мёртвого source в легенде карты (fallback серый).
- admin.py geocode-missing: N1-ветка address-плейсхолдер фильтра + стале
  докстринги, упоминавшие N1 как активный источник listings.
- test_estimator_source_quota.py: докстринг регрессии с упоминанием N1
  среди вытесняемых источников.

Данные (382 listings source='n1', is_active=false) не трогаются — все
поверхности уже провайдер-агностичны с safe fallback для неизвестных id
(source-registry.ts, trade_in_pdf.py _SOURCE_LOGO_COLORS.get, SourcesMap.tsx
colorForSource). Денормализованные счётчики (TOTAL_SOURCES/mappers.ts,
_TOTAL_SOURCES/trade_in_pdf.py, LIVE_SOURCE_COUNT/source-registry.ts) уже
производные от актуальных ростеров без n1 — индексация не затронута.
lekss361 merged commit d6a8a693c5 into main 2026-07-31 18:47:02 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2595
No description provided.