gendesign/backend/app
Light1YT 4c2f19ace0
Some checks failed
Deploy / build-frontend (push) Blocked by required conditions
Deploy / deploy (push) Blocked by required conditions
Deploy / changes (push) Successful in 5s
Deploy / build-backend (push) Has been cancelled
Deploy / build-worker (push) Has been cancelled
fix(market-metrics): resolve admin→micros for _price_sensitivity (#1211)
_price_sensitivity передавал сырое admin-имя ('Кировский') в _elasticity_coef,
который фильтрует objective_corpus_room_month.district по МИКРО-вокабуляру
(Втузгородок, ЖБИ, …) → регрессия получала 0 точек → всегда FALLBACK_ELASTICITY.
§9.2 district-level эластичность молча НЕ считалась в /analyze-пути (только
'Академический' совпадал в обоих вокабулярах случайно).

Fix: вызываем resolve_objective_districts() в _price_sensitivity и передаём
список микро через новый kwarg districts=[…] в _elasticity_coef. Резолвер
None ('не определён' / нет чистых алиасов) → пустой список → EKB-wide
регрессия. _elasticity_coef расширен с back-compat: districts=None →
legacy путь по district_name (другой caller в analytics_queries —
отдельный bug class, вне scope).

5 новых юнит-тестов TestPriceSensitivityDistrictResolution: admin→micros в
SQL bind, None→EKB-wide, regression preserved post-resolve, graceful.
76/76 market_metrics + 156/156 elasticity/sensitivity тестов зелёные.
ruff + psycopg v3 grep clean.

Closes #1211
2026-06-13 06:02:29 +00:00
..
api fix(parcels): guard NULL geom + None lat/lon в isochrones/poi-score (#1201) 2026-06-13 05:24:25 +00:00
core fix(audit): run_in_threadpool для write_audit_row в async middleware (#1202) 2026-06-13 05:24:39 +00:00
models feat(jobs): centralized job_settings API + DB-driven beat schedule 2026-05-11 15:38:13 +03:00
observability feat(backend): sentry-sdk init для FastAPI + Celery (#204 backend) (#207) 2026-05-16 15:09:16 +00:00
schemas fix(schemas): expose per-bucket elasticity + velocity_source в RecommendBucket (#1204) 2026-06-13 05:14:05 +00:00
scrapers Merge pull request 'feat(#263 sub-A): cad_* overlay schemas + cadastre territorial_zones (ПЗЗ)' (#265) from feat/263-sub-a-cad-nspd-overlay-schemas-and-pzz into main 2026-05-17 07:50:08 +00:00
services fix(market-metrics): resolve admin→micros for _price_sensitivity (#1211) 2026-06-13 06:02:29 +00:00
templates feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export (#334) 2026-05-17 21:11:03 +00:00
workers fix(scrape_kn): Redis-lock owner-token + resume retry on lock_held (#1216) 2026-06-13 05:44:24 +00:00
__init__.py init 2026-04-25 13:45:19 +03:00
main.py feat(chat): deterministic §22 chat foundation — POST /api/v1/chat/ask (no LLM) 2026-06-08 17:21:51 +05:00