Skip to content

Commit 16b4f27

Browse files
committed
fix(validators): always propagate exceptions, never convert to error.execution
Validators operate in the transition-selection phase, not the execution phase. A validator rejecting is semantically "this transition should not happen" — not "something failed during execution". Converting the exception to error.execution conflated these two concepts. Engine change: pass on_error=None for validators in _conditions_match() (both sync and async), so exceptions always propagate to the caller regardless of error_on_execution. - Add 28 dedicated validator tests (14 scenarios × sync/async via sm_runner): propagation, multiple validators, combined with cond, no error.execution trigger, no fallthrough - Rewrite guards.md: progressive narrative, conditions with kwargs (PriorityRouter), validator propagation semantics, contrast with error.execution, rename title to "Conditions" - Remove now-unnecessary error_on_execution=False from conftest fixture and issue509 test
1 parent 5c98d3d commit 16b4f27

6 files changed

Lines changed: 576 additions & 188 deletions

File tree

0 commit comments

Comments
 (0)