Repository navigation
[BREAKING] Python: support Projects 2.6 by isolating Lab - #8188
Eduard van Valkenburg (eavanvalkenburg) merged 5 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 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.
There was a problem hiding this comment.
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>
Motivation & Context
agent-framework-foundrycurrently capsazure-ai-projectsbelow 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
agent-framework-foundrysupport toazure-ai-projects>=2.2.0,<2.7.0, require the OpenAI-3-compatibleagent-framework-openai>=1.14.2, and update the root lock to Projects 2.6/OpenAI 3. Excludepackages/labfrom the root uv workspace, remove Lab fromagent-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.agent-frameworkoragent-framework-core[all]no longer installsagent-framework-lab; users install Lab explicitly, and Lab changes that need new framework APIs must wait for the corresponding package release.core[all], the standalone Lab CI/dependency-maintenance boundary, and the conservative Projects<2.7.0support ceiling.Related Issue
Fixes #8103
Contribution Checklist
breaking changelabel (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.