Skip to content

Conversation

@johnnyt
Copy link
Member

@johnnyt johnnyt commented Sep 8, 2025

Adds error.execution event generation in AssignAction per SCXML specification
and implements SCXML-compliant event matching patterns in Event.matches/2.

Changes:

  • AssignAction: Generate error.execution events on assignment failures
  • Event: Implement prefix matching, wildcards, and universal wildcard patterns
  • Supports "foo bar" (OR patterns), "foo." (wildcard suffix), "" (universal)

Changes nested assignments to fail when intermediate structures don't exist,
generating error.execution events per SCXML spec instead of auto-creating
intermediate maps.

Changes:

  • Strict checking in Datamodel.put_in_path/3
  • Enhanced location validation with whitespace checking
  • Updated internal tests to match correct SCXML behavior

johnnyt and others added 5 commits September 8, 2025 14:36
Adds error.execution event generation in AssignAction per SCXML specification
and implements SCXML-compliant event matching patterns in Event.matches/2.

Changes:
- AssignAction: Generate error.execution events on assignment failures
- Event: Implement prefix matching, wildcards, and universal wildcard patterns
- Supports "foo bar" (OR patterns), "foo.*" (wildcard suffix), "*" (universal)

Test Results:
- test399 now passes (SCXML event matching compliance)
- W3C tests: 26/59 passing (maintained from Phase 1)
- Known regression: test387 (1 test, will address separately)

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

Co-Authored-By: Claude <[email protected]>
Changes nested assignments to fail when intermediate structures don't exist,
generating error.execution events per SCXML spec instead of auto-creating
intermediate maps.

Changes:
- Strict checking in Datamodel.put_in_path/3
- Enhanced location validation with whitespace checking
- Updated internal tests to match correct SCXML behavior

Results: test401 now passes, W3C tests 27/59 (+1), all regression tests pass

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

Co-Authored-By: Claude <[email protected]>
@codecov
Copy link

codecov bot commented Sep 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
lib/statifier/actions/assign_action.ex 100.00% <100.00%> (ø)
lib/statifier/datamodel.ex 85.48% <100.00%> (+1.00%) ⬆️
lib/statifier/event.ex 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@johnnyt johnnyt merged commit 3e99aeb into main Sep 8, 2025
11 checks passed
@johnnyt johnnyt deleted the event-processing branch September 8, 2025 22:56
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