gendesign/backend/tests/services/generative
bot-backend 0a018d201e
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 12s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m8s
CI / backend-tests (pull_request) Successful in 15m0s
fix(generative): отклонять спроецированные координаты до pyproj CRSError (#2445-B1)
parcel_geojson со спроецированными координатами (МСК-66/UTM метры) проходил
синтаксическую валидацию Polygon, затем крашил _metric_transformers на
CRS.from_proj4 с lat_0 вне ±90° → необработанный CRSError → opaque 500.

Добавлен WGS84 bbox-check (_assert_wgs84_bounds) в parse_parcel ДО проекции
(root cause, понятное сообщение) + защитный CRSError → ParcelGeometryError
wrap в _metric_transformers. Существующий маппинг ParcelGeometryError → 422
в concepts.py срабатывает как задумано.

Refs #2445
2026-07-06 00:04:10 +05:00
..
test_api_concepts.py fix(generative): отклонять спроецированные координаты до pyproj CRSError (#2445-B1) 2026-07-06 00:04:10 +05:00
test_catalog.py feat(concept): house-type catalog + program-driven placement (#1965 Stage 3a) 2026-06-28 01:29:04 +05:00
test_exporters.py feat(finmodel): monthly DCF — real NPV/IRR/PBP, replace IRR-proxy (epic #1881 PR-3) 2026-06-23 21:52:04 +05:00
test_financial_dcf.py feat(financial/dcf): dormant separate-index inflation capability (default OFF) 2026-06-25 12:12:02 +00:00
test_geometry.py fix(generative): отклонять спроецированные координаты до pyproj CRSError (#2445-B1) 2026-07-06 00:04:10 +05:00
test_market_price_lookup.py perf(objective): request-path consumers dedup inline, not via whole-table view (#1964) 2026-06-28 05:00:47 +05:00
test_placement.py feat(section7): editable section footprint + корпус plural/program hint (#1953) (#2102) 2026-06-30 09:48:11 +00:00
test_program_placement.py test(concept): turn greedy backward-compat into a real golden pin (#1965 Stage 3a) 2026-06-28 02:23:55 +05:00
test_teap_financial.py feat(generative): LIVE financial recompute from massing program (#1965 Stage 2a) 2026-06-28 00:27:25 +05:00