aaif-goose / aaif-goose/goose

bug(summon): unmatched extension filters silently spawn tool-less workers

Ouverte
#11,803 0 commentaires 0 réactions 1 personne assignée Réclamée par @jamadeo 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

## Summary

An explicit delegate extensions filter compares strings only against ExtensionConfig.name and merely logs unmatched names. A config key such as exasearch therefore creates a child with zero tools when the extension name is Exa Search.

## Reproduction

With an enabled entry keyed exasearch and named Exa Search, extensions set to exasearch starts a child with zero tools while Exa Search exposes the tool. Platform names add another shape: developer works while Developer does not.

## Source evidence

build_task_config in crates/goose/src/agents/platform_extensions/summon.rs retains entries with filter.contains(ext.name()). Unmatched names produce only an internal warning. ExtensionConfig.key and name_to_key already define a normalized key shape.

## Expected

Accept normalized keys and names consistently. Any unmatched explicit extension should fail before provider or session work begins and list available names. An empty list should still mean no extensions.

## Verification

- display name and normalized key select the same extension
- unknown names return a visible error and spawn no child
- mixed valid and invalid filters fail
- empty disables all and omitted inherits

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

The issue is in crates/goose/src/agents/platform_extensions/summon.rs, specifically the build_task_config function. Start by examining ExtensionConfig.key and name_to_key to understand the normalized key shape. Then, modify the filter matching logic to compare against both name and normalized key, and ensure unmatched names produce a visible error before spawning a child. Run existing tests to verify the changes.

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

Évaluation

Stack technique
rust
Domaine
cli, tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Active
Clarté
Clairement spécifiée
Accessibilité débutants
65/100

Recevez les nouvelles issues par e-mail

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