lct-hack/scenarios/tickets/t03-3-log-blocked-driver.yaml
Ivan Gerasimov 4c2bbfd021 feat: билеты 1–3 заказчика в библиотеку сценариев (lct-34, частично)
Девять вызовов из билетов учебного центра в scenarios/tickets/. Библиотека
стала вложенной: загрузчик ходит по подкаталогам, checklists/ и pregenerated/
сценариями не считаются. Поля ticket и position задаются вместе.

Написаны чек-листы, которых не было: medical, police, utility. Без них
переносить было не на что — в библиотеке существовал только пожарный.

Девять вызовов закрывают все приёмы, ради которых билеты и брались: адрес
по ориентиру, адрес из другого региона, линейный объект (съезд с МКАД),
непрофильный вызов, профильный но не экстренный, массовая драка, где список
оповещения поднимает и полицию, и скорую.

Подводный камень записан в SCENARIO-FORMAT: значения признаков ЕКП бывают
с запятыми («Человек в воде, на льдине»), и в короткой записи YAML разрывает
такое значение на два.

Осталось семь билетов — работа механическая, рецепт отработан на трёх.

161 тест зелёный.
2026-09-20 08:38:01 +03:00

58 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Билет 3, вызов 3 (docs/spec/TICKETS.md). Водитель заблокирован в машине:
# признак «Блокированные» поднимает и спасателей, и скорую. Адрес — линейный
# объект, съезд с МКАД: улицы и дома нет вовсе.
id: t03-3-log-blocked-driver
title: "Бревно упало на машину, водитель заблокирован"
ticket: 3
position: 3
type: other
level: L3
topics: [rescue, address]
modes: [training, exam, self]
extends: checklists/police.yaml
signs: ["ДТП пострадавшие", "Блокированные"]
persona:
base: panic
arc:
- { stage: registration, mood: panic }
- { stage: interview, mood: worried }
first_line: "С грузовика бревно слетело, прямо на легковую! Водитель зажат, не вылезает!"
facts:
- id: f_address
value: "съезд с МКАД на Симферопольское шоссе в область"
refined: "съезд с МКАД внутренней стороны на Симферопольское шоссе, 100 метров не доезжая, обочина"
reveal_on: { question: q_address }
refine_on: q_address_check
- id: f_what_happened
value: "бревно упало с грузовика на легковую машину"
reveal_on: { question: q_what_happened }
- id: f_victims
value: "водитель заблокирован в машине, сам выйти не может"
reveal_on: { question: q_victims }
- id: f_vehicle
value: "ВАЗ красного цвета, номер не видно"
reveal_on: { question: q_vehicle }
- id: f_caller
value: "Иванова Елена Сергеевна, телефон 916 896 3254"
reveal_on: { question: q_caller }
checklist:
- { id: q_address, fact: f_address }
- { id: q_address_check }
- { id: q_what_happened, fact: f_what_happened }
- { id: q_victims, fact: f_victims }
- { id: q_vehicle, fact: f_vehicle }
- { id: q_caller, fact: f_caller }
required_fields: [address, incident_type, description, victims_count]
ground_truth:
address: "съезд с МКАД внутренней стороны на Симферопольское шоссе"
victims: 1
tree:
pregenerated: false