Skip to content

fix: persist ACP model and reasoning effort across turns and resume - #457

Open
superbiche wants to merge 13 commits into
agentclientprotocol:mainfrom
superbiche:fix/persist-session-config-v2
Open

fix: persist ACP model and reasoning effort across turns and resume#457
superbiche wants to merge 13 commits into
agentclientprotocol:mainfrom
superbiche:fix/persist-session-config-v2

Conversation

@superbiche

Copy link
Copy Markdown

This supersedes #394 with the same narrowly scoped persistence fix rebased onto upstream main / v1.8.0. The earlier PR cannot be updated without rewriting its published branch history.

What changes:

  • model and reasoning_effort configuration updates are persisted with thread/settings/update and acknowledged only after Codex accepts them. A setting therefore remains effective for subsequent turns and process reconnects until changed.
  • Resume, load, and fork omit modelProvider when no provider is configured, allowing the Codex thread to retain its stored model and reasoning effort.
  • The v1.8.0 fork-session path uses the same optional-provider helper, preserving the new upstream fork-point behavior while removing the stale call to the deleted provider fallback.
  • Per-session config updates are serialized with prompts, so a pipelined prompt cannot start on the previous model while thread/settings/update is in flight.
  • Model/effort changes refresh the collaboration-mode model snapshot in the same settings update, keeping command-started plan-mode turns aligned.
  • Regression coverage exercises persistence across adapter restart and session load.

Validation on the final candidate (4014f8b):

  • npm run typecheck: pass
  • npm test: 495 passed, 26 skipped
  • npm run build: pass (all release bundles)
  • Independent deep review: PASS after four rounds; all findings and proposals were closed
  • Live installed-fork proof: one configuration update persisted across two later prompts, with matching gpt-5.6-sol / high request receipts, thread settings, and exact rollout turn_context entries

Known boundary: when an explicit model provider is configured, app-server resume/load/fork re-resolves model and effort from that provider. Stored settings are retained across those operations only when no provider override is supplied; within a live session, later turns retain settings normally.

Fixes #336.
Fixes #343.


@superbiche · user · drafted with Codex (GPT-5).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants