feat(harness): allow changing `model` between turns via call options (#19958)
## Background Follow up to #19828 and #19923: `HarnessAgent` previously fixed its model when creating a session, so `prepareCall` could not select a different model for a later turn without losing the existing conversation. ## Summary Model selection is now part of the turn settings passed through `HarnessV1`. Each adapter applies the requested model through its runtime's native session mechanism while preserving the active harness session and conversation history. - Allow `prepareCall` to replace `model` between completed turns. - Update harness adapters to apply model changes through their underlying SDKs. - Replace ACP launch-time model resolution with static `modelMapping` metadata and per-turn ACP configuration, in alignment with existing ACP harness DX. - Document and demonstrate model switching with conversation retention across harnesses. ## End-to-End Verification Ran the expanded `./tools/run-harness-agent-examples.sh --example changing-settings` for all harness adapters. ## Checklist - [x] All commits are signed (PRs with unsigned commits cannot be merged) - [x] Tests have been added / updated (for bug fixes / features) - [x] Documentation has been added / updated (for bug fixes / features) - [x] A _patch_ changeset for relevant packages has been added (for bug fixes / features - run `pnpm changeset` in the project root) - [x] I have reviewed this pull request (self-review)
F
Felix Arntz committed
8961fdeac49c6bf150eb91f79440d5da204692b8
Parent: 55a9981
Committed by GitHub <noreply@github.com>
on 8/28/2026, 8:46:27 PM