fix(model): prevent conversation model override snap-back after /model#1229
Open
sarahwooders wants to merge 1 commit intomainfrom
Open
fix(model): prevent conversation model override snap-back after /model#1229sarahwooders wants to merge 1 commit intomainfrom
sarahwooders wants to merge 1 commit intomainfrom
Conversation
e5da99e to
913deba
Compare
3 tasks
Contributor
|
#1238 might be a superset of this, gonna have discussion on that one if the race condition is legit on /model |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes a conversation-scoped model regression where selecting a model with
/modelcould revert back to the agent default after subsequent async state syncs.What changed
src/cli/App.tsxso stale async model-sync runs can't overwrite newer state./modelselection and reasoning-tier flush paths.src/agent/modify.tstoconversations.retrieveafterconversations.updateif the update response omitsmodel.Why
handleModelSelectcorrectly persists conversation overrides, but later sync passes (triggered by agent refresh / conversation sync) could run with stale timing and callapplyAgentModelLocally, resetting UI state back to the agent model.Testing
bun test src/tests/agent/model-preset-refresh.wiring.test.tsbun test src/tests/cli/reasoning-cycle-wiring.test.tsbun test src/tests/cli/conversation-model-sync-guard.wiring.test.tsNotes
There is an existing unrelated typecheck issue in
App.tsxaround compact params (compaction_settings.model), pre-existing in this branch base and not introduced by this PR.