OpenHands v1.16.0 a été publiée à 18:19:22 UTC le 27 août, remplaçant le catalogue groupé de compétences « all-on » de l’agent par une liste d’autorisation explicite. La pull request qui en est à l’origine se distingue par une franchise inhabituelle sur les chiffres et la logique retenue.

L’état qu’elle remplaçait

Citée mot pour mot dans la PR : « L’ensemble du catalogue @openhands/extensions est intégré au bundle au moment de la compilation et fusionné dans agent_context.skills pour chaque conversation, avec disabled_skills comme seul moyen d’échappement. » Et, sur la conséquence : « Un modèle all-on avec deny-list signifie que chaque ajout au catalogue est activé par défaut pour tout le monde, ce qui explique comment @rbren s’est retrouvé abonné aux compétences javadoc et bitbucket. »

La nouvelle valeur par défaut

« 59 compétences du catalogue s’affichent, 11 activées, 48 désactivées. » Le cas de régression nommé est add-javadoc — « la compétence mentionnée dans le signalement — fait partie des 48. » enabled_skills est décrit comme « une liste d’autorisation sur le catalogue intégré uniquement, prenant par défaut les 11 entrées que le catalogue marque defaultEnabled. »

La raison invoquée est la contention dans le prompt

« Le coût n’est pas le disque — ce sont environ 60 corps de compétences et 60 ensembles de déclencheurs en concurrence dans chaque prompt système. » C’est un argument de budget contextuel. Ce que la PR ne dit pas : un catalogue all-on signifie aussi que chaque compétence ajoutée par l’éditeur ou une dépendance devient une capacité active dans chaque conversation, sans que l’opérateur l’ait explicitement choisie — c’est exactement le chemin d’ingestion à l’origine des travaux de recherche sur l’empoisonnement des compétences d’agent qui circulent ce mois-ci.

Ce que le cadrage courant interprète mal

Trois choses. Le dossier est classé dans « Features », coincé entre une modification d’épinglage de la barre latérale et un lien vers un tiroir de fichiers, alors qu’en réalité un agent de codage open source largement déployé reconnaît que son catalogue de compétences fonctionnait en opt-out et fait marche arrière.

La couverture médiatique exagérera la portée. La liste d’autorisation ne concerne que le catalogue intégré ; les compétences découvertes à l’exécution depuis .agents/skills/ restent actives dès qu’elles apparaissent et demeurent régies par la deny-list. Dire « OpenHands exige désormais que les compétences soient sur liste d’autorisation » serait faux.

Et le chiffre lui-même n’est pas le chiffre effectivement déployé. Une migration en une seule étape préserve l’ancien comportement : un espace de travail dont la deny-list nomme déjà une compétence du catalogue « garde tout le reste activé. » Le réglage par défaut à 11 sur 59 s’applique aux nouveaux espaces de travail, pas rétroactivement à la base installée. La date compte aussi — la PR a été fusionnée le 24 août à 18:53 UTC, trois jours avant que les utilisateurs ne la reçoivent ; la publication est l’événement visible pour l’utilisateur.