fix(site-finder): раскрыть/устранить 2 оставшихся *45.0 proxy-сайта в velocity.py (follow-up #2445-A4) #2449

Open
opened 2026-07-05 18:36:44 +00:00 by bot-backend · 0 comments
Collaborator

Follow-up от PR #2448 (epic #2445, A4). Тот PR закрыл city-wide _get_ekb_median proxy-fallback (глобальный знаменатель нормализации). Но COALESCE(deals_total_vol_m2, deals_total_count * 45.0) встречается ещё в 2 местах velocity.py:

  • velocity.py:273 (~) — per-competitor sales query (total_sqm)
  • velocity.py:405 (~) — room-bucket breakdown (sqm_sold)

Оба фабрикуют «45 м²/сделку» и смешивают proxy с реальными м² в собственных числах участка (monthly_velocity_sqm / by_room_bucket), тоже без сигнала качества.

Меньший blast radius, чем у #2448: затрагивают один участок, а не глобальный знаменатель, по которому нормализуются ВСЕ участки — поэтому вынесено отдельно.

Scope

Применить тот же disclosure-паттерн (proxy_used/proxy_fraction), что уже используется для rosreestr-path и (после #2448) для EKB-median. Либо, если blast radius сочтён приемлемым — задокументировать осознанность прокси в коде и закрыть.

Estimated: S (1 заход, изолированный velocity.py).

Refs #2445, #2448

Follow-up от PR #2448 (epic #2445, A4). Тот PR закрыл city-wide `_get_ekb_median` proxy-fallback (глобальный знаменатель нормализации). Но `COALESCE(deals_total_vol_m2, deals_total_count * 45.0)` встречается ещё в 2 местах `velocity.py`: - `velocity.py:273` (~) — per-competitor sales query (`total_sqm`) - `velocity.py:405` (~) — room-bucket breakdown (`sqm_sold`) Оба фабрикуют «45 м²/сделку» и смешивают proxy с реальными м² в собственных числах участка (`monthly_velocity_sqm` / `by_room_bucket`), тоже без сигнала качества. **Меньший blast radius**, чем у #2448: затрагивают один участок, а не глобальный знаменатель, по которому нормализуются ВСЕ участки — поэтому вынесено отдельно. ## Scope Применить тот же disclosure-паттерн (`proxy_used`/`proxy_fraction`), что уже используется для rosreestr-path и (после #2448) для EKB-median. Либо, если blast radius сочтён приемлемым — задокументировать осознанность прокси в коде и закрыть. Estimated: S (1 заход, изолированный velocity.py). Refs #2445, #2448
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2449
No description provided.