Claude VM 49dcdadc44 fix(geoportal-v2): cladiri-aware deep-enrich button + clearer error
Marius hit "Parcela nu există în baza centrală gis_core." on building
304629-C3 (siruta=54975) — feature exists in gis_core (verified, id
70fd7485-fa39-4c38-9074-cfad154ed288) but orchestrator's
parcel-deep-enrich hardcodes layerId='TERENURI_ACTIVE' in its
pre-flight lookup:

  // gis-sync-orchestrator src/lib/parcel-deep-enrich/fetch.ts L232–240
  SELECT id, attributes, enrichment, "enrichedAt"
    FROM gis_core."GisFeature"
   WHERE "layerId" = 'TERENURI_ACTIVE'
     AND siruta = $1 AND "cadastralRef" = $2
   LIMIT 1

→ throws ParcelNotFoundError for any CLADIRI cadref. Architots
mapped that to a misleading "doesn't exist" message even though
by-ref correctly retrieved the building row up-front.

Architots-side fix (the proper fix is on orchestrator):

1. Error message for `parcel_not_found` now branches on
   feature.layerId. For CLADIRI_ACTIVE the user sees:
     "Deep-enrich nu suportă încă construcțiile — datele clădirii
      vin via parcela părinte (gis-api orchestrator side)."
   No more "parcela nu există" confusion when the parcel obviously
   does.

2. "Actualizează" / "Încarcă din ANCPI" button in the Date eTerra
   header is now disabled when isCladiri. Tooltip explains why.
   The button is the one that triggers refreshFromAncpi →
   /parcel/enrich → the very orchestrator path that doesn't handle
   buildings.

Result: building panels show whatever's in gis_core (CLADIRE_TYPE,
CLADIRE_DESTINATIE, etc. if previously enriched via eterra.live's own
flow) and don't pretend they can be re-fetched.

Next step (orchestrator session): teach loadFeature() to accept an
optional layerId param OR auto-detect from cadref-suffix pattern
(/-C\\d+$/) so /parcel/enrich works for both layers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 19:18:08 +03:00
S
Description
No description provided
3.4 MiB
Languages
TypeScript 98.7%
Shell 0.4%
PLpgSQL 0.4%
Dockerfile 0.2%
CSS 0.1%
Other 0.1%