Skip to content

Add admin defaults for new chat model and reasoning effort - #1520

Merged
Paul Lizer (paullizer) merged 2 commits into
microsoft:Developmentfrom
Xeelee33:add-default-model-admin-setting
Sep 23, 2026
Merged

Paul Lizer (paullizer) merged 2 commits into
microsoft:Developmentfrom
Xeelee33:add-default-model-admin-setting

Conversation

@chadpalmer

Copy link
Copy Markdown
Contributor

Summary

Adds admin-configurable defaults for new non-agent chat conversations:

  • Adds an opt-in Admin Settings toggle for applying a default model to new chats.
  • Adds an admin default reasoning effort setting for new chats.
  • Preserves the existing user “last selected model/reasoning effort” behavior while the admin override is off.
  • Keeps existing conversations on their own last-used model instead of replacing them with the admin default.
  • Handles the left-nav New Chat flow where /chats?conversationId=... points at a freshly created blank conversation.

Implementation Notes

  • New app settings:
    • enable_default_model_for_new_conversations
    • default_reasoning_effort
  • Uses the existing multi-endpoint default model selector for the admin default model.
  • Restores existing conversation model state from saved message metadata.
  • Treats blank conversations with no model history as new-chat default candidates.
  • Prevents programmatic selector changes from being saved as the user’s preferred model.

Validation

Passed:

  • git diff --check upstream/Development...HEAD
  • python -m py_compile for changed Python app/test files
  • node --check for changed chat JavaScript files
  • python scripts/check_swagger_routes.py application/single_app/route_backend_chats.py application/single_app/route_frontend_admin_settings.py application/single_app/route_frontend_chats.py
  • python scripts/check_xss_sinks.py --base-sha upstream/Development --head-sha HEAD ...
  • python scripts/check_broken_access_control.py --base-sha upstream/Development --head-sha HEAD ...
  • python functional_tests/test_default_model_selection_fallback.py
  • python functional_tests/test_chat_model_selector_initial_multiendpoint_bootstrap.py
  • python functional_tests/test_chat_template_json_bootstrap_safety.py
  • python functional_tests/test_admin_settings_field_contract.py
  • python functional_tests/test_docs_app_surface_coverage.py
  • python functional_tests/test_docs_site_quality.py
  • Route policy tests:
    • functional_tests/route_tests/test_route_blueprint_policy_inventory.py
    • functional_tests/route_tests/test_route_unauthenticated_policy_contract.py
    • functional_tests/route_tests/test_route_policy_test_coverage.py

Docs and Version

  • Version bumped to 0.261.044.
  • Admin docs updated.
  • Release notes updated under v0.261.044.
  • Docs app-surface inventory regenerated and verified.

Known Gaps

  • Full authenticated browser UI tests were not run locally. The specific behavior was manually verified and covered with focused functional/source-contract tests.

@chadpalmer

Copy link
Copy Markdown
Contributor Author

Paul Lizer (@paullizer) Bionic711 This adds an admin default model and reasoning effort for new chats. This feature defaults to off so that the current behavior stays the same unless an admin turns the feature on and selects a default model and reasoning level for new chats. It looks like this completes the following roadmap task: #606

@paullizer
Paul Lizer (paullizer) merged commit e1e0171 into microsoft:Development Sep 23, 2026
12 checks passed
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.

2 participants