Skip to content

Conversation

@tombee
Copy link
Owner

@tombee tombee commented Jan 8, 2026

Summary

  • Add if field as ergonomic alias for condition.expression
  • Template pre-processor for {{.steps.id.field}} syntax in expressions
  • Step ID validation at parse time
  • Strict boolean enforcement with nil handling
  • Updated skipped step output format per spec FR4
  • Security controls: single-pass template resolution, expression complexity limits

Test plan

  • Unit tests for if field parsing and normalization
  • Unit tests for template pre-processor
  • Unit tests for step ID validation
  • Integration tests for executor with template expressions
  • All existing tests pass

Implements SPEC-7

Implement ergonomic conditional execution for workflow steps:
- Add `if` field to StepDefinition as alias for `condition.expression`
- Add template pre-processor to resolve {{.steps.id.field}} references in expressions
- Add step ID validation at parse time to catch errors early
- Enforce strict boolean evaluation with nil-as-false semantics
- Update skipped step output format to match specification
- Include comprehensive documentation and example workflows
@tombee tombee merged commit 1623084 into main Jan 8, 2026
2 of 4 checks passed
@tombee tombee deleted the spec/SPEC-7 branch January 8, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants