Engineering note · Automotive / Applied AI
CANalyzer 15 Assistant: a reusable AI skill for evidence-based bench validation
Automotive validation starts with a precise requirement, a known environment and enough evidence to support the result. I published CANalyzer 15 Assistant to make that preparation more consistent.
From a requirement to a check
CANalyzer 15 Assistant is a reusable AI skill for file-based work around Vector CANalyzer 15: CAPL drafting and debugging, trace interpretation, signal checks, timing requirements, Measurement Setup, filters, logging and replay. The public repository contains the skill, installation instructions, selected MIT-licensed Vector CAPL references and a synthetic timing example.
“Response within 500 ms” sounds clear until the details matter. Does the window start on a rising edge? Must the response transition to 1, or is an already-high value acceptable? Is 500 ms inclusive? What happens if the capture ends before the deadline?
The skill asks the assistant to establish those semantics before producing a verdict. Channel and frame identity, timestamp units, signal scaling, invalid values and database provenance stay part of the analysis. Symbolic decoding needs a matching DBC/ARXML or an explicit mapping; an identifier and payload alone do not establish a signal’s meaning.
For CAPL, the exact service pack, license variant, installed bus options and program context matter. Generated code stays uncompiled until checked in the target installation. Newer documentation is a reference, not proof that an API exists in CANalyzer 15.
Why Inconclusive matters
The synthetic example requires a response transition from 0 to 1 within 500 ms after each trigger rising edge, inclusive. It contains four checks:
A capture that ends before the deadline cannot establish that the response failed to arrive within the required window. Separating missing evidence from a measured failure keeps the report useful for engineering decisions.
- 320 ms: Pass.
- 500 ms: Pass at the inclusive boundary.
- 600 ms: Fail, because the 500 ms deadline expired.
- Only 200 ms captured after the final trigger: Inconclusive.
Making the analysis repeatable
A follow-up implementation is available in draft pull request #1. It adds a Python checker for a narrowly defined CSV format containing decoded binary trigger and response states. It uses exact decimal comparisons and produces per-trigger JSON evidence.
The checker requires an explicit assertion that every signal change is recorded, values remain valid between rows and there are no capture gaps. Periodic samples or exports of unknown completeness do not satisfy that contract. Overlapping trigger windows are rejected rather than assigned an arbitrary interpretation.
Its 15 regression tests passed on Python 3.13.9, and it reproduced the synthetic example’s two Pass, one Fail and one Inconclusive outcomes. These are software checks against synthetic data; they do not establish physical bench performance. As of 8 November 2026, the checker is proposed in the draft PR and is not part of main.
Compatibility and scope
This is an independent project, not an official Vector product. It includes selected MIT-licensed references from Vector’s CANoe AI Package 1.0.2, with attribution and license notices preserved.
The official CANoe AI Package MCP integration requires CANoe 20 SP2 or later. This skill does not bring that integration to CANalyzer 15 and does not directly control CANalyzer or the bench. CANalyzer 15 SP5 is the intended, user-reported environment; runtime compatibility has not been bench-tested, and my installed license variant still needs confirmation.
The next useful validation step is to confirm the Windows installation and license, compile a small observation-only CAPL check in that environment, and compare known positive and negative scenarios with captured evidence.
Review and reuse
The repository is public for review and reuse. Follow its installation instructions to copy the complete skill folder into the assistant’s configured discovery location. GitHub publication alone does not install the skill or create an application connection.
Compatibility reports should identify the exact version and variant and use synthetic or authorized sanitized inputs. Customer databases, traces, configurations, VINs and credentials should stay out of public issues.