Refactors the termination detection in the rules DSL to properly handle if-block and if-else-block commands.
Adds new functions `commandsTerminateInPre`, `commandTerminatesInPre`, and `ifElseBlockTerminatesInPre`
to recursively check if command sequences terminate in the pre-phase.
Also improves the Parse function to try block syntax first with proper error handling and fallback to YAML.
Includes test cases for dead code detection with terminating handlers in conditional blocks.
The default rule should runs only when no non-default pre rule matches, instead of running first as a baseline.
This follows the old behavior as before the pr is established.:
- Default rules act as fallback handlers that execute only when no matching non-default rule exists in the pre phase
- IfElseBlockCommand now returns early when a condition matches with a nil Do block, instead of falling through to else blocks
- Add nil check for auth handler to allow requests when no auth is configured
- Fix unterminated environment variable parsing to preserve input
Updates tests to verify the new fallback behavior where special rules suppress default rule execution.