Limites actuelles
Ce que la version actuelle ne sait pas faire, ce qu'on fait en attendant, et où la version cible le règle.
| manque | conséquence aujourd'hui | en attendant | dans la cible |
|---|---|---|---|
| Les conditions d'un playbook sur les données | un when de tâche ou de méthode ne lit que les kinds choisis ($selection.kinds) : ni un fait de la room, ni un total, ni ce qu'une tâche a lu ; et le modèle ne choisit pas une méthode (choose: clm) | un kind par cas (retrait, livraison), lu par when ; une garde sur la skill (require, check) pour une condition sur les données | Playbooks : when sur $read ou $result, et choose: clm |
| L'activation des playbooks | rien n'ouvre un parcours à la place de l'agent : il l'ouvre s'il le veut, sur son goal | auto_trigger sur la skill d'entrée | Activation : seek_guidance et trois niveaux |
| Une identité par personne | une clé d'API par station : tout le monde est le même utilisateur pour le tenant | réserver les écritures sensibles à une station mono-utilisateur | Identité |
| Plusieurs appels dans un submit | un submit a un appel par skill ou par kind ; une liste de deux est refusée au chargement | deux skills, chacune avec son appel, chacune la tâche d'un playbook, la seconde lisant la première par $submitted[<tâche>.<appel>] | Skills : plusieurs appels dans l'ordre, cités par tâche, $submitted[tache.appel] |
| Qui soumet | toujours un humain, toujours la personne de la room | — | submitted_by, dans Le submit |
| Une approbation avant le choix | la confirmation du submit sert d'approbation | — | la garde approval, dans Les gardes |
| Les lectures dans la sélection | une lecture ne laisse pas de trace ; la personne qui soumet ne voit pas sur quoi repose l'action | — | les traces de lecture, dans Concepts |
| D'où vient un argument | la station fixe un argument par invoke.args, à une valeur littérale ou à un paramètre (params) qui vaut son default ; le modèle remplit les autres paramètres d'invoke. Une tâche de playbook lie un paramètre lu au submit à ce qu'une autre tâche a déposé ($submitted[…]), pas à ce qu'une tâche a lu ($read[…]) ni au résultat d'un sous-playbook ($result[…]) ; ni le modèle ni set_by ne fixent un paramètre | faire calculer les montants par le tenant (garde update: {price: …}, invoke) | set_by, et les params d'une tâche liés à $read ou $result, dans Budget : données et temps |
| Les données qui sortent | une donnée lue peut repartir dans une écriture | ne pas lister d'opération qui lit une donnée confidentielle | classes de données et audiences |
| Les automatisations | rien ne démarre sur un événement d'un outil | — | Automatisations |
| Les règles « intelligentes » | pas de détection de fraude ou d'injection par Core | consignes dans agent.rules (non garanties) | politiques smart, qui ne font que resserrer |
| Les parcours longs | un parcours dure le temps d'une conversation | — | le run appartient à la room |
| Les versions de station | une config modifiée s'applique tout de suite | tester en local avant de publier | staging, production, tests de contrat |
Les décisions derrière ces points : ADR-028 §6, ADR-029, ADR-030, dans convoy/docs/adr/.