Конфликты в:
- backend/app/api/v1/parcels.py — keep both _polygon_suitability (P1) И
_neighbors_summary (P2 из main); response dict содержит оба
geometry_suitability + neighbors_summary полей.
- frontend/src/components/site-finder/LandTab.tsx — рендерим оба блока:
NeighborsBlock (P2, hard warn на overlap) выше GeometrySuitabilityBlock (P1).
- frontend/src/types/site-finder.ts — оба поля в ParcelAnalysis:
geometry_suitability?, neighbors_summary? + сохранены X2 confidence_*.
ruff + tsc + lint — clean.
Auto-review нашёл: recommendation упоминала "от 0.3 га" но в constants block
не было 0.3 — magic literal в строке. Тот же класс проблемы что 30/40м inconsistency
из прошлого review, только в другом поле.
Fix: новая константа `_GEOM_AREA_COMFORT_HA = 0.3` с комментарием
"рекомендуемая комфортная площадь МКД (recommendation)". Размещена между
_GEOM_MIN_AREA_HA (физический минимум) и _GEOM_AREA_SCORE_FULL_HA (premium) —
третий semantic threshold. Recommendation теперь f-string использует константу.
Per auto-review on ae5e8de.