fix: persist ACP session config in Codex threads (rebase of #337) + keep thread model/effort on resume (fixes #336, fixes #343) - #394
Open
superbiche wants to merge 5 commits into
Conversation
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.
This is @gilbertl's #337 rebased onto current
main(1.2.0,b51bedf) with original authorship preserved (cherry-pick -x) — offered because #337 has been sitting in a conflicting state while the #336 symptom keeps biting; all credit for the core fix goes to the original PR. Conflict resolutions worth review: the device-code-auth import block (kept both sides), andsendPrompt— main'seffectiveParamsslash-command rewrite is kept alongside the PR's lazy() => sessionState.agentMode, including the second call site main added in #351 which the original PR predates (it would no longer compile without this).On top, one commit fixing #343:
thread/resumeno longer inventsmodelProvider: "openai"when nothing is configured — the param is omitted, so thread-carried model/effort survive resume; config defaults still apply when the thread carries nothing. The"openai"fallback dated to #139 (May, older app-server); resuming provider-less under ChatGPT auth works today. Regression test included (fails without the fix). Known residual, deliberately out of scope: an explicitly configuredmodel_providerin config.toml still overrides thread values on resume.Validation:
typecheck/build/testgreen (404 passed); live end-to-end under ChatGPT auth —reasoning_effortset once, three prompts across three separate client reconnect cycles, all three turns ran at the set effort against a different config default (previously impossible from any released version).Happy for this to be folded into #337 instead if that's preferred — whatever's easiest to land.
@superbiche · contributor · drafted with Claude Fable 5, reviewed before posting; the voice and decisions are mine.