Skip to content

Fixes parallel transition conflict resolution#95

Merged
johnnyt merged 1 commit intomainfrom
transition-conflict-resolution
Sep 2, 2025
Merged

Fixes parallel transition conflict resolution#95
johnnyt merged 1 commit intomainfrom
transition-conflict-resolution

Conversation

@johnnyt
Copy link
Copy Markdown
Member

@johnnyt johnnyt commented Sep 2, 2025

Enhances the TransitionResolver to handle conflicts between transitions from parallel regions per SCXML specification. When multiple transitions are enabled from parallel regions with conflicting exit behavior (some exit the parallel state, others stay within), document order now determines the winner.

Key improvements:

  • Two-phase conflict resolution: ancestor/descendant filtering + parallel conflicts
  • Exit set calculation to detect transitions that exit parallel regions
  • Document order resolution for conflicting parallel region transitions
  • SCXML-compliant transition selection for complex parallel scenarios

This fixes parallel interrupt scenarios where transitions from different parallel regions compete, ensuring only the first in document order fires.

Fixes 16 additional SCION parallel_interrupt tests including test1.

🤖 Generated with Claude Code

Enhances the TransitionResolver to handle conflicts between transitions
from parallel regions per SCXML specification. When multiple transitions
are enabled from parallel regions with conflicting exit behavior (some
exit the parallel state, others stay within), document order now
determines the winner.

Key improvements:
- Two-phase conflict resolution: ancestor/descendant filtering + parallel conflicts
- Exit set calculation to detect transitions that exit parallel regions
- Document order resolution for conflicting parallel region transitions
- SCXML-compliant transition selection for complex parallel scenarios

This fixes parallel interrupt scenarios where transitions from different
parallel regions compete, ensuring only the first in document order fires.

Fixes 16 additional SCION parallel_interrupt tests including test1.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Sep 2, 2025

Codecov Report

❌ Patch coverage is 87.80488% with 5 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
lib/statifier/interpreter/transition_resolver.ex 87.80% 5 Missing ⚠️
Files with missing lines Coverage Δ
lib/statifier/interpreter/transition_resolver.ex 94.68% <87.80%> (-5.32%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@johnnyt johnnyt merged commit f26dfd4 into main Sep 2, 2025
8 checks passed
@johnnyt johnnyt deleted the transition-conflict-resolution branch September 2, 2025 13:23
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.

1 participant