feat: билеты 1–3 заказчика в библиотеку сценариев (lct-34, частично)

Девять вызовов из билетов учебного центра в scenarios/tickets/. Библиотека
стала вложенной: загрузчик ходит по подкаталогам, checklists/ и pregenerated/
сценариями не считаются. Поля ticket и position задаются вместе.

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

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

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

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

161 тест зелёный.
This commit is contained in:
Ivan Gerasimov 2026-09-20 08:38:01 +03:00
commit 4c2bbfd021
7 changed files with 280 additions and 3 deletions

View file

@ -101,7 +101,7 @@ def test_refinement_happens_once(slots):
@pytest.fixture(scope="module")
def library_scenario():
return load_file(LIBRARY / "fire-private-house-l3.yaml", LIBRARY)
return load_file(LIBRARY / "tickets" / "t03-1-fire-private-house.yaml", LIBRARY)
def test_library_scenario_expects_the_refined_address(library_scenario):