aaif-goose / aaif-goose/goose

Define classifier model-mapping precedence over custom endpoints

Abierto
#11,711 0 comentarios 0 reacciones 1 asignado Reclamado por @jbg Ver en GitHub
Lenguaje dominante
Rust
Estrellas
54.2k
Forks
6.2k
Merge medio
3 d 4 h
PR fusionados (30 d)
240

Descripción

**What problem would this solve?**
Prompt and command classifiers can be configured with custom endpoints, while deployments can later provide model mappings. Today the settings UI can display or imply that a mapped model is active—and can hide custom endpoint controls—while backend resolution still prefers retained custom model or endpoint state. That makes the effective destination receiving prompt or command content different from the destination administrators and users see. We need one precedence and migration contract for both classifier types.

**What would a good outcome look like?**
Define whether deployment mappings are authoritative or whether user custom endpoints remain valid overrides. The settings UI, persisted configuration, and backend scanner must all resolve and display the same effective provider/model/endpoint. Applying or removing mappings must migrate both prompt and command classifier state atomically, and obsolete credentials must not remain silently active.

The verification plan should cover: adding a mapping while an enabled custom endpoint/token remains stored; prompt and command mappings independently; multiple mapped choices; removing a mapping; application restart; and the effective destination shown in settings versus the client the backend instantiates.

**Possible approaches**
- Make deployment mappings authoritative and atomically replace or quarantine retained custom endpoint/model state.
- Preserve custom override precedence but keep its controls and effective destination visibly active.
- Introduce one backend-owned effective-classifier configuration API that the UI renders instead of reimplementing precedence.

Endpoint-origin credential rotation is independently valuable, but it does not resolve a mismatch between displayed mapping authority and runtime destination.

**Additional context**
The shared scanner is used by both legacy and state-machine agent paths, so the agreed contract and regressions must cover both.

- [x] I have verified this does not duplicate an existing feature request

Do not begin implementation until the issue reaches **Ready** on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

The issue involves the shared scanner used by legacy and state-machine agent paths. Start by locating the classifier configuration logic, likely in a module handling prompt and command classifiers. Examine how model mappings and custom endpoints are currently resolved. The verification plan outlines specific scenarios to test, such as adding a mapping while a custom endpoint is stored. Focus on understanding the existing precedence logic before proposing changes.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rust
Área
ai-infra-agents, backend
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.