Skip to content

fix: dev-v4 to main branch downmerge - #1098

Closed
Dhruvkumar-Microsoft wants to merge 27 commits into
dev-v4from
main
Closed

fix: dev-v4 to main branch downmerge#1098
Dhruvkumar-Microsoft wants to merge 27 commits into
dev-v4from
main

Conversation

@Dhruvkumar-Microsoft

Copy link
Copy Markdown
Contributor

Purpose

This pull request updates the platform to use the new GPT-5.4 model as the default language model across deployment, configuration, and documentation. It also updates related workflow environment variables, quota checks, and deployment settings to align with the new model naming. Additionally, it provides improved post-deployment instructions in the developer experience scripts.

Model upgrade and configuration changes:

  • All references to gpt-4.1-mini are replaced with gpt-5.4-mini as the default deployment name in agent team configuration files (e.g., contract_compliance_team.json, hr.json), and "is_default": true is set for the new model. [1] [2] [3] [4] [5]
  • Workflow environment variables and deployment parameters are renamed from GPT_MIN_CAPACITY, O4_MINI_MIN_CAPACITY, and GPT41_MINI_MIN_CAPACITY to GPT_5_4_MINI_MIN_CAPACITY and GPT_5_4_MIN_CAPACITY throughout all relevant GitHub Actions workflows, with corresponding capacity values updated. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Documentation and developer experience:

  • The default LLM in the transparency FAQ is updated from GPT-4o to GPT-5.4, with references and recommendations adjusted accordingly.
  • Post-deployment instructions in azure.yaml are clarified and expanded for both PowerShell and Bash, guiding users to build and push container images. [1] [2] [3]

Workflow cleanup:

  • The .github/workflows/create-release.yml workflow is removed, indicating a possible change in release automation strategy.

Does this introduce a breaking change?

  • Yes
  • No

How to Test

  • Get the code
git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install
  • Test the code

What to Check

Verify that the following are valid

  • ...

Other Information

Roopan-Microsoft and others added 25 commits May 25, 2026 20:50
chore: delete Create-Release workflow due to codfish security incident
fix: remove sensitive cookie data from sample user configuration
… JSON templates.

- Updated deployment capacity defaults for GPT models.
- Added private endpoint configurations for Azure Container Registry based on networking settings.
- Adjusted scripts for building and pushing images to temporarily relax ACR restrictions during WAF deployments.
- Enhanced WebSocket handling in the frontend to coalesce streaming messages for improved UI performance.
- Updated backend configuration to reflect changes in reasoning model naming and supported models.
- Improved agent handling logic in the orchestration layer to prevent infinite loops during approval processes.
…emove premature satisfaction guard logging in human_approval_manager.py
feat: upgrade to GPT-5.4 models, add default teams with per-user isolation, and ACR image build scripts
chore: Update Owners ID for Vinay and Prajwal
Copilot AI review requested due to automatic review settings July 17, 2026 04:32

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.

Pull request overview

This pull request downmerges dev-v4 into main, primarily updating the accelerator’s default model configuration to GPT-5.4 (and related naming/capacity settings), while also improving post-deploy guidance and aligning infra/workflows/scripts with the new deployment model and container build flow.

Changes:

  • Update default model/deployment names (GPT-5.4 / GPT-5.4-mini) across backend config, agent team configs, docs, and quota/deploy workflows.
  • Adjust Cosmos DB team visibility and database factory behavior (default teams + per-request user scoping), plus related tests.
  • Improve deployment experience and infra: add ACR provisioning + post-provision image build/push scripts; update Dockerfiles to build without BuildKit mounts; optimize frontend streaming UI handling.

Reviewed changes

Copilot reviewed 44 out of 46 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
TRANSPARENCY_FAQS.md Updates Responsible AI FAQ to reflect GPT-5.4 default LLM messaging.
src/tests/backend/common/database/test_database_factory.py Updates tests for shared-connection + per-request DB factory semantics.
src/tests/backend/common/database/test_cosmosdb.py Updates tests for new team query filters and delete semantics.
src/tests/agents/test_foundry_integration.py Updates test model deployment name to GPT-5.4.
src/tests/agents/interactive_test_harness/foundry_agent_interactive.py Updates interactive harness default model deployment name to GPT-5.4.
src/backend/v4/orchestration/human_approval_manager.py Adds bounded “premature satisfaction” guard and normalizes agent-name matching.
src/backend/v4/common/services/team_service.py Parses/persists is_default for team configs.
src/backend/Dockerfile Removes BuildKit-only mounts; improves layer caching; ensures classic builder compatibility.
src/backend/common/models/messages_af.py Adds is_default field to TeamConfiguration.
src/backend/common/database/database_factory.py Switches to shared Cosmos connection + per-request user-scoped client instances.
src/backend/common/database/cosmosdb.py Filters teams by (user_id OR is_default); prevents deletion of default teams; fixes delete return semantics.
src/backend/common/config/app_config.py Updates default deployment/model names for GPT-5.4(-mini) and reasoning model defaults.
src/backend/auth/sample_user.py Removes sample Cookie header value.
src/backend/.env.sample Updates sample env defaults for GPT-5.4 naming and supported models list.
src/App/src/hooks/usePlanWebSocket.tsx Coalesces streaming tokens via requestAnimationFrame; ensures spinners clear on terminal statuses.
src/App/Dockerfile Removes BuildKit-only mounts to support classic builders (e.g., az acr build).
infra/scripts/quota_check_params.sh Updates default model/capacity pairs to GPT-5.4 / GPT-5.4-mini.
infra/scripts/checkquota.sh Renames quota env vars and checks GPT-5.4 / GPT-5.4-mini capacities.
infra/scripts/Build-And-Push-Images.ps1 Adds PowerShell post-provision build/push/update script for backend/frontend/MCP images.
infra/scripts/build_and_push_images.sh Adds Bash post-provision build/push/update script for backend/frontend/MCP images.
infra/main.waf.parameters.json Renames/reshapes GPT model parameters to GPT-5.4 naming (incl. deployment alias).
infra/main.parameters.json Renames/reshapes GPT model parameters to GPT-5.4 naming (incl. deployment alias).
infra/main.bicep Updates model deployments/params, adds ACR + private DNS zone, uses placeholder images and MI-based pulls, updates outputs.
infra/main_custom.bicep Mirrors GPT-5.4 deployment parameter/model changes for the custom template variant.
docs/TroubleShootingSteps.md Simplifies guidance for immutable VM properties redeploy scenario.
docs/quota_check.md Updates quota docs/examples for GPT-5.4 naming and capacities.
docs/ManualAzureDeployment.md Updates manual deployment env example to GPT-5.4-mini deployment name.
docs/DeploymentGuide.md Expands post-deploy steps (explicit image build/push + configuration) and updates quota/model guidance.
docs/CustomizingAzdParameters.md Updates documented azd parameters for GPT-5.4 models and deployment aliases.
docs/AzureGPTQuotaSettings.md Updates quota UI guidance to GPT-5.4 / GPT-5.4-mini.
docs/ACRBuildAndPushGuide.md Updates build/push Dockerfile paths and clarifies post-azd up image workflow.
data/agent_teams/rfp_analysis_team.json Updates default deployment_name to gpt-5.4-mini and marks as default team.
data/agent_teams/retail.json Updates deployment_name to gpt-5.4-mini; marks as default team; aligns reasoning agent model.
data/agent_teams/marketing.json Updates deployment_name to gpt-5.4-mini and marks as default team.
data/agent_teams/hr.json Updates deployment_name to gpt-5.4-mini and marks as default team.
data/agent_teams/contract_compliance_team.json Updates deployment_name to gpt-5.4-mini and marks as default team.
azure.yaml Enhances postdeploy output with explicit build/push instructions for Bash and PowerShell.
.github/workflows/job-send-notification.yml Renames quota env var(s) to GPT-5.4 naming.
.github/workflows/job-deploy.yml Renames quota env var(s) and wires them into quota-check step.
.github/workflows/deploy.yml Renames quota env var(s) and updates deploy parameters (capacity default).
.github/workflows/deploy-waf.yml Renames quota env var(s) and updates WAF deploy parameter names.
.github/workflows/create-release.yml Removes semantic-release-based create-release workflow.
.github/workflows/azure-dev.yml Updates validation env vars to GPT-5.4 naming.
.github/workflows/azd-template-validation.yml Updates validation env vars to GPT-5.4 naming.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread TRANSPARENCY_FAQS.md
## What operational factors and settings allow for effective and responsible use of Multi Agent: Custom Automation Engine – Solution Accelerator?
Effective and responsible use of the Multi Agent: Custom Automation Engine – Solution Accelerator depends on several operational factors and settings. The system is designed to perform reliably and safely across a range of business tasks that it was evaluated for. Users can customize certain settings, such as the planning language model used by the system, the types of tasks that agents are assigned, and the specific actions that agents can take (e.g., sending emails or scheduling orientation sessions for new employees). However, it's important to note that these choices may impact the system's behavior in real-world scenarios.
For example, selecting a planning language model that is not well-suited to the complexity of the tasks may result in lower accuracy and performance. Similarly, assigning tasks that are outside the system's intended scope may lead to errors or incomplete results. Users can choose the LLM that is optimized for responsible use. The default LLM is GPT-4o which inherits the existing RAI mechanisms and filters from the LLM provider. Caching is enabled by default to increase reliability and control cost. We encourage developers to review [OpenAI’s Usage policies](https://openai.com/policies/usage-policies/) and [Azure OpenAI’s Code of Conduct](https://learn.microsoft.com/en-us/legal/cognitive-services/openai/code-of-conduct) when using GPT-40. To ensure effective and responsible use of the accelerator, users should carefully consider their choices and use the system within its intended scope. No newline at end of file
For example, selecting a planning language model that is not well-suited to the complexity of the tasks may result in lower accuracy and performance. Similarly, assigning tasks that are outside the system's intended scope may lead to errors or incomplete results. Users can choose the LLM that is optimized for responsible use. The default LLM is GPT-5.4 which inherits the existing RAI mechanisms and filters from the LLM provider. Caching is enabled by default to increase reliability and control cost. We encourage developers to review [OpenAI’s Usage policies](https://openai.com/policies/usage-policies/) and [Azure OpenAI’s Code of Conduct](https://learn.microsoft.com/en-us/legal/cognitive-services/openai/code-of-conduct) when using GPT-5.4. To ensure effective and responsible use of the accelerator, users should carefully consider their choices and use the system within its intended scope. No newline at end of file
Comment on lines +46 to 50
# Ensure the shared connection infrastructure is initialized
if force_new or DatabaseFactory._shared_instance is None:
shared = CosmosDBClient(
endpoint=config.COSMOSDB_ENDPOINT,
credential=config.get_azure_credentials(),
Comment thread infra/main.bicep
// ========== Search Service ========== //

var searchServiceName = 'srch-${solutionSuffix}'
var aiSearchIndexName = 'sample-dataset-index'
Comment thread infra/main.bicep
Comment on lines +1255 to +1256
//image: '${backendContainerRegistryHostname}/${backendContainerImageName}:${backendContainerImageTag}'
image: 'mcr.microsoft.com/azuredocs/containerapps-helloworld:latest'

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.

Pull request overview

Copilot reviewed 47 out of 49 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (1)

infra/main.bicep:1257

  • Operational: infra/main.bicep now hard-codes placeholder containerapps-helloworld images for both backend and MCP. This makes deployments non-functional unless a separate post-step updates the images, and it also means the existing image parameters (backendContainer*, MCPContainer*, etc.) no longer affect the deployed services. Consider adding a parameterized switch (e.g., usePlaceholderImages) so CI/prod can deploy real images while first-time azd up can still succeed without prebuilt images.
        name: 'backend'
        //image: '${backendContainerRegistryHostname}/${backendContainerImageName}:${backendContainerImageTag}'
        image: 'mcr.microsoft.com/azuredocs/containerapps-helloworld:latest'
        resources: {

Comment on lines 112 to 116
plan=json_data.get("plan", ""),
starting_tasks=starting_tasks,
user_id=user_id,
is_default=json_data.get("is_default", False),
)
Comment on lines 150 to +154
gptModelVersion="2025-04-14" \
backendContainerImageTag="${IMAGE_TAG}" \
frontendContainerImageTag="${IMAGE_TAG}" \
azureAiServiceLocation='${{ env.AZURE_LOCATION }}' \
gptDeploymentCapacity=50 \
gptDeploymentCapacity=100 \
Comment on lines +158 to +167
if ($deploymentType -eq 'WAF') {
Write-Section 'WAF deployment detected - temporarily relaxing ACR restrictions'
& az acr update --name $acrName --resource-group $resourceGroup --allow-exports true --output none
if ($LASTEXITCODE -ne 0) { throw "Failed to enable ACR exports." }
& az acr update --name $acrName --resource-group $resourceGroup --public-network-enabled true --output none
if ($LASTEXITCODE -ne 0) { throw "Failed to enable ACR public network access." }
& az acr update --name $acrName --resource-group $resourceGroup --default-action Allow --output none
if ($LASTEXITCODE -ne 0) { throw "Failed to set ACR default action to Allow." }
Write-Host 'ACR restrictions temporarily relaxed.'
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.