Skip to content

Conversation

@vijayvammi
Copy link
Collaborator

No description provided.

vijayvammi and others added 10 commits January 12, 2026 23:06
Design for a new loop composite node that iterates until a break
condition is met or max iterations is reached. Includes:
- Do-while execution style
- Parameter flow between iterations
- Lineage tracking via separate branch logs per iteration
- Argo compatibility via recursive templates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Clarify that loop node branch parameter must always be a Pipeline,
consistent with other composite nodes (parallel, map, conditional).
Update SDK examples to wrap tasks in Pipeline objects.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add loop placeholder constant following MAP_PLACEHOLDER pattern
for iteration index replacement in loop node names
- Rename _resolve_map_placeholders to _resolve_iter_placeholders
- Add support for LOOP_PLACEHOLDER resolution
- Handle nested map and loop placeholders correctly
- Keep old method for backward compatibility

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Create LoopNode class following composite node patterns
- Use LOOP_PLACEHOLDER for branch name generation
- Add validation for break_on and index_as parameters
- Implement _get_iteration_branch_name using refactored placeholder resolution

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Add get_break_condition_value() method with proper validation
- Add _create_iteration_branch_log() using placeholder resolution
- Add _build_iteration_iter_variable() for iteration context
- Proper error handling for missing/invalid parameters
- Add comprehensive tests for all new methods

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Create branch logs for current iteration
- Copy parameters from parent (iteration 0) or previous iteration
- Use proper placeholder resolution for branch names
- Support both initial and subsequent iterations

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
- Check break condition and max iterations correctly
- Roll back parameters to parent on loop exit
- Set final step status based on branch execution
- Extract current iteration from iter_variable properly

Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
@vijayvammi vijayvammi merged commit df7514a into main Jan 14, 2026
1 check passed
@vijayvammi vijayvammi deleted the loop-node-implementation branch January 14, 2026 23:15
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