gendesign/tradein-mvp/backend/tests/fixtures
bot-backend 42b0ebe338
All checks were successful
CI Trade-In / browser-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 / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 9s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m32s
fix(tradein/estimate): залипший anchor_tier молча глушил IMV-blend и quarter-index
Флаг anchor_tier оставался равным anchor_tier_fetched ("A"/"C"), когда якорь
фактически НЕ строился — сброс делал только low-conf гейт (#audit-1), но не
Tier C corridor-гейт (#1795) и не сама _compute_same_building_anchor, когда
она отклоняет кандидата (комплов меньше estimate_sb_min_comps). Дальше по коду
залипший флаг читается как «headline построил якорь» и молча глушит IMV/Yandex
blend (#651, гейт `anchor_tier is None`) и quarter-index correction (#764
Guard-1a) — притом что радиусный headline их не получал.

Замер: 154 из 996 сделок теряют tier-флаг этой правкой, и у всех 154 изменение
цены ровно 0.000% — чинится именно залипший ФЛАГ, не ценообразование (баланс
метрик бэктеста подтверждает: единственная дельта в baseline — новая канарейка
unrecorded_lookup_calls, все остальные метрики побитово те же).

- estimator.py: сброс `anchor_tier = None` единой веткой `if anchor is None`
  после всех трёх гейтов (Tier C / low-conf / _compute_same_building_anchor);
  display-only IMV-карточка больше не гейтится по `anchor_tier is not None`
  (иначе терялась в щели «тир добыт, якорь не построен, headline подавлен»).
- backtest_estimator.py: quarter_index_lookup/quarter_indexes_lookup в реплее
  отвечают «промах» (None/{}), если сброс флага открыл путь, которого не было
  в замороженной фикстуре, вместо падения с RuntimeError; счётчик таких промахов
  уходит в baseline как unrecorded_lookup_calls (точное целое, канарейка на
  расхождение реплея с захватом). Заодно пиннится estimate_dedup_analogs_enabled
  = False внутри replay_fixture (было только в самом гейте) — иначе штатная
  регенерация baseline (--from-fixture --update-baseline) писала baseline,
  который тест не совпадал бы никогда.
- backtest_baseline.json: перегенерирован штатным путём, unrecorded_lookup_calls=0.

Выделено из #2656/PR #2661 — фильтры свежести (scraped_at) в якоре дома и в
знаменателе коэффициента выкупа остаются в исходном PR как отдельная, более
спорная правка (двигает деньги: знаменатель просаживается на ~1.3% по бакетам).
2026-08-17 10:54:07 +03:00
..
.gitattributes feat(tradein/backtest): hermetic estimator regression gate — frozen fixture + baseline (#1966 PR 3/3) 2026-06-27 12:55:35 +00:00
avito_blockpage_sample.html fix(scrapers): avito per-card parse_failures counter + logging (Refs #823) (#830) 2026-05-30 20:01:50 +00:00
avito_house_572538.html fix(scrapers): avito_houses читает MFE props-вложенность виджетов — отзывы/история/тип ЖК теперь долетают (#1789) 2026-06-19 19:21:49 +03:00
avito_houses_sample.html fix(tradein): decode Avito houses URL-encoded __preloadedState__ (#566) 2026-05-28 15:58:19 +05:00
avito_imv_geo_position.json fix(tradein-imv): harden Avito IMV anti-bot path + offline contract tests (#565) 2026-05-28 16:29:05 +05:00
avito_imv_getdata.json fix(tradein-imv): harden Avito IMV anti-bot path + offline contract tests (#565) 2026-05-28 16:29:05 +05:00
avito_novostroyka_12879380.html fix(scrapers): avito pipeline — новостройки house graceful (без housePage), AvitoBlockedError per-item не крашит прогон (#1820) 2026-06-20 09:53:46 +03:00
avito_serp_novostroyka.html feat(avito): dedicated newbuilding (novostroyka) citywide sweep 2026-06-18 09:45:54 +03:00
avito_serp_sample.html fix(scrapers): avito listing_date from sortTimeStamp JSON (#726) (#729) 2026-05-30 14:13:38 +00:00
backtest_baseline.json fix(tradein/estimate): залипший anchor_tier молча глушил IMV-blend и quarter-index 2026-08-17 10:54:07 +03:00
backtest_full_fixture.json.gz feat(tradein/backtest): hermetic estimator regression gate — frozen fixture + baseline (#1966 PR 3/3) 2026-06-27 12:55:35 +00:00
cian_catph_newbuilding_serp.html fix(tradein): working cian ЖК-url resolver via cat.php SERP (#972) 2026-06-08 11:13:06 +05:00
cian_flat_330982715.html fix(scrapers): cian_detail — ceiling/repair актуальные пути state (#1791) 2026-06-19 19:57:18 +03:00
cian_waf_block_zhk_page.html fix(tradein/cian): обогащение ЖК падало не на разметке, а на сожжённом узле (#2767) (#2798) 2026-08-09 17:38:40 +00:00
domclick_bff_offers_sample.json feat(scraper-kit): copy domclick provider with protocol injection, strangler (#2133 domclick) 2026-07-02 16:08:09 +00:00
sber_real_estate_deals_66.json feat(tradein): СберИндекс time-adjust for frozen Rosreestr ДКП + per-dashboard filter fix (#794) (#919) 2026-05-31 18:48:22 +00:00
yandex_offer_3402418396407468801.html fix(scrapers): yandex_detail — area/ceiling из структурного блока, покрытие area 63%->~95% (#1792) 2026-06-19 19:37:51 +03:00
yandex_offer_7811691822126445498.html fix(scrapers): yandex_detail — area/ceiling из структурного блока, покрытие area 63%->~95% (#1792) 2026-06-19 19:37:51 +03:00