feat(agents): resolve unique advertised model variations (#3472)

This commit is contained in:
Carlos Florêncio
2026-09-07 19:23:17 +01:00
committed by GitHub
parent 410a274629
commit cb1ffd0f58
46 changed files with 1676 additions and 59 deletions
+32 -7
View File
@@ -171,6 +171,31 @@ change makes a saved option value unsupported, Kandev removes that value after
a successful resolution; a failed resolution keeps the draft unchanged so you
can retry it.
### Model IDs and executor catalogs
The host model probe is an editing hint. The selected executor owns the model
catalog at launch. Kandev resolves a saved model in this order:
1. Use the exact requested model when the executor advertises it.
2. Use the advertised explicit fallback when the requested model is absent.
3. Use one unique bracketed variation when the requested model is absent and
the executor advertises exactly one matching ID.
4. Use the agent's current or default model when no earlier choice applies.
Profiles with automatic fallback enabled keep the legacy behavior when the
saved model is absent: Kandev ignores the explicit fallback and does not infer
a variation. It uses the agent's current or default model instead.
For example, a saved `opus` model can launch as `opus[1m]` when that is the
only advertised `opus[...]` ID. If the executor advertises both
`opus[270k]` and `opus[1m, fast]`, Kandev does not choose either variation.
Variation text is opaque and model IDs remain case-sensitive.
Kandev shows a warning when the launch result differs from the saved model.
The saved profile remains `opus`; Kandev does not rewrite it after applying a
unique variation or using the agent default. Recheck the executor catalog when
the warning repeats after credentials, copied configuration, or agent updates.
### Use a dynamic profile
> [!EXPERIMENTAL]
@@ -228,13 +253,13 @@ The model list shown while editing a profile comes from a host probe. It is an
editing hint, not a launch gate. A profile remains selectable when its saved
model is missing from that host list.
At task launch, the selected executor's ACP catalog is authoritative. Kandev
sends the requested model only when the executor advertises it. If it does
not, Kandev uses an advertised fallback when available, or sends no model
request and continues with the agent's current or default model. Kandev stores
one warning in task chat with the requested model and the effective model when
known. The warning also identifies the agent and executor and asks you to
check credentials, copied configuration, and the agent version.
At task launch, the selected executor's ACP catalog is authoritative. For
profiles without automatic fallback, Kandev follows the four-step order above.
For profiles with automatic fallback enabled, an absent saved model causes no
model request, and Kandev ignores the explicit fallback and any variation.
Kandev stores one warning in task chat with the requested model and the
effective model when known. The warning also identifies the agent and executor
and asks you to check credentials, copied configuration, and the agent version.
The saved profile model is not changed. Optional portable configuration can
copy selected allowlisted files into a remote executor, but it cannot guarantee