Вложение «Screenshot on failure» весило 0 B у всех красных тестов —
две независимых причины, маскирующие друг друга.
1. slugify сохранял кириллицу в именах артефактов. Allure CLI молча не
находит вложение с не-ASCII именем: пишет "size": 0 без ссылки на файл
(JAVA_OPTS с file.encoding/sun.jnu.encoding не помогает). Теперь slugify
транслитерирует кириллицу и схлопывает остальное не-ASCII в дефис.
Чинит и видео — оно использовало то же имя.
2. Скриншот 1С-ошибки писался в фиксированный <навык>/error-shot.png:
вне reportDir (репортер аттачит по basename → мёртвая ссылка) и одним
именем на весь прогон (каждый следующий тест перетирал предыдущий).
exec-context получил setErrorShotDir + уникальные имена; раннер
направляет их в reportDir. Дефолт для интерактивных exec/run не менялся.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>