# Epic 5 Audit: Robotok védelmi hiányosságai

## Áttekintés
Az audit célja a Master Data & Robot Ecosystem (Epic 5) aktuális állapotának felmérése, különös tekintettel a #27, #28, #29 Gitea kártyákban megfogalmazott követelményekre.

## Feltérképezett fájlok
- `backend/app/workers/vehicle/vehicle_robot_2_researcher.py`
- `backend/app/workers/vehicle/vehicle_robot_3_alchemist_pro.py`
- `backend/app/models/vehicle_definitions.py`

## #27 – Manuális felülírás elleni védelem
**Állapot: HIÁNYOS**  
A `vehicle_robot_3_alchemist_pro.py` SELECT lekérdezése (175–190 sor) nem szűr az `is_manual` mezőre. A `vehicle_model_definitions` táblában létezik az `is_manual` logikai mező (117. sor), de a robot nem veszi figyelembe. Emiatt a robot felülírhatja a manuálisan bevitt adatokat.


## #28 – Regex/JSON bányászat webből

**Állapot: HIÁNYOS**  
A `vehicle_robot_2_researcher.py` csak nyers szöveget gyűjt a DuckDuckGo keresésből (`fetch_ddg_targeted`). Nincs implementálva regex vagy JSON elemzés a technikai adatok (ccm, kW, engine_code) kinyerésére. A kutatás kimenete pusztán szöveges kontextus, ami továbbítódik az AI-nak.

## #29 – Explicit deduplikáció
**Állapot: RÉSZBEN MEGVAN**  
A `vehicle_definitions.py` modellben a deduplikáció a `make`, `normalized_name`, `variant_code`, `version_code`, `fuel_type` kombinációján alapul (UniqueConstraint). A `vehicle_robot_1_catalog_hunter.py` ezt az öt mezőt használja az `ON CONFLICT` záradékban (157–158 sor). A `technical_code` (holland rendszám) nem része a konfliktus kezelésnek, de a `make + technical_code` pároson kívül további normalizációs logika már jelen van.

## Epic 4.1 utóélet
A #64, #65, #66 kártyák a Closed listában szerepelnek, tehát lezárásra kerültek.

## Összefoglaló
A robotok alapvető működése megvan (adatgyűjtés, AI dúsítás, deduplikáció), de a manuális adatok védelme és a technikai adatok automatikus kinyerése hiányzik. A deduplikáció logikája kielégítő, de a `technical_code` integrációja javítható.