v0.5.0 Fine Sift
Fine Sift — Subflow Transition Overhaul
Highlights
- Subflow exit resolution: exit names now resolve through the parent flow's transition map instead of being used directly as state IDs
- Subflow chaining: atomic exit + re-enter next subflow (e.g., discovery-flow → architecture-flow) without manual state manipulation
- Recursive subflow entry: handles 3-level nesting (main-flow → feature-dev-flow → planning-flow)
- JSON-first output:
--jsonflag replaced with--text; JSON is now the default for all commands nextshows all transitions: includes blocked/guarded transitions with trigger→target mapping, status markers, and condition hints
New Features
states --session— list states in the current (sub)flowvalidate --session— validate the current (sub)flowcheck --session <trigger>— show transition conditions for a trigger (fixed argparse bug)session initauto-enters subflow when first state hasflow:field
Bug Fixes
resolve_subflows().yamlextension fallback for flow references without extension- Stack frame records correct parent state (subflow wrapper, not pre-transition state)
check --session <target>argparse consuming target asflow_file
Full Changelog: v0.4.0...v0.5.0