Skip to content

Python: Add stable names to orchestration workflows - #8384

Merged
Evan Mattson (moonbox3) merged 6 commits into
microsoft:mainfrom
droideronline:feature/stable-orchestration-workflow-names
Sep 16, 2026
Merged

Evan Mattson (moonbox3) merged 6 commits into
microsoft:mainfrom
droideronline:feature/stable-orchestration-workflow-names

Conversation

@droideronline

@droideronline Dineshsuriya D (droideronline) commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

Motivation & Context

Orchestration builders that enabled checkpointing inherited generated WorkflowBuilder-<uuid> names because they did not pass a workflow name to the core builder. This made checkpoint grouping and discovery inconsistent across orchestration patterns. Stable defaults are useful when multiple independent workflow instances share the same workflow definition.

Description & Review Guide

  • What are the major changes?
    • Add stable default workflow-name constants for GroupChat, Sequential, Concurrent, Handoff, and Magentic.
    • Forward each builder's resolved name to the underlying WorkflowBuilder.
    • Preserve optional custom names and keep checkpoint IDs responsible for per-instance uniqueness.
  • What is the impact of these changes?
    • New workflows use stable orchestration-specific names instead of generated builder names.
    • Existing builder call sites remain compatible; custom names continue to work.
  • What do you want reviewers to focus on?
    • Consistency of the default names and the distinction between workflow definition names and checkpoint instance IDs.

Related Issue

Fixes #8383

Contribution Checklist

  • The code builds clean without any errors or warnings
  • All unit tests pass, and I have added new tests where possible
  • The PR follows the Contribution Guidelines
  • This PR is linked to an issue and there is no other open PR for this issue (see Related Issue above).
  • This is not a breaking change. If it is a breaking change, add the breaking change label (or add "[BREAKING]" to the title prefix) — a workflow keeps the label and title prefix in sync automatically.

Copilot AI balanced review requested due to automatic review settings September 15, 2026 08:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@droideronline

Copy link
Copy Markdown
Contributor Author

Stable orchestration names make checkpoint grouping predictable, but get_latest(workflow_name=...) can select a checkpoint from a different workflow instance when multiple conversations share the same name. Should stable names be treated strictly as workflow-definition keys, with applications persisting the exact checkpoint_id per conversation, or should checkpoint lookup support an additional conversation/session identifier?

@moonbox3
Evan Mattson (moonbox3) added this pull request to the merge queue Sep 16, 2026
Merged via the queue into microsoft:main with commit 85fdd7f Sep 16, 2026
41 of 42 checks passed

This branch was previously deployed

1 inactive deployment
github-app-auth — 03bfbff1 Deployed Sep 16, 2026 by moonbox3 via add_label #22949
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

python Usage: [Issues, PRs], Target: Python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python: [Feature]: Use stable default workflow names for Python orchestration builders

4 participants