The header switcher only offered provider and model, so catalog efforts a brand-new Session could inherit were reachable solely by typing effort into the Eval and Execution forms. Rows whose catalog entry advertises efforts now expand a second tier — the model default plus each effort, with descriptions and a check on the route in effect — the switch validates the effort against the catalog, treats an effort-only change as a real switch, and forwards the branded id to selectModel. Docs name the re-pointing that dee76b1 added.
The panel could show the DSH default model but not change it, so an operator
who wanted a different Executor or Assessor model had to edit the profile by
hand. PUT default-model routes a switch through the Session Controller, which
is the same path the DSH picker uses: it retargets the master Session and lets
agent-default-model persist the choice into the profile through configEditor.
switchDefaultModel refuses a provider the catalog cannot route and a model its
group does not offer, and reports unchanged rather than writing the same value
again. selectModel saves the default in the background, so the switch polls the
catalog until the saved selection appears instead of assuming the write landed;
effort is compared against the selection the Controller resolved, because it
fills in a default effort the caller never sent.
The refusal carries its reason as a code, which ApiError now keeps so the panel
can word it in the operator's language instead of showing host English.