Release 1.7.0
What's New
Analysis Passes
- MessageFlowPass: Builds directed message flow graph (producers, consumers, message types, flow mechanisms)
- EntityLifecyclePass: Extracts entity state machines (states, transitions, initial/terminal states)
- DependencyAnalysisPass: Builds cross-context and cross-entity dependency graphs
ValidationPass Enhancements
- Handler completeness classification: Handlers classified as Executable, PromptOnly, or Empty via
HandlerCompletenessandBehaviorCategory - RecognizedOptions registry: ~25 recognized RIDDL options validated for name, arity, and parent type compatibility
- Streaming reachability: Isolated streamlet detection and source-to-sink BFS reachability checks
- New semantic validations: Entity handler command/query handling, FSM morph/become checks, repository/projector handler patterns, adaptor message type cross-referencing, schema relational link validation, saga do/undo compensation symmetry
DiagramsPass Extensions
- DataFlowDiagramData: Populated with resolved connections (outlet→inlet via connectors), streamlets, and message types
- DomainDiagramData: New case class with processors, subdomains, contexts, and epics
StatsPass
- Statement classification into prompt and executable categories (
numPromptStatements,numExecutableStatements)
RiddlLib / RiddlAPI
getHandlerCompleteness(),getMessageFlow(),getEntityLifecycles()on shared trait + JS facade
All changes are additive — no breaking API changes. Full clean build: all tests pass on JVM, JS, and Native.