You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Four subsystems read the classic single-endpoint GPT configuration unconditionally, with no multi-endpoint branch. They therefore always use azure_openai_gpt_* / enable_gpt_apim / azure_apim_gpt_*, regardless of whether enable_multi_model_endpoints is on.
Because the V2 admin surface deliberately does not carry the classic chat form, these four subsystems cannot be configured from V2 at all.
Which consumers have a connections branch, and which do not
Counting references on paullizer-react-v2-ui:
File
enable_gpt_apim
enable_multi_model_endpoints
functions_search_service.py
1
0
no connections branch
functions_block_revision_assist.py
1
0
no connections branch
functions_workflow_runner.py
1
0
no connections branch
functions_personal_workflows.py
1
0
no connections branch
route_backend_chats.py
8
5
resolves connections first
functions_documents.py
5
1
resolves connections first
route_backend_agents.py
4
4
resolves connections first
route_backend_conversation_export.py
3
1
resolves connections first
_create_summary_client in functions_search_service.py is representative — it builds its client straight from the classic settings with no connections lookup anywhere in the function.
Why this matters
The AI Models rebuild (#1415, #1419, #1426) made V2's AI Models group look complete: connections, chat, embeddings and image generation all have real controls. But an administrator working only in V2 has no way to configure the endpoint that search summarisation, block-revision assist, the workflow runner and personal workflows actually use.
Worse, the failure is quiet. Those subsystems do not fall back to connections — they simply use whatever the classic config holds, which on a deployment that has only ever been configured through V2 may be empty or stale. Nothing in V2 indicates this.
This was partly obscured by wording: it is natural to describe enable_gpt_apim as "routes chat through API Management". It does considerably more than that, and the flag's blast radius is wider than the Chat section that now hosts its toggle.
Suggested directions
Two coherent options, plus a stopgap:
Give these four call sites a connections branch, so they resolve a model the same way chat, documents, agents and export already do. This is the direction that lets V1 be retired.
Bring the classic single-endpoint chat form into V2 so at least the configuration is reachable, accepting the duplication.
Stopgap: state it in the docs and in the Chat section's notice — that APIM and the classic endpoint apply to more than chat, and that these subsystems always use them. Rebuild admin AI Models: Chat section (phase 2) #1419 has already added a sentence to docs/admin/ai-models.md along these lines.
Option 1 is the real fix. Until one of these happens, V1 cannot be retired, because there is configuration that exists only there.
Provenance
Found during the three-phase AI Models rebuild. The #1419 session traced enable_gpt_apim's consumers before writing its help text and correctly declined the narrower "routes chat through API Management" wording; that trace is what surfaced this. Verified independently against origin/paullizer-react-v2-ui.
Summary
Four subsystems read the classic single-endpoint GPT configuration unconditionally, with no multi-endpoint branch. They therefore always use
azure_openai_gpt_*/enable_gpt_apim/azure_apim_gpt_*, regardless of whetherenable_multi_model_endpointsis on.Because the V2 admin surface deliberately does not carry the classic chat form, these four subsystems cannot be configured from V2 at all.
Which consumers have a connections branch, and which do not
Counting references on
paullizer-react-v2-ui:enable_gpt_apimenable_multi_model_endpointsfunctions_search_service.pyfunctions_block_revision_assist.pyfunctions_workflow_runner.pyfunctions_personal_workflows.pyroute_backend_chats.pyfunctions_documents.pyroute_backend_agents.pyroute_backend_conversation_export.py_create_summary_clientinfunctions_search_service.pyis representative — it builds its client straight from the classic settings with no connections lookup anywhere in the function.Why this matters
The AI Models rebuild (#1415, #1419, #1426) made V2's AI Models group look complete: connections, chat, embeddings and image generation all have real controls. But an administrator working only in V2 has no way to configure the endpoint that search summarisation, block-revision assist, the workflow runner and personal workflows actually use.
Worse, the failure is quiet. Those subsystems do not fall back to connections — they simply use whatever the classic config holds, which on a deployment that has only ever been configured through V2 may be empty or stale. Nothing in V2 indicates this.
This was partly obscured by wording: it is natural to describe
enable_gpt_apimas "routes chat through API Management". It does considerably more than that, and the flag's blast radius is wider than the Chat section that now hosts its toggle.Suggested directions
Two coherent options, plus a stopgap:
docs/admin/ai-models.mdalong these lines.Option 1 is the real fix. Until one of these happens, V1 cannot be retired, because there is configuration that exists only there.
Provenance
Found during the three-phase AI Models rebuild. The #1419 session traced
enable_gpt_apim's consumers before writing its help text and correctly declined the narrower "routes chat through API Management" wording; that trace is what surfaced this. Verified independently againstorigin/paullizer-react-v2-ui.Related
enable_gpt_apimenable_multi_agent_orchestrationas an editable toggle in AI Models → Connections #1420 — a separate capability-scan defect found in the same work