aaif-goose / aaif-goose/goose

Define classifier model-mapping precedence over custom endpoints

Ouverte
#11,711 0 commentaires 0 réactions 1 personne assignée Réclamée par @jbg Voir sur GitHub
Langage dominant
Rust
Étoiles
54.2k
Forks
6.2k
Merge moyen
3 j 4 h
PR mergées (30 j)
240

Description

**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).

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

L’issue concerne le scanner partagé utilisé par les chemins d’agents legacy et state-machine. Commencez par localiser la logique de configuration des classifiers, probablement dans un module qui gère les classifiers de prompt et de command. Examinez comment les mappings de modèles et les endpoints personnalisés sont actuellement résolus. Le plan de vérification décrit des scénarios précis à tester, comme l’ajout d’un mapping alors qu’un endpoint personnalisé est enregistré. Concentrez-vous sur la compréhension de la logique de précédence existante avant de proposer des modifications.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
ai-infra-agents, backend
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.