This repository was archived by the owner on Sep 12, 2025. It is now read-only.
Conversation
Upgrades predicator from v2.0 to v3.0 and implements comprehensive assign element support: **Predicator v3.0 Integration:** - Upgrades predicator dependency to v3.0 with enhanced nested property access - All existing tests pass with no breaking changes - Enables new features: context_location/2, value evaluation, mixed access patterns **New SC.ValueEvaluator Module:** - Handles non-boolean expression evaluation using predicator v3.0 capabilities - Supports nested property access (user.profile.name) - Mixed bracket/dot notation (users['john'].active) - Location path validation for assignments via context_location/2 - Comprehensive error handling and type-safe operations **SCXML Assign Element Support:** - Full <assign location="..." expr="..."/> parsing and execution - Integrated assign action execution in onentry/onexit blocks - Location-based assignment with path validation - Expression evaluation with SCXML context (events, state, datamodel) - Graceful error handling with detailed logging **StateChart Data Model:** - Added data_model field to StateChart for variable storage - Added current_event field for expression context - Helper methods for data model updates - Full integration with SCXML processing model **Parser Extensions:** - Extended SCXML parser to handle assign elements - Added assign action building with location tracking - StateStack integration for action collection - Mixed action parsing (log, raise, assign together) **Feature Detection:** - Updated assign_elements feature to :supported status - Tests now recognize assign capability **Test Coverage:** - 556 tests pass with 92.9% coverage - 85 regression tests pass - Comprehensive unit and integration tests - Log capture for clean test output This enables dynamic data model manipulation during state machine execution and provides the foundation for Phase 2 datamodel features. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
**CHANGELOG.md:** - Comprehensive unreleased section documenting Phase 1 Enhanced Expression Evaluation - Details predicator v3.0 upgrade with enhanced nested property access capabilities - Documents SC.ValueEvaluator module with all functions and capabilities - Complete assign element support documentation with examples - StateChart data model enhancements and parser extensions - Updated dependency information and technical improvements - Added practical examples for basic assign, mixed notation, and programmatic usage **CLAUDE.md (Project Instructions):** - Updated working features to include assign elements, value evaluation, and data model support - Corrected predicator version references from v2.0 to v3.0 throughout - Updated test counts (556 tests, 85 regression tests, 92.9% coverage) - Added new Core Components section for Expression Evaluation and Data Model - Added Actions and Executable Content section documenting SC.Actions modules - Updated dependencies to reflect predicator v3.0 - Added comprehensive test documentation for new test modules - Updated main failure categories to reflect assign support **README.md:** - Added assign elements, value evaluation, and data model integration to features - Updated working features section with predicator v3.0 and enhanced capabilities - Updated planned features to reflect assign element completion - Added comprehensive assign elements example showing nested properties and mixed notation - Updated executable content progress in Future Extensions section All documentation now accurately reflects the current state with predicator v3.0 integration and complete assign element support, providing clear examples and comprehensive feature coverage for users and developers. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades predicator from v2.0 to v3.0 and implements comprehensive assign element support:
Predicator v3.0 Integration:
New SC.ValueEvaluator Module:
SCXML Assign Element Support:
StateChart Data Model:
Parser Extensions:
Feature Detection:
Test Coverage:
This enables dynamic data model manipulation during state machine execution and provides the foundation for Phase 2 datamodel features.
🤖 Generated with Claude Code