recommend_mix кладёт в bucket поля elasticity / elasticity_r2 / elasticity_n / elasticity_source / velocity_source (analytics_queries.py:2592-2606), но RecommendBucket их не объявляет и не имеет extra='allow' → Pydantic v2 молча выкидывает их из response. Фронт (RecommendVelocityPanel.tsx:68 `r.elasticity ?? elasticity`) при движении price-слайдера всегда падает на ГЛОБАЛЬНУЮ эластичность — live what-if расходится и с серверным months_to_sellout (тот считается per-bucket), и с UI-таблицей «Эластичность по сегментам». Patch: добавлены 5 опциональных полей в схему. Совместимость: фронт уже читает их с `?? globalFallback`, поэтому non-breaking. Producer/consumer- контракт восстановлен. 113/113 recommend-тестов зелёные. Closes #1204 |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| models | ||
| observability | ||
| schemas | ||
| scrapers | ||
| services | ||
| templates | ||
| workers | ||
| __init__.py | ||
| main.py | ||