Skip to content

Use saved Codex defaults when Chat has a separate runtime - #8512

Merged
huangruiteng merged 1 commit into
mainfrom
codex/chat-default-configuration-owner-20261110
Nov 10, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/chat-default-configuration-owner-20261110

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

Goal And Delivered Outcome

When Chat history and Goal coordination use separate runtime roots, Settings can successfully save Codex defaults while the model catalog and a new ordinary Goal conversation still use the inherited profile. Both consumers now read the machine configuration owned by the Settings transaction.

The packaged comparison saves the same profile, model, reasoning and speed in both builds. The installed baseline opens a new conversation with inherited-fixture. The candidate opens it with fixture-machine-selected · high · Fast. The earlier conversation remains on its original profile.

Intended base is main.

Author Declaration

Written by model_agent using OpenAI Codex (GPT-6 family).

The implementation follows the Codex model and settings behavior in Session Runtime Control Plane Adapter.

Criterion Disposition Path Evidence
Machine defaults determine discovery and new ordinary Goal conversation settings implemented loopx/capabilities/native_chat/model_settings.py, loopx/chat_runtime.py Split-root HTTP comparison and failing-before regression
Clearing defaults restores provider inheritance and preserves earlier conversation identity implemented tests/test_chat_codex_defaults.py Conflicting preferences in the two roots, then clear and read back the original Session

The existing machine transaction, catalog validation and native adapter still own their respective operations. The two reads use the same Chat runtime root as Settings.

Scope And Continuation

This completes the settings routing fix. The broader App installation and observed provider tier remain separate adoption checks.

Validation

Tested revision ba6fb3da07119cf8232566f8da5da5cd298f362b. Local run state finished. Input class synthetic.

Check kind Result Evidence
regression_parity passed The new test fails on the baseline when discovery uses the wrong profile. It passes on the committed checkout and covers clearing the value and preserving the earlier Session.
unit passed 81 focused Chat defaults, model HTTP and steward adoption tests on the same source.
static passed Changed-file Ruff, repository mypy and local quick premerge checks.
real_entrypoint passed The isolated wheel uses the production HTTP handlers and machine settings store. Same-root and split-root configurations reach the stub native catalog and Session adapter. A stale preview returns 409 before a write.
manual passed Packaged browser first view at 1200 and 390 pixels. The narrow disclosure shows the full model name, stays above the composer and returns focus on Escape.

The test backend uses disposable SQLite Goal state and a stub native catalog and adapter. The screenshots show only synthetic messages and settings.

Frontend / Visual Evidence

UI impact changed. The existing composer reflects the saved values on first read. The compact narrow label can shorten a long model name. The runtime disclosure shows the full name.

Before, desktop · installed build 233c7be2a0514e5c930b7799d14e7cd32faf362d

Before, desktop. The composer shows inherited-fixture.

After, desktop · packaged candidate ba6fb3da07119cf8232566f8da5da5cd298f362b

After, desktop. The composer shows the saved model, high and Fast.

Before and after, 390px

Before, narrow. The composer still uses the inherited model. After, narrow. The composer shows the saved reasoning and speed. After, narrow details. Runtime readback shows the complete saved model.

The conversation stays the main reading area. The composer carries the current model, and the optional panel holds the full runtime settings.

Type of Change

  • Bug fix
  • Test update

LoopX Area

  • Host or runtime integration

Shared-authority RFC fixture impact

N/A. The machine settings reader changes within the existing Chat provider.

Boundary Checklist

  • The diff, description and images contain public-safe source or synthetic data.
  • The change covers the ordinary Codex settings consumers and their regression test.
  • No paired RFC changed.
  • The first desktop and narrow views are embedded above.
  • The commit has a DCO sign-off.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@huangruiteng
huangruiteng merged commit 2d27234 into main Nov 10, 2026
33 of 43 checks passed
@huangruiteng
huangruiteng deleted the codex/chat-default-configuration-owner-20261110 branch November 10, 2026 17:36
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