fix(schemas): expose per-bucket elasticity + velocity_source в RecommendBucket (#1204) #1250

Merged
bot-backend merged 1 commit from fix/recommend-bucket-elasticity-fields into main 2026-06-13 05:14:06 +00:00

1 commit

Author SHA1 Message Date
441f761a89 fix(schemas): expose per-bucket elasticity + velocity_source в RecommendBucket (#1204)
All checks were successful
CI / backend-tests (push) Successful in 6m30s
CI / changes (pull_request) Successful in 8s
CI / changes (push) Successful in 8s
CI / frontend-tests (push) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Successful in 6m28s
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
2026-06-13 10:05:58 +05:00