Skill v1.0.0
LLM-judged scan90/100version: "1.0.0" name: vanessa-diagnostics description: "MUST use WHEN feature-сценарий не прошёл, артефакты не создались или нужно классифицировать сбой после запуска. Provides алгоритм разбора артефактов прогона и классификации типа ошибки."
Диагностика Vanessa Automation
Запуск Vanessa делается через v8-runner test va (см. навык v8-runner → references/testing.md). Этот навык — про то, как разобрать упавший прогон.
Артефакты прогона
Слоя два — не путать:
| Слой | Что пишет | Где лежит | |
|---|---|---|---|
| Артефакты Vanessa | сам VA-плеер (va-status.json, vanessa-execution.log, отчёты junit/junit.xml, cucumber/CucumberJson.json) | по путям из активного профиля tests.va / va-params, обычно project-local (<project_root>/vanessa-tests/reports/…, .../logs/…) | |
| Run-артефакты v8-runner | сам v8-runner (внутренние логи запуска, stdout/stderr 1cv8c, метаданные run-id) | workPath/temp/<runner-id>/runs/<run-id>/ (workPath берётся из v8project.yaml) |
При падении прогона не очищать обе локации до завершения диагностики. Точные пути Vanessa-отчётов читать из активного профиля.
Мониторинг прогресса во время прогона
Для длительных операций v8-runner test va (обычно несколько минут) используй инструмент Monitor вместо слепого опроса файлов:
- Запусти v8-runner в фоне:
Bash run_in_background: true, перенаправь stdout в файл лога (напримерv8-runner test va 2>&1 | tee /tmp/va-stdout.log). - Подпишись на этот файл через инструмент Monitor с фильтром:
ERROR:|\\[artifact\\]|passed|Failed:— каждая совпавшая строка придёт как уведомление. - Завершай ожидание при выполнении любого условия:
va-status.logпоявился в каталоге прогона (создаётся при успехе И при ошибке — в отличие отva-status.json);- процесс
1cv8c.*vanessa-automationзавершился; - в stdout появилась строка
ERROR:(напримерERROR: runtime error: test run reported failures).
- Не используй `va-status.json` как единственное условие выхода. Он создаётся только при штатном завершении сценария; при раннем падении (ошибка шага, краш клиента) файл отсутствует и ожидание по его наличию зависнет навечно.
После завершения прогона переходи к порядку диагностики ниже.
Когда применять
| Триггер | Действие | |
|---|---|---|
va-status.json не создан | Считать запуск аварийным, идти в диагностику | |
va-status.json != 0 | Читать артефакты и классифицировать падение | |
vanessa-execution.log содержит ошибку | Определить класс ошибки | |
| Подозрение на блокировку GUI | Визуальная диагностика | |
Прогон «зелёный», но 0 шагов выполнено / шаги undefined/skipped | Ложный успех — классифицировать как step_resolution_error/scenario_error |
Обязательный порядок диагностики
- Проверить
va-status.json. - Проверить
vanessa-execution.log. - Проверить
event-log: сначала последниеError; если пусто — без фильтра уровня. - Если сигнал на модальное окно / security warning —
gui-control/screenshot. - Только если недостаточно —
tech-log-analysis.
Special-case: Предупреждение безопасности
Если в event-log запись о Предупреждение безопасности для bddRunner.epf или плагинов:
- Считать триггером на визуальную проверку.
- Открыть реальный экран через noVNC или снять скриншот (не полагаться на заголовки X11-окон).
- Только после визуального подтверждения трактовать повторный запуск.
Классы ошибок
| Класс | Когда ставить | |
|---|---|---|
scenario_error | Сценарий неверно сформулирован или использует неподходящий поток | |
step_resolution_error | Нужный шаг не найден или не резолвится | |
assertion_error | Шаги выполнились, проверка результата не совпала | |
test_data_error | Зависит от отсутствующих/неподходящих данных | |
environment_error | Проблема в X11, окружении, runner, запуске клиента | |
product_ui_error | Ошибка видимого поведения формы или UI-потока | |
product_logic_error | Бизнес-логика даёт неверный результат при корректном сценарии |
Быстрая эвристика
| Сигнал | Класс | |
|---|---|---|
Нет va-status.json, GTK/X11 error | environment_error | |
| Не найден шаг | step_resolution_error | |
| Форма открылась, ожидание не совпало | assertion_error / product_ui_error | |
| Ошибка из бизнес-модуля в ЖР | product_logic_error | |
| Документ/объект не найден | test_data_error |
Результат диагностики
Агент должен сообщить: класс ошибки, главный источник сигнала, следующий контур действий.
failure_type = test_data_errormain_signal = document not found in event log / form flownext_action = choose another fixture or prepare stable test data
depends_on:
- framework/rules/vanessa-diagnostics-policy.mdc
- framework/rules/vanessa-security-warning.mdc
- framework/skills/tool-usage/v8-runner/SKILL.md
- framework/skills/tool-usage/diagnostics/event-log-analysis/SKILL.md
- framework/skills/tool-usage/diagnostics/tech-log-analysis/SKILL.md
- framework/skills/tool-usage/browser-ui/gui-control/SKILL.md
- framework/skills/tool-usage/browser-ui/screenshot/SKILL.md