lct-hack/scenarios/tickets/t02-1-smoke-chute.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

55 lines
2 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.

# Билет 2, вызов 1 (docs/spec/TICKETS.md). Дым без открытого пламени: курсант
# должен различить задымление и пожар — в классификаторе это разные коды
# и разные списки оповещения.
id: t02-1-smoke-chute
title: "Задымление мусоропровода в жилом доме"
ticket: 2
position: 1
type: fire
level: L2
topics: [fires]
modes: [training, exam, self]
extends: checklists/fire.yaml
signs: [жилой дом, мусоропровод, дым]
persona:
base: worried
arc:
- { stage: registration, mood: worried }
- { stage: interview, mood: worried }
first_line: "Здравствуйте, у нас дымом из мусоропровода тянет, весь подъезд в дыму."
facts:
- id: f_address
value: "улица Берзарина, дом 21, корпус 1, подъезд 3, домофон 68"
reveal_on: { question: q_address }
- id: f_what_burns
value: "дымит мусоропровод, открытого пламени не видно"
reveal_on: { question: q_what_burns }
- id: f_people
value: "пострадавших нет, люди в квартирах"
reveal_on: { question: q_people }
- id: f_smoke
value: "дым идёт по подъезду, заявитель на 7-м этаже, в доме 17 этажей"
reveal_on: { question: q_smoke }
- id: f_caller
value: "Ким Олег Юрьевич, телефон 916-126-34-71"
reveal_on: { question: q_caller }
checklist:
- { id: q_address, fact: f_address }
- { id: q_what_burns, fact: f_what_burns }
- { id: q_people, fact: f_people }
- { id: q_smoke, fact: f_smoke }
- { id: q_caller, fact: f_caller }
required_fields: [address, entrance, incident_type, description]
ground_truth:
address: "улица Берзарина, дом 21, корпус 1"
victims: 0
tree:
pregenerated: false