# Reverse Engineering Lab

> Для **Use Case 9**. Ви аналізуєте сценарій і знаходите необроблені edges.

## Мета

- Описати data flow (5–8 речень)
- Знайти **мінімум 3** проблеми з таблиці нижче
- Запропонувати покращення

## Еталонна структура (~15 нод)

Зберіть **самостійно** в навчальному боті за схемою нижче (або використайте власний capstone Use Case 13 для audit):

```text
Start
  → MessageKeyboard (меню: FAQ / Оператор / CRM)
  → [FAQ] WaitForInput → action_fastline_pro
        ├─ success → MessageKeyboard (answer)
        └─ fallback → [MISSING #1 — виправте]
  → [CRM] WaitForInput phone → action_send_request
        ├─ ok → Router → MessageKeyboard
        └─ not_ok → [MISSING #2]
  → [Operator] action operator_panel connect
        ├─ success → MessageKeyboard
        ├─ limit → [MISSING #3 — no client message]
        └─ error → MessageKeyboard
```

## Як використовувати

1. Зберіть lab-сценарій у навчальному боті **або** проведіть audit власного capstone (Use Case 13).
2. Заповніть секцію Use Case 9 у [results-template.md](/uk/learn/implementer/training/results-template.md).
3. Self-check: виправте знайдені missing edges у копії сценарію.

## Навмисні прогалини (для перевірки)

| # | Нода / патерн | Missing / помилка | Симптом |
|---|---------------|-------------------|---------|
| 1 | action_fastline_pro | fallback | Тиша після невідомого питання |
| 2 | action_send_request | not_ok | Тиша при 404 URL |
| 3 | operator connect | limit | Клієнт без повідомлення в черзі |
| 4 | send-message-keyboard | source-handle → INTEGER CD | Free-text ламає запис оцінки |
| 5 | alias entry | дубльований `exit_csat` | CSAT не стартує |
| 6 | Set + Router | Set alias до перевірки сегменту | Неправильна тема |
| 7 | connect blocks | різний `chat_closed_alias` | CSAT після close не в усіх гілках |

Знайдіть мінімум **3** проблеми (1–3 у базовому lab; 4–7 — розширений audit).

## Self-check

- [ ] Data flow описано (5–8 речень)
- [ ] Мінімум 3 проблеми знайдено та задокументовано
- [ ] Виправлення перевірено в Runs
