fix(tradein): вернуть фотографии подсказок Avito IMV задним числом (#2674) #2693
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
ИРД
вторичка
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2693
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/2674-parsed-but-not-stored"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Класс эпика «площадка прислала, парсер разобрал, до базы не доехало».
Аудит утверждал два дефекта сразу: (а) парсер выбрасывает
imageLink, (б) колонка не входит в INSERT. Оба уже починены в PR #2682 (смержен 2026-08-06 02:29) — проверил по коду:imv.py:307кладётimage_link=raw.get("imageLink"),house_imv_backfill.py:359перечисляетimage_linkв INSERT. Здесь остаётся то, чего #2682 не делал: исторические строки.Числа с прода (2026-08-06, точный
count(*))house_suggestionsвсегоimage_linkmax(fetched_at)house_imv_evaluationsraw_responseу 2 685suggestions.items[0].imageLinkПодтверждение по сырому ответу
tests/fixtures/avito_imv_getdata.json(живой capture), ключsuggestions.items[].imageLink:Почему 3 575 строк невосстановимы
house_imv_evaluationsимеетUNIQUE(house_id)+ON CONFLICT DO UPDATE→ повторная оценка дома перетираетraw_response, старый набор подсказок остаётся без сырья. Это не недоделанный бэкфилл, а утраченный источник — записано вCOMMENT ON COLUMN, чтобы следующий читатель не искал баг в разнице 25 055 vs 21 480.Test plan
test_2674_writers_honor_schema.py(в т.ч. живой фикстурой) — не дублируюSELECT count(image_link) FROM house_suggestions→ ожидаю 21 480DB-харнесса в CI нет, поэтому проверка миграции — прод-счётчик после деплоя.
Отдельно: почему это НЕ проверить живым скрейпером
house_imv_backfillбежит (последний прогон 2026-08-05 16:45, статусdone), но пишет ноль:{"saved": 0, "errors": 35, "checked": 50, "skipped": 15}. Причина вhouses.imv_error_reason: 246 домов —Avito geocode A network error: Server error '503 Service Unavailable' for url 'http://tradein-browser:3000/fetch-json', ещё 23 — 500, 12 —HTTP 403. Продюсер IMV мёртв с 2026-07-03 — отдельная находка, кандидат в issue.Refs #2674
done#2698