You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When linear YAML steps become limiting, introduce a workflow graph authoring format that compiles to the existing step-runner intermediate representation (ordered steps with explicit jump metadata). The runner execution engine stays unchanged in v1; the compiler is the new component.
Use case and motivation
Current workflows are intentionally linear with one run_agent (WORKFLOWS.md). Fix loops and human gates add control flow via fields on steps, but complex flows (parallel review, plan-revise loops, conditional skip) become awkward as YAML lists.
A graph syntax makes branching, loops, and parallelism visible in review and diffable. Compilation to IR keeps the runtime simple and testable.
Proposal
Authoring
New workflow file with format TBD instead of steps: in YAML.
Nodes map to step kinds; edges carry conditions (outcome=succeeded, human choice keys).
model / stylesheet attributes on graph or nodes compile to per-step overrides.
Compilation
CDK synth-time and agent loader invoke compiler → normalized steps + control_flow IR validated by existing JSON Schema where possible.
Golden fixtures in contracts/workflow-graph/ (graph input → expected IR).
Primary area
Agent (Python runtime)
Related issue or feature request
retry_targeton verify steps)Summary
When linear YAML steps become limiting, introduce a workflow graph authoring format that compiles to the existing step-runner intermediate representation (ordered steps with explicit jump metadata). The runner execution engine stays unchanged in v1; the compiler is the new component.
Use case and motivation
Current workflows are intentionally linear with one
run_agent(WORKFLOWS.md). Fix loops and human gates add control flow via fields on steps, but complex flows (parallel review, plan-revise loops, conditional skip) become awkward as YAML lists.A graph syntax makes branching, loops, and parallelism visible in review and diffable. Compilation to IR keeps the runtime simple and testable.
Proposal
Authoring
steps:in YAML.outcome=succeeded, human choice keys).model/ stylesheet attributes on graph or nodes compile to per-step overrides.Compilation
agentloader invoke compiler → normalizedsteps+control_flowIR validated by existing JSON Schema where possible.contracts/workflow-graph/(graph input → expected IR).Execution (phased)
jump_tometadata; runner gains minimal jump support.Out of scope
run_agentwithout explicit RFC approvalPotential challenges
workflow_state.json.agent/workflows/.Dependencies and integrations
agent/src/workflow/compiler/(new)agent/workflows/schema/cdk/synth-time validationcontracts/workflow-validation/corpus extensionAlternative solutions
retry_target, human gates via RFC: Event-Driven Governance and Actions #230; sufficient for medium term.Note: Non-triaged RFCs may not get timely review. PRs on non-triaged issues might not be accepted.