fix(best-layouts): покрытие §4.2 в комплексах, не в сырых obj_id (#2177, шаг 1/3) #2198

Merged
bot-backend merged 2 commits from fix/best-layouts-coverage-2177 into main 2026-07-02 19:34:12 +00:00

2 commits

Author SHA1 Message Date
44bb1e58ca chore(frontend): regen api-types.ts — raw_objects_total в LayoutDataQuality (#2177)
All checks were successful
CI / changes (pull_request) Successful in 9s
CI / frontend-tests (pull_request) Successful in 1m14s
CI / backend-tests (pull_request) Successful in 14m48s
CI / openapi-codegen-check (pull_request) Successful in 2m5s
Дамп app.openapi() (метод openapi-codegen-check) + пиненный
openapi-typescript/prettier из package-lock.
2026-07-03 00:04:38 +05:00
6a554b559e fix(best-layouts): знаменатель покрытия в комплексах, не в сырых obj_id (#2177)
Some checks failed
CI / changes (pull_request) Successful in 8s
CI / frontend-tests (pull_request) Successful in 1m21s
CI / openapi-codegen-check (pull_request) Failing after 2m6s
CI / backend-tests (pull_request) Successful in 14m35s
domrf_kn_objects дробит один ЖК на несколько obj_id (очереди, дубли
snapshot-строк, безымянные корпуса) — §4.2 показывала «покрытие 17%
(2 из 12 ЖК)» вместо честного счёта комплексов.

- group_radius_objects: именованные группируются по (застройщик, ядро
  имени) — нормализация ёлочек/«N очередь»/generic-префиксов/повторов
  токенов («Квартал Депо» сохраняется); безымянные — single-linkage
  гео-кластеры ≤300 м per застройщик (кластер в 600 м от именованного —
  отдельная честная группа)
- coverage по группам: группа с данными = хоть один её obj_id с velocity;
  прод-кейс 66:41:0204016:10: 12 obj_id → 6 комплексов → 33% вместо 17%
- raw_objects_total в LayoutDataQuality для прозрачности; подпись
  «N из M ЖК» → «N из M комплексов» (бейдж + PDF)

Шаг 1 из 3 issue #2177 (mapping-расширение и lots-fallback — следом).
Follow-up: npm run codegen после деплоя (нужен живой OpenAPI).
2026-07-02 23:59:00 +05:00