🚀 Enhancements
fix: resolve retry configuration defaults with pointer types @osterman (#2039)
Fixes #2034 - retry configuration defaults causing failures with partial configs.Changes
- Changed
RetryConfigfields to pointer types (nil = unlimited, explicit zero = error) - Added
Validate()function to error on explicit zeros - Added retry support to shell workflow steps
- Created
examples/workflow-retries/demonstrating retry behavior with intentional failure - Updated documentation with definition lists and unlimited retry examples
Configuration Philosophy
- Omitting a parameter = unlimited/disabled (feature not activated)
- Explicitly setting to zero = validation error (invalid configuration)
🤖 Generated with Claude Code
Summary by CodeRabbit
-
New Features
- Added a Workflow Retries example demonstrating retry behavior and resume hints.
- Examples now favor a minimal-first, generalized structure and README template.
-
Improvements
- Retry configs support optional (unset vs explicit) fields, improved validation, and clearer retry semantics.
- Shell steps now honor retry settings; error output shows when max retries were reached plus the underlying error.
-
Documentation
- Retry configuration docs rewritten with detailed semantics, examples, and guidance.
-
Tests
- Expanded test coverage and updated CLI snapshots for retry scenarios.