Skip to content

[BREAKING] Python: support Projects 2.6 by isolating Lab - #8188

Merged
Eduard van Valkenburg (eavanvalkenburg) merged 5 commits into
microsoft:mainfrom
eavanvalkenburg:fix-issue-8103
Sep 9, 2026
Merged

Eduard van Valkenburg (eavanvalkenburg) merged 5 commits into
microsoft:mainfrom
eavanvalkenburg:fix-issue-8103

Conversation

@eavanvalkenburg

Copy link
Copy Markdown
Member

Motivation & Context

agent-framework-foundry currently caps azure-ai-projects below 2.4, preventing applications from using Projects 2.6 and its required OpenAI 3.x SDK. The released-package workspace could not move to that dependency set because experimental Lab extras bring Agent Lightning and Tau2, whose LiteLLM dependency still requires OpenAI below 3.

This change gives released packages and experimental Lab features independent dependency resolutions so Foundry can support current Projects releases without weakening or overriding Lab constraints.

Description & Review Guide

  • What are the major changes? Widen agent-framework-foundry support to azure-ai-projects>=2.2.0,<2.7.0, require the OpenAI-3-compatible agent-framework-openai>=1.14.2, and update the root lock to Projects 2.6/OpenAI 3. Exclude packages/lab from the root uv workspace, remove Lab from agent-framework-core[all], and give Lab its own lock, cache key, CI installation, and Dependabot configuration. Mark uv lockfiles as generated and document the accepted workspace-isolation decision in ADR 0040.
  • What is the impact of these changes? Foundry applications can resolve Projects 2.4 through 2.6, including the OpenAI 3 transport transition. Experimental Lab dependencies remain on their compatible LiteLLM/OpenAI 2 stack. Installing agent-framework or agent-framework-core[all] no longer installs agent-framework-lab; users install Lab explicitly, and Lab changes that need new framework APIs must wait for the corresponding package release.
  • What do you want reviewers to focus on? Please focus on the breaking removal of Lab from core[all], the standalone Lab CI/dependency-maintenance boundary, and the conservative Projects <2.7.0 support ceiling.

Related Issue

Fixes #8103

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]" in the title prefix, before or after a language prefix such as "Python:") — a workflow keeps the label and the title prefix in sync automatically.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

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.

🟡 Changes recommended

The new ADR is prematurely marked accepted instead of following the repository’s required approval lifecycle.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Enables Foundry support for Projects 2.6/OpenAI 3 while isolating Lab’s incompatible experimental dependencies.

Changes:

  • Expands Foundry dependency compatibility and updates the root resolution.
  • Moves Lab to a standalone uv project and removes it from core[all].
  • Adds dedicated Lab CI, caching, Dependabot, documentation, and an ADR.
File summaries
File Description
README.md Documents separate Lab installation.
python/README.md Clarifies the standard package set.
python/pyproject.toml Excludes Lab from the root workspace.
python/uv.lock Resolves Projects 2.6 and OpenAI 3.
python/packages/lab/README.md Documents standalone Lab development.
python/packages/lab/pyproject.toml Defines Lab’s independent resolution.
python/packages/lab/uv.lock Locks Lab’s OpenAI 2 dependency graph.
python/packages/lab/AGENTS.md Adds Lab contribution guidance.
python/packages/lab/.gitignore Ignores generated test reports.
python/packages/foundry/README.md Documents SDK compatibility.
python/packages/foundry/pyproject.toml Widens Projects and OpenAI bounds.
python/packages/core/tests/workflow/test_agent_executor.py Removes an unused import.
python/packages/core/pyproject.toml Removes Lab from the all extra.
python/packages/core/agent_framework/_workflows/_workflow.py Applies formatting cleanup.
python/packages/core/agent_framework/__init__.pyi Reorders a public export.
python/DEV_SETUP.md Documents separate Lab setup.
python/AGENTS.md Records Lab’s standalone status.
python/.pre-commit-config.yaml Exempts the large Lab lockfile.
python/.github/skills/python-package-management/SKILL.md Updates package-management guidance.
docs/decisions/0040-isolate-python-lab-workspace.md Records the isolation decision.
.github/workflows/python-lab-tests.yml Uses Lab’s standalone environment.
.github/workflows/python-docs.yml Restricts caching to the root lock.
.github/workflows/python-dependency-maintenance.yml Clarifies released-workspace scope.
.github/dependabot.yml Adds standalone Lab updates.
.github/actions/python-setup/action.yml Restricts root cache invalidation.
.gitattributes Marks uv lockfiles as generated.
Review details
  • Files reviewed: 24/26 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/decisions/0040-isolate-python-lab-workspace.md

@github-actions github-actions Bot 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.

MAF Automated Review — Iteration 1

Result: No findings
Scope: full PR (1 commit(s)): 557250753227
Model: gpt-5.6-sol-fast

Overview

The PR separates experimental Lab dependency resolution from the released Python workspace, allowing Foundry to use Azure AI Projects 2.6 and OpenAI 3 while preserving Lab's OpenAI 2 stack. The standalone Lab lockfile, frozen multi-version CI, dedicated dependency maintenance, explicit workspace exclusion, and updated installation documentation provide concrete guardrails for that boundary. No concrete Critical, High, or Medium regression was established.

Reviewed the supplied pull-request change set across correctness, security/reliability, architecture, and failure behavior.
No publishable findings remained after source verification for this scope.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Merged via the queue into microsoft:main with commit 4dcba7b Sep 9, 2026
57 checks passed

This branch was previously deployed

1 inactive deployment
github-app-auth — d089621b Deployed Sep 9, 2026 by eavanvalkenburg via add_label #22287
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs lab Usage: [Issues, PRs], Target: lab packages python Usage: [Issues, PRs], Target: Python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python: Clarify Foundry 1.12 Projects <2.4 bound and supported Projects 2.6 upgrade path

3 participants