framework_eng/skills/tool-usage/vanessa/vanessa-diagnostics/SKILL.md
MUST use WHEN a feature scenario has failed, artifacts were not created, or you need to classify a failure after execution. Provides an algorithm for analyzing run artifacts and classifying the error type.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework vanessa-diagnosticsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Vanessa is run through v8-runner test va (see the v8-runner skill → references/testing.md). This skill is about how to analyze a failed run.
There are two layers - do not confuse them:
| Layer | What writes it | Where it is located |
|------|-----------|-----------|
| Vanessa artifacts | the VA player itself (va-status.json, vanessa-execution.log, reports junit/junit.xml, cucumber/CucumberJson.json) | at the paths from the active tests.va / va-params profile, usually project-local (<project_root>/vanessa-tests/reports/…, .../logs/…) |
| v8-runner run artifacts | v8-runner itself (internal run logs, 1cv8c stdout/stderr, run-id metadata) | workPath/temp/<runner-id>/runs/<run-id>/ (workPath is taken from v8project.yaml) |
When a run fails, do not clean up both locations before diagnostics are complete. Read the exact Vanessa report paths from the active profile.
For long v8-runner test va operations (usually several minutes), use the Monitor tool instead of blindly polling files:
v8-runner in the background: Bash run_in_background: true, redirect stdout to a log file (for example v8-runner test va 2>&1 | tee /tmp/va-stdout.log).ERROR:|\\[artifact\\]|passed|Failed: - each matched line will arrive as a notification.va-status.log appears in the run directory (it is created on success AND on error - unlike va-status.json);1cv8c.*vanessa-automation process finishes;ERROR: appears in stdout (for example ERROR: runtime error: test run reported failures).va-status.json as the sole exit condition. It is created only upon normal scenario completion; in the case of an early failure (step error, client crash), the file is absent and waiting for it will hang forever.After the run completes, proceed to the diagnostic sequence below.
| Trigger | Action |
|---------|----------|
| va-status.json not created | Treat the run as catastrophic, go to diagnostics |
| va-status.json != 0 | Read artifacts and classify the failure |
| vanessa-execution.log contains an error | Determine the error class |
| Suspected GUI lockup | Visual diagnostics |
| The run is "green", but 0 steps executed / steps undefined/skipped | False success - classify as step_resolution_error/scenario_error |
va-status.json.vanessa-execution.log.event-log: first the last Error; if empty - without the level filter.gui-control / screenshot.tech-log-analysis.Security WarningIf event-log contains an entry about Security Warning for bddRunner.epf or plugins:
| Class | When to set |
|-------|---------------|
| scenario_error | The scenario is formulated incorrectly or uses the wrong flow |
| step_resolution_error | The required step was not found or could not be resolved |
| assertion_error | The steps ran, but the result check did not match |
| test_data_error | Depends on missing / unsuitable data |
| environment_error | Problem in X11, environment, runner, or client startup |
| product_ui_error | Error in visible form behavior or UI flow |
| product_logic_error | Business logic returns the wrong result for a correct scenario |
| Signal | Class |
|--------|-------|
| No va-status.json, GTK/X11 error | environment_error |
| Step not found | step_resolution_error |
| The form opened, expectation mismatch | assertion_error / product_ui_error |
| Error from the business module in the registration log | product_logic_error |
| Document/object not found | test_data_error |
The agent must report: error class, main signal source, next action loop.
failure_type = test_data_error
main_signal = document not found in event log / form flow
next_action = choose another fixture or prepare stable test data
depends_on:
testing
MUST use BEFORE making a judgment about the cause of a conflict, a test failure, or an artifact dispute. Defines the end-to-end verification method L1→L6 and the classification of the first broken link.
development
MUST use AFTER a work cycle with ≥2 iterations (wrote → error → fixed → success). Provides the retrospective procedure and the format for recording practice/anti-patterns in references/learned-patterns.md or {project}/.context/learned-patterns.md.
tools
MUST use WHEN you are writing reusable knowledge into RLM (pattern / architectural decision / stable domain fact) OR reading it before a non-trivial task/solution in the domain. Provides the breakdown of native-push vs RLM-pull, tools for writing and reading RLM, H-MEM levels, and hygiene.
testing
MUST use WHEN the task is classified as simple (< 20 lines, 1 file, no new metadata objects, no architectural decisions). Provides a short cycle of 3 steps with a guard on the self path and mandatory verify.