V2: Preserve explicit reasoning None across existing tool paths
I maintainer di solito rispondono entro 1 giorno
@paullizer ci sta già lavorando.
Dal 27/10/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Issue
Finish consistent reasoning-None handling across the existing GPT-5.6 tool-execution paths on paullizer-react-v2-ui. This is a request-shape consistency bug, not a claim that Sol, Luna, Terra, YAMCS, or database actions are universally broken: existing V2 agent deployments already execute those actions successfully.
V2's reasoning UI preserves explicit none, and budgeted agent execution applies the Azure tool restriction. However, the retained direct tabular/Semantic Kernel analysis path constructs function-tool settings without applying that policy. An actual SDK request-shape probe against the latest reviewed V2 source still omitted reasoning_effort while sending function tools.
Azure GPT-5.6 Chat Completions requires explicit reasoning_effort: "none" when function tools are present. Omitting the parameter is not equivalent to disabling reasoning; the provider's default can cause a 400. Main also strips explicit None in its older model behavior helper.
Steps to Reproduce
- Review V2 commit
11daaaa85c39d836347e2d3bc2d7512bfaadea38. - Load the production
execution_settingsassignment inrun_tabular_sk_analysisfromapplication/single_app/route_backend_chats.py(line 13398 at that commit). - Execute those settings through the real
AzureChatCompletion/OpenAI SDK with a small function plugin and anhttpx.MockTransport. - Observe that the outgoing request contains
toolsbut noreasoning_effort.
This reproduced the wire shape without a live Azure model call. It does not establish that every UI request enters this retained path or that this caused the customer's reported symptoms.
Expected Behavior
All applicable existing tool paths honor the selected model/provider/protocol policy and preserve explicit None. Supported combinations continue working without requiring users to understand the difference between omission and the literal none value.
Actual Behavior
Correct None handling exists in the frontend and budgeted agent wrapper, but it is not consistently applied at every tool-enabled model boundary. The direct tabular request can bypass it. Retries that merely remove the parameter do not resolve this Azure restriction.
Impact
Equivalent model/tool work can behave differently depending on whether it executes through a normal agent, a tabular helper, a fallback, or orchestration. Users can see errors, unnecessary retries, or slow analysis despite other actions working with the same model family.
Acceptance Criteria
- Reuse the shared model/provider/protocol tool policy at every relevant existing tool-enabled invocation boundary, including retained tabular/fallback paths and applicable agent/orchestration execution.
- Preserve explicit
nonethrough settings, adapters, SDK serialization, streaming, retries, and saved request metadata. Do not normalize it to omission. - Where the documented policy allows filling an unset effort with None, make the effective effort observable. Never silently replace an explicitly requested positive effort with None.
- Give an actionable, safe configuration error for unsupported reasoning-plus-tools combinations rather than repeatedly dropping the parameter or changing API versions.
- Preserve already-working Sol/Luna/Terra, GPT-5.1, YAMCS, SQL/database, and other existing action paths. Action plugins should not implement model-specific reasoning logic.
- Add actual SDK wire-level regressions for each applicable GPT-5.6 catalog profile, with tools present/absent and omitted/None/positive effort, and cover affected active callers rather than only testing a standalone helper.
- Update related documentation and apply the required application version bump when implementing.
Notes
Target: React V2 branch. Priority: P1. Assignee: @paullizer. Roadmap size: M.
Primary areas: model_endpoint_clients.py, functions_model_capabilities.py, functions_model_budget_runtime.py, functions_model_endpoint_runtime.py, semantic_kernel_loader.py, agent_logging_chat_completion.py, and route_backend_chats.py.
Broad reasoning-with-tools support belongs to #472. The GPT-6-specific restriction is tracked in #1606. This issue is the first, narrower compatibility fix and must not wait for or duplicate a full Responses migration.
Official contract: https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/reasoning#tool-calling-with-reasoning-models
No customer deployment changes or live performance claims are part of this reproduction.
- Lingua principale
- Python
- Stelle
- 157
- Fork
- 117
- Merge medio
- 3h 6m
- PR unite (30g)
- 219
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/simplechat
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
microsoft/simplechat#1491 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
microsoft/simplechat#1370 ·
I maintainer di solito rispondono entro 1 giorno
-
Fix mixed-source chat excerpt truncation, default system prompt suppression, bracketed citations, and Semantic Ranker quota fallbackForse già presa @paullizer l’ha presa 4 giorni fa. Apertabug P1
microsoft/simplechat#1855 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Add support for extracting comments from Word documents (.docx, .docm, .doc, .dotx)Forse già presa @paullizer l’ha presa 5 giorni fa. Apertaenhancement P2
microsoft/simplechat#1850 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
V2: Make Azure OpenAI v1 routing and API-version guidance consistentForse già presa @paullizer l’ha presa 6 giorni fa. Apertabug P1
microsoft/simplechat#1845 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/simplechat
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
huggingface/smolagents#3106 ·
I maintainer di solito rispondono entro 2 giorni
-
area:scripts area:tests bug priority:later
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Ikalus1988/MisakaNet#4358 ·
I maintainer di solito rispondono entro 1 giorno
-
Discovered ports from service discovery are never propagated to modules in Module.load()Forse già presa @vishalmore90 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
OWASP/Nettacker#1828 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
aws-samples/sample-per-model-bedrock#708 ·
I maintainer di solito rispondono entro 1 giorno
-
maintenance
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100