-
Notifications
You must be signed in to change notification settings - Fork 0
Closed as not planned
Labels
ai-friendlyDesigned for AI-assisted implementationDesigned for AI-assisted implementationarea:executorFlow execution engineFlow execution enginemilestone:v0.4.0[LEGACY] Superseded by GitHub milestones[LEGACY] Superseded by GitHub milestonespriority:P3[LEGACY] Nice-to-have[LEGACY] Nice-to-havetype:featureNew feature or capabilityNew feature or capability
Description
Summary
The README roadmap (v0.4) mentions async execution as a planned capability, but no issue currently tracks this work. This issue covers adding an asynchronous execution mode to FlowExecutor that can run independent steps concurrently when the flow topology (DAG) allows it.
Motivation
Today FlowExecutor runs steps sequentially. Once DAG-based flows land (#8, #9), many steps in a flow will be independent of each other and could execute in parallel, significantly reducing end-to-end latency for I/O-bound tool chains.
Scope
- Add an
AsyncFlowExecutor(or anasyncflag on the existing executor) that usesasyncioto run independent DAG branches concurrently. - Ensure
ExecutionResult/StepRecordcorrectly capture wall-clock vs. per-step timing. - Provide a synchronous wrapper (
run()→asyncio.run(...)) so the simple API remains unchanged. - Update documentation and add at least one example demonstrating concurrent execution.
Acceptance Criteria
- Independent steps in a DAG flow execute concurrently (verified by wall-clock time < sum of step times).
- Dependent steps still respect topological ordering.
- Error handling behaves consistently with sync mode (fail-fast or continue based on policy).
ExecutionResultincludes per-step start/end timestamps.- Existing synchronous tests continue to pass.
References
- README roadmap v0.4: "Async execution"
- Related: Implement execution checkpoints and determinism-level metadata #8 (DAG topology), Add conditional branching support with safe predicate evaluation #9 (conditional branching), Implement persistent registry adapters (protocol + file-based store) #16 (parallel step execution)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ai-friendlyDesigned for AI-assisted implementationDesigned for AI-assisted implementationarea:executorFlow execution engineFlow execution enginemilestone:v0.4.0[LEGACY] Superseded by GitHub milestones[LEGACY] Superseded by GitHub milestonespriority:P3[LEGACY] Nice-to-have[LEGACY] Nice-to-havetype:featureNew feature or capabilityNew feature or capability