# E2E сценарии

Документ фиксирует первый набор end-to-end сценариев для беспилотного весового контура.

## 1. Scope

- отрасль: `weighbridge`
- контур: `edge-single`
- primary HMI: `2 x iT-2110-015700`
- optional production ANPR: `iT-2210`
- базовые интеграции: весовой индикатор, ANPR, верхняя камера, QR, RFID, gate I/O

## 2. E2E-WB-01: Полный автоматический цикл

Цель: подтвердить zero-operator сценарий `detected -> partial -> completed`.

Шаги:
1. Получить `lane/trigger` от шлагбаума, зоны въезда или video analytics и взвести автоматический цикл.
2. Если пришел `cycle_stage_hint`, перевести цикл на ожидаемый следующий шаг без потери ownership внутри weighbridge-модуля.
3. Получить plate через ANPR.
4. Подтвердить стабильный вес и записать первую фазу.
5. Создать или прикрепить `cargo_top` evidence по правилам phase policy.
6. Повторно зафиксировать вторую фазу рейса.
7. Рассчитать `net_kg` и закрыть карточку как `completed`.

Критерии:
- один и тот же `correlation_id` связывает `lane/trigger`, plate и media evidence;
- `lane/trigger` с `zone_role` и `cycle_stage_hint` корректно двигает автоматический цикл;
- обе панели видят одну и ту же сессию;
- `completed` достигается без ручного вмешательства;
- карточка содержит массу, media и plate.

## 3. E2E-WB-02: Partial session и дозаполнение

Цель: подтвердить, что partial session хранится до второй фазы.

Шаги:
1. Создать сессию и записать только `tare`.
2. Оставить карточку в `tare_recorded`.
3. Через отдельный проход записать `gross`.
4. Подтвердить переход в `completed`.

Критерии:
- partial session не теряется;
- сохраняется plate и связанное evidence;
- `net_kg` вычисляется только после второй фазы.

## 4. E2E-WB-03: ANPR mismatch

Цель: проверить перевод в `manual_review`.

Шаги:
1. Зафиксировать plate на въезде.
2. На второй фазе получить другой plate.
3. Подтвердить alarm `weighbridge_anpr_mismatch`.

Критерии:
- сессия уходит в `manual_review`;
- автоматическое закрытие блокируется;
- evidence и alarm сохраняются в карточке.

## 5. E2E-WB-04: Camera degraded

Цель: проверить правила media policy.

Шаги:
1. Выполнить `gross` без `cargo_top` evidence.
2. Проверить невозможность automatic close.
3. Повторить сценарий для `tare` без `cargo_top`.

Критерии:
- для `gross` сессия уходит в `manual_review`;
- для `tare` правило зависит от empty/dispute policy.

## 6. E2E-WB-05: QR/RFID enrichment

Цель: подтвердить, что enrichment не блокирует automatic flow.

Шаги:
1. Выполнить полный цикл без QR или RFID.
2. Повторить цикл с QR.
3. Повторить цикл с RFID.
4. Повторить цикл с QR+RFID.

Критерии:
- во всех случаях automatic cycle завершается;
- identity data корректно дозаполняют карточку;
- `source` принимает `qr|rfid|mixed`.
