Skip to content

fix(core): track STATUS_TRANSITION_VIOLATION status per connector#131

Merged
sepehr-safari merged 1 commit into
mainfrom
fix/status-transition-per-connector
Jul 22, 2026
Merged

fix(core): track STATUS_TRANSITION_VIOLATION status per connector#131
sepehr-safari merged 1 commit into
mainfrom
fix/status-transition-per-connector

Conversation

@sepehr-safari

Copy link
Copy Markdown
Member

Fixes the STATUS_TRANSITION_VIOLATION false positives shiv3 reported (#127 sibling).

The rule validated connector status transitions against a single previous status shared across all connectors, so on a multi-connector station an interleaved notification from a different connector (connector 1 going Available while connector 2 goes Finishing) was reported as an invalid transition.

Change

Status is now tracked per connectorId (connectorId 0, the charge point as a whole, forms its own series), and each transition is validated only within one connector's series.

Safety

Genuine per-connector violations are still detected: the status-transition-violation scenario still yields STATUS_TRANSITION_VIOLATION and the 15-scenario conformance contract is unchanged. Three regression tests cover cross-connector interleaving that only looks invalid globally, a genuine per-connector violation caught amid interleaving, and connectorId 0 as its own series. Full gate green: lint, typecheck, 518 tests, build. Patch changeset included.

Reported by shiv3.

Closes #128

The rule validated connector status transitions against a single previous
status shared across all connectors, so on a multi-connector station an
interleaved notification from a different connector (connector 1 going
Available while connector 2 goes Finishing) was reported as an invalid
transition.

Status is now tracked per connectorId (connectorId 0, the charge point as a
whole, forms its own series), and each transition is validated only within
one connector's series. Genuine per-connector violations are still detected,
so the scenario corpus and conformance contract are unchanged. Adds three
regression tests.

Reported by shiv3 from the ocpp-cp-simulator integration.
@sepehr-safari
sepehr-safari merged commit 713dbfc into main Jul 22, 2026
2 checks passed
@sepehr-safari
sepehr-safari deleted the fix/status-transition-per-connector branch July 22, 2026 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: STATUS_TRANSITION_VIOLATION false positives: connector status is tracked globally, not per connector

1 participant