|
Some checks failed
CI Trade-In / changes (pull_request) Successful in 11s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 18s
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 1m57s
CI Trade-In / backend-tests (pull_request) Failing after 6m18s
FSD_K задаёт видимый клиенту диапазон range_low_rub/range_high_rub, но гейт регрессии его не видит: FSD_K=1.5 меняла 857 сделок из 1600 при зелёном гейте. Новый тест подменяет _compute_same_building_anchor якорем с известным fsd и нулевым спредом комплов и проверяет полуширину 1.65 × fsd на результате estimate_quality. Ожидание задано литералом, а не импортом FSD_K: импорт поехал бы вместе с мутацией. gate_thin («n < 3 И FSD > 0.20») недостижим дважды: якорь возвращается только при n ≥ SB_MIN_COMPS = 4, а FSD > 0.20 и так даёт confidence="low", то есть срабатывает gate_low. В ответ API флаг не уходил (только в лог), поэтому ветка удалена вместе с SB_GATE_MIN_N и SB_GATE_MAX_FSD. Поля Settings остаются в проверке «не вернулись». SB_GUARDRAIL_TOL оставлен и помечен как недостижимый по построению: цена якоря есть взвешенное среднее, медиана или p70 того же пула, так что est_ppm2 ≥ comp_min. Тавтологичный test_fix1_thin_n_high_fsd_triggers_gate (min_comps=1 и копия формулы) заменён тестом инвариантов на шести пулах: n ≥ SB_MIN_COMPS, FSD > 0.20 ⇒ low, anchor_ppm2 ≥ comp_min_ppm2. Покрытие ветвей uplift, клипа и FSD > 0.20 проверяется явно. В комментарии content.ts старое имя estimate_imv_blend_weight → IMV_BLEND_WEIGHT. Поведение на проде не меняется: гейт регрессии зелёный без перегенерации baseline. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| data/sql | ||
| scripts | ||
| tests | ||
| .dockerignore | ||
| Dockerfile | ||
| pyproject.toml | ||