Skip to content

Conversation

@moonbox3
Copy link
Contributor

@moonbox3 moonbox3 commented Dec 12, 2025

Motivation and Context

Adds a graph-based runtime for executing declarative YAML workflows, enabling multi-agent orchestration without writing Python code.

Features

  • Workflow Graph Builder: Transforms YAML workflow definitions into executable directed graphs
  • Action Executors: SetValue, SendActivity, Foreach, If/Switch, RepeatUntil, GotoAction, InvokeAzureAgent, and more
  • Expression Evaluation: PowerFx-style expressions with namespace support (Local., System., Workflow.)
  • Human-in-the-Loop: Question, WaitForInput, and RequestExternalInput actions for interactive workflows
  • Schema Validation: Required field checking, duplicate ID detection, and self-referencing goto detection

Samples

  • simple_workflow: Basic variables, conditionals, and loops
  • conditional_workflow: Nested branching based on user input
  • human_in_loop: Interactive workflows requesting user input
  • function_tools: Invoking Python functions from workflows
  • customer_support, marketing, deep_research, student_teacher: Multi-agent patterns

Description

Contribution Checklist

  • The code builds clean without any errors or warnings
  • The PR follows the Contribution Guidelines
  • All unit tests pass, and I have added new tests where possible
  • Is this a breaking change? If yes, add "[BREAKING]" prefix to the title of the PR.

@moonbox3 moonbox3 self-assigned this Dec 12, 2025
Copilot AI review requested due to automatic review settings December 12, 2025 08:02
@moonbox3 moonbox3 added python workflows Related to Workflows in agent-framework declarative-workflow labels Dec 12, 2025
@markwallace-microsoft markwallace-microsoft added the documentation Improvements or additions to documentation label Dec 12, 2025
@moonbox3 moonbox3 moved this to In Review in Agent Framework Dec 12, 2025
@markwallace-microsoft
Copy link
Member

markwallace-microsoft commented Dec 12, 2025

Python Test Coverage

Python Test Coverage Report •
FileStmtsMissCoverMissing
packages/core/agent_framework/_workflows
   _edge.py2272887%41, 63–64, 66, 161, 191, 442–443, 448, 452–457, 459–461, 577, 691, 698–700, 747, 775, 801, 855, 869
   _edge_runner.py1621391%53, 58, 71, 138–139, 143, 150, 206, 211, 355–356, 360, 401
   _group_chat.py60510782%114, 150, 161, 385–395, 414, 441–442, 447, 509, 523, 530, 534–536, 539, 591–592, 594–596, 620–621, 677–686, 695–696, 699, 744, 758–760, 764, 766–770, 775, 777, 783, 787–789, 794–799, 805, 820, 843, 852, 875, 884, 889–890, 1052, 1071, 1075, 1129, 1179, 1197, 1205, 1230–1232, 1471, 1477, 1636, 1650, 1717–1718, 1720–1721, 1723, 1725, 1727–1728, 1964, 2036–2039, 2049, 2060, 2069–2071
   _workflow_builder.py2783687%260, 595, 694, 701–702, 803, 806, 811, 813, 820, 823–827, 829, 891, 966, 969, 1029–1030, 1175, 1189–1196, 1198, 1201, 1203–1205, 1213
packages/core/agent_framework/openai
   _chat_client.py2464880%115–116, 120, 140, 150–151, 153, 164, 180, 190, 195, 201–203, 210, 239, 259, 278, 292, 297–311, 318–320, 395, 401, 405, 408, 410, 412, 421, 435–436, 442, 458
TOTAL17057268084% 

Python Unit Test Overview

Tests Skipped Failures Errors Time
2948 154 💤 0 ❌ 0 🔥 1m 2s ⏱️

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Contributor

@TaoChenOSU TaoChenOSU left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are the comments so far. I will finish the review later today, or tomorrow if I can't get to all of it.

@markwallace-microsoft markwallace-microsoft added the lab Agent Framework Lab label Dec 16, 2025
# Get input schema information
input_schema = {}
# First, check if the workflow has an explicit input_schema (e.g., declarative workflows)
input_schema: dict[str, Any] = {}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@victordibia I had to do some changes here to get declarative workflows to parse properly... can you have a look please? Not sure how it'll jive with your current DevUI PR you have open. Thanks.

@moonbox3
Copy link
Contributor Author

@eavanvalkenburg @TaoChenOSU did a lot of clean up here. Thanks for the thorough reviews. Please have a look again.

Copy link
Member

@eavanvalkenburg eavanvalkenburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple of comments, and would also be useful to have a sample showing the workflow in the code itself.

@moonbox3 moonbox3 requested a review from TaoChenOSU January 6, 2026 00:15
@moonbox3 moonbox3 requested a review from TaoChenOSU January 9, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

declarative-workflow documentation Improvements or additions to documentation lab Agent Framework Lab python workflows Related to Workflows in agent-framework

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

Python runtime for Declarative Workflows (Epic)

4 participants