# Trip/identity policy

## 1. Источники identity

- `anpr_camera` дает baseline `vehicle_plate`;
- `qr` заполняет рейс, накладную и водителя;
- `rfid` заполняет водителя и транспорт;
- `manual_override` допускается только в exception flow;
- внешний ANPR contour может вернуть `review_hint=manual_review`, если распознавание не прошло автоматически.

## 2. Приоритеты

1. `manual_override` в `manual_review`.
2. Совпадающие `qr + rfid + anpr`.
3. `qr` или `rfid` как enrichment поверх ANPR.
4. Один ANPR как minimum viable identity.

## 3. Matching rules

- `vehicle_plate` нормализуется в upper-case и сравнивается с ANPR baseline;
- `trailer_plate`, `trip_reference`, `cargo_reference`, `external_ref` сохраняются отдельными полями, а не в непрозрачном payload blob;
- mismatch plate между identity и session переводит карточку в `manual_review` с `review_reason=anpr_mismatch`.

## 4. Что не блокирует automatic flow

- отсутствие QR;
- отсутствие RFID;
- отсутствие `driver_name`;
- частичный reference import до ERP sync.

## 5. Что блокирует automatic close

- mismatch plate между session и identity;
- отсутствие обязательного `cargo_top(gross)` evidence;
- отсутствие второй фазы;
- duplicate condition, если она не разрешилась переиспользованием текущего `session_id`.
