fix(sf-04b): bulk seed mappings для всех ЖК (audit extension PR #273) #277

Merged
lekss361 merged 1 commit from fix/sf-04b-bulk-mapping-audit into main 2026-05-17 10:43:10 +00:00
Owner

Summary

SF FixList #4 extension по запросу user'а 2026-05-17. PR #273 покрыл только 2 PRINZIP-проекта; этот PR — bulk audit ВСЕХ ЖК с активностью в objective_corpus_room_month (12 мес) но без mapping.

Findings (audit 2026-05-17)

118 unmapped projects найдено, sim threshold > 0.4:

Класс Count Action
HIGH (sim > 0.85) 13 auto-INSERT
MEDIUM (sim 0.6-0.85) 25 commented для manual review
LOW (sim < 0.6 / orphan) ~80 dropped, no reliable match

HIGH (13 auto-insert)

project_name obj_id sim deals/12m
Б-26 50754 1.000 140
Астон.Сезоны 58721 1.000 102
Премиум Кварталы Маяковка 57364 1.000 100
Дом на Библиотечной 58788 1.000 51
Даблхаус 1:1 50428 1.000 43
Астон.Реформа 58381 1.000 42
Астон.Отрадный 48570 1.000 30
Космонавтов 11 44337 1.000 22
Кварталы конструктивизма 43430 1.000 16
Квартал Сюжеты 63631 1.000 14
Архитектон. Декабристов,20 41762 0.897 28
Хрустальные ключи 17471 0.857 115
Большой каретный 45859 0.850 128

MEDIUM (требует manual review)

Главные крупные:

  • Новокольцовский (914 deals/12m!) — Синара-Девелопмент, multi-corpus → pick primary
  • Южные кварталы (Брусника) (420 deals) — multiple Брусника corpora
  • Первый (318 deals) — ИКАР, valid candidate
  • Основинские кварталы (237 deals) — top match — Паркинг (НЕ residential), нужен ручной выбор

Изменения

data/sql/104_seed_bulk_mappings.sql — HIGH auto-INSERT + MEDIUM commented + LOW summary в комментариях.

Idempotent: ON CONFLICT DO NOTHING.

Post-merge step

docker compose -p gendesign exec postgres \
  psql -U gendesign -d gendesign -c \
  "REFRESH MATERIALIZED VIEW CONCURRENTLY mv_layout_velocity;"

Related: epic #271 item #4 extension. Parent: PR #273.

## Summary SF FixList #4 extension по запросу user'а 2026-05-17. PR #273 покрыл только 2 PRINZIP-проекта; этот PR — **bulk audit ВСЕХ ЖК** с активностью в `objective_corpus_room_month` (12 мес) но без mapping. ## Findings (audit 2026-05-17) **118 unmapped projects** найдено, sim threshold > 0.4: | Класс | Count | Action | |---|---|---| | HIGH (sim > 0.85) | **13** | auto-INSERT | | MEDIUM (sim 0.6-0.85) | **25** | commented для manual review | | LOW (sim < 0.6 / orphan) | ~80 | dropped, no reliable match | ### HIGH (13 auto-insert) | project_name | obj_id | sim | deals/12m | |---|---|---|---| | Б-26 | 50754 | 1.000 | 140 | | Астон.Сезоны | 58721 | 1.000 | 102 | | Премиум Кварталы Маяковка | 57364 | 1.000 | 100 | | Дом на Библиотечной | 58788 | 1.000 | 51 | | Даблхаус 1:1 | 50428 | 1.000 | 43 | | Астон.Реформа | 58381 | 1.000 | 42 | | Астон.Отрадный | 48570 | 1.000 | 30 | | Космонавтов 11 | 44337 | 1.000 | 22 | | Кварталы конструктивизма | 43430 | 1.000 | 16 | | Квартал Сюжеты | 63631 | 1.000 | 14 | | Архитектон. Декабристов,20 | 41762 | 0.897 | 28 | | Хрустальные ключи | 17471 | 0.857 | 115 | | Большой каретный | 45859 | 0.850 | 128 | ### MEDIUM (требует manual review) Главные крупные: - **Новокольцовский** (914 deals/12m!) — Синара-Девелопмент, multi-corpus → pick primary - **Южные кварталы (Брусника)** (420 deals) — multiple Брусника corpora - **Первый** (318 deals) — ИКАР, valid candidate - **Основинские кварталы** (237 deals) — top match — Паркинг (НЕ residential), нужен ручной выбор ## Изменения `data/sql/104_seed_bulk_mappings.sql` — HIGH auto-INSERT + MEDIUM commented + LOW summary в комментариях. Idempotent: `ON CONFLICT DO NOTHING`. ## Post-merge step ```bash docker compose -p gendesign exec postgres \ psql -U gendesign -d gendesign -c \ "REFRESH MATERIALIZED VIEW CONCURRENTLY mv_layout_velocity;" ``` Related: epic #271 item #4 extension. Parent: PR #273.
lekss361 added 1 commit 2026-05-17 10:38:08 +00:00
Audit 2026-05-17 (extension PR #273): 13 high-confidence (sim > 0.85)
auto-inserted, 25 medium-confidence (0.6-0.85) commented for manual review.
118 unmapped projects scanned via pg_trgm vs domrf_kn_objects EKB.

Closes (epic part) #271 item 4 extension
lekss361 merged commit 8d95bf0c5a into main 2026-05-17 10:43:10 +00:00
Author
Owner

Merged via deep-code-reviewer — verdict APPROVE.

Verified:

  • Все 13 obj_id существуют в domrf_kn_objects (SQL EXPLAIN ANALYZE подтвердил 39 rows = 13 obj × snapshots).
  • objective_complex_mapping пусто для всех 13 names — clean inserts, ON CONFLICT не сработает.
  • UNIQUE (objective_complex_name, objective_group) matches ON CONFLICT target.
  • Schema: все NOT NULL колонки (objective_complex_name, objective_group, is_reviewed) предоставлены.
  • BEGIN/COMMIT обёртка, sequential naming 104_ после 103_, idempotent.
  • MEDIUM 25 правильно закомментированы (двухстрочный -- INSERT ... -- (...)), syntax safe.
  • Vault: fixes/Fix_SF_Bulk_Mapping_Audit_May17.md уже создан, runbook Refresh_MV_Layout_Velocity.md exists.

Семантика "Космонавтов 11" (obj_id 44337, Сданные, 22 deals/12m):
Auditor явно отметил Сданные в note. Включение Сданных ЖК в velocity = continued вторичный рынок — это intentional расширение покрытия (после PR #276 sort приоритезирует Строящиеся в UI, но Сданные не исключаются из data). Не баг.

Post-merge action:

docker compose -p gendesign exec postgres \
  psql -U gendesign -d gendesign -c \
  "REFRESH MATERIALIZED VIEW CONCURRENTLY mv_layout_velocity;"

Follow-up (рекомендую отдельный issue):

  • Manual review MEDIUM 25 (Новокольцовский 914 deals/12m, Южные кварталы 420, Первый 318, Зеленая горка 207 — крупные, особенно Новокольцовский требует выбора primary corpus из 6).
  • "Основинские кварталы" (237 deals) — top fuzzy match = Паркинг object, нужен ручной поиск residential obj_id.
Merged via deep-code-reviewer — verdict APPROVE. **Verified:** - Все 13 obj_id существуют в `domrf_kn_objects` (SQL EXPLAIN ANALYZE подтвердил 39 rows = 13 obj × snapshots). - `objective_complex_mapping` пусто для всех 13 names — clean inserts, ON CONFLICT не сработает. - UNIQUE `(objective_complex_name, objective_group)` matches `ON CONFLICT` target. ✅ - Schema: все NOT NULL колонки (`objective_complex_name`, `objective_group`, `is_reviewed`) предоставлены. ✅ - `BEGIN/COMMIT` обёртка, sequential naming `104_` после `103_`, idempotent. ✅ - MEDIUM 25 правильно закомментированы (двухстрочный `-- INSERT ... -- (...)`), syntax safe. - Vault: `fixes/Fix_SF_Bulk_Mapping_Audit_May17.md` уже создан, runbook `Refresh_MV_Layout_Velocity.md` exists. **Семантика "Космонавтов 11" (obj_id 44337, Сданные, 22 deals/12m):** Auditor явно отметил `Сданные` в note. Включение Сданных ЖК в velocity = continued вторичный рынок — это intentional расширение покрытия (после PR #276 sort приоритезирует Строящиеся в UI, но Сданные не исключаются из data). Не баг. **Post-merge action:** ```bash docker compose -p gendesign exec postgres \ psql -U gendesign -d gendesign -c \ "REFRESH MATERIALIZED VIEW CONCURRENTLY mv_layout_velocity;" ``` **Follow-up (рекомендую отдельный issue):** - Manual review MEDIUM 25 (Новокольцовский 914 deals/12m, Южные кварталы 420, Первый 318, Зеленая горка 207 — крупные, особенно Новокольцовский требует выбора primary corpus из 6). - "Основинские кварталы" (237 deals) — top fuzzy match = **Паркинг object**, нужен ручной поиск residential obj_id.
Sign in to join this conversation.
No reviewers
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#277
No description provided.