fix(orchestration): add circuit breaker and parallel step execution (#2168, #2172)#2197
Merged
mrveiss merged 1 commit intoDev_new_guifrom Mar 23, 2026
Merged
fix(orchestration): add circuit breaker and parallel step execution (#2168, #2172)#2197mrveiss merged 1 commit intoDev_new_guifrom
mrveiss merged 1 commit intoDev_new_guifrom
Conversation
…2168, #2172) #2168: Add @circuit_breaker_async + @retry_async decorators to _execute_coordinated_step, mirroring enhanced_orchestrator.py pattern that was lost during #381 extraction. #2172: Add _group_steps_by_dependency() topological sort and _execute_step_group() with asyncio.gather for concurrent independent steps. Falls back to sequential on circular dependencies.
✅ SSOT Configuration Compliance: Passing🎉 No hardcoded values detected that have SSOT config equivalents! |
This was referenced Mar 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@circuit_breaker_async+@retry_asyncdecorators to_execute_coordinated_step, restoring the protection that was lost when Code Smell: Refactor 178 god class patterns #381 extracted this code fromenhanced_orchestrator.py_group_steps_by_dependency()topological sort andasyncio.gatherin_execute_step_group()Changes
_group_steps_by_dependency(): Groups steps by dependency order; independent steps form a parallel group_execute_step_group(): Runs single-step groups sequentially, multi-step groups viaasyncio.gatherexecute_coordinated_workflow(): Now processes step groups instead of individual steps_execute_coordinated_step(): Protected by circuit breaker (workflow_step_execution, 3 failures → open) and retry (2 attempts, exponential backoff)Test plan
Closes #2168
Closes #2172