fix(tradein/observability): результат detail-бэкфиллов доезжает до total_seen (#3044) #3096

Merged
bot-backend merged 1 commit from fix/3044-enriched-total-seen into main 2026-08-26 07:30:23 +00:00
Collaborator

Что

Замер в #3044 прочитал «обогащено 0 за 7 дней» у avito_detail_backfill при реальных 801 обогащении (listings.detail_enriched_at). Корень: detail-бэкфиллы (avito/yandex/domclick) пишут результат только ключом enriched в counters, которого _column_counts не знал — колонка total_seen оставалась 0 у всех прогонов, done и banned одинаково. Провал и успех писали один и тот же признак.

Как

'enriched'-фолбэк в _column_counts (обе копии: app + scraper-kit) — только для витринной колонки. В _RESULT_COUNTER_KEYS ключ намеренно НЕ добавлен: тот список кормит zero-result-стрик, где догнавший очередь бэкфилл (attempted=0, enriched=0) стал бы непрерываемым измеренным нулём — ровно та ловушка, за которую ревью #2703 выкинуло из списка голый rows_inserted. Первая версия правки добавляла ключ в общий список — её завернули тесты #2703 (2 красных), раскрой пересмотрен.

Проверки

  • новый test_3044_enriched_result_key.py: красный на origin/main по ЗНАЧЕНИЮ ((None, None) вместо (61, None)), зелёный с фиксом; инвариант-тест закрепляет контракт стрик-сторожа (зелёный в обеих эрах)
  • соседние сьюты нетронуты: 162 passed (test_2703_*, test_honest_run_status_*, test_2670_*, test_scrape_skip_visibility)
  • прод-замер перед правкой (Poincare, 30д): done-с-enriched=0 не встречается после honest-run-status (последний 05.08) — такие прогоны теперь понижаются в failed ещё в mark_done

Приёмка после деплоя: SELECT sum(total_seen) FROM scrape_runs WHERE source='avito_detail_backfill' AND started_at > <деплой> должен стать >0 при первом же прогоне с enriched>0.

Closes #3044? Нет — сам дефект (439/QRATOR) остаётся, это только наблюдаемость из последнего комментария.

🤖 Generated with Claude Code

## Что Замер в #3044 прочитал «обогащено 0 за 7 дней» у `avito_detail_backfill` при реальных **801** обогащении (`listings.detail_enriched_at`). Корень: detail-бэкфиллы (avito/yandex/domclick) пишут результат только ключом `enriched` в counters, которого `_column_counts` не знал — колонка `total_seen` оставалась 0 у всех прогонов, done и banned одинаково. Провал и успех писали один и тот же признак. ## Как `'enriched'`-фолбэк в `_column_counts` (обе копии: app + scraper-kit) — **только для витринной колонки**. В `_RESULT_COUNTER_KEYS` ключ намеренно НЕ добавлен: тот список кормит zero-result-стрик, где догнавший очередь бэкфилл (attempted=0, enriched=0) стал бы непрерываемым измеренным нулём — ровно та ловушка, за которую ревью #2703 выкинуло из списка голый `rows_inserted`. Первая версия правки добавляла ключ в общий список — её завернули тесты #2703 (2 красных), раскрой пересмотрен. ## Проверки - новый `test_3044_enriched_result_key.py`: красный на origin/main по ЗНАЧЕНИЮ (`(None, None)` вместо `(61, None)`), зелёный с фиксом; инвариант-тест закрепляет контракт стрик-сторожа (зелёный в обеих эрах) - соседние сьюты нетронуты: 162 passed (`test_2703_*`, `test_honest_run_status_*`, `test_2670_*`, `test_scrape_skip_visibility`) - прод-замер перед правкой (Poincare, 30д): done-с-enriched=0 не встречается после honest-run-status (последний 05.08) — такие прогоны теперь понижаются в failed ещё в mark_done Приёмка после деплоя: `SELECT sum(total_seen) FROM scrape_runs WHERE source='avito_detail_backfill' AND started_at > <деплой>` должен стать >0 при первом же прогоне с enriched>0. Closes #3044? Нет — сам дефект (439/QRATOR) остаётся, это только наблюдаемость из последнего комментария. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
bot-backend added 1 commit 2026-08-26 07:23:45 +00:00
fix(tradein/observability): результат detail-бэкфиллов доезжает до колонки total_seen (#3044)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / 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 / backend-tests (pull_request) Successful in 4m37s
0a85fa7202
Прод-факт: замер по avito_detail_backfill прочитал «обогащено 0 за 7 дней»
при реальных 801 — джобы пишут результат только ключом 'enriched', которого
_column_counts не знал, и колонка total_seen оставалась 0 у всех прогонов.

'enriched'-фолбэк добавлен именно в _column_counts (витринная колонка), а НЕ в
_RESULT_COUNTER_KEYS: тот список кормит zero-result-стрик, где догнавший
очередь бэкфилл стал бы непрерываемым измеренным нулём — ловушка, за которую
ревью уже выкинуло из списка 'rows_inserted' (#2703). Контракт стрик-сторожа
закреплён инвариант-тестом.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bot-backend merged commit 32caa7a08d into main 2026-08-26 07:30:23 +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#3096
No description provided.