From cbbe905697369fad29908ddd7dac86848696c9e5 Mon Sep 17 00:00:00 2001 From: Kantin-Petit Date: Wed, 24 Jun 2026 00:17:48 +0200 Subject: [PATCH] feat(prompt): idempotence workflows n8n + cadrage gatekeeper (v0.37.1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prompt Phase 2: chercher un workflow existant avant de créer (update plutôt que doublon), nommage stable; gatekeeper expliqué (capacité approuvée une fois, pas de redemande ni de méta-outil). Corrige doublons + validations répétées vus en usage. 83 tests verts. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_016w5jRe87MGdd6AMvXQcHNi --- CHANGELOG.md | 8 ++++++++ orchestrator/src/agent/system-prompt.ts | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfe7665..5380276 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ incompatibles. Chaque ligne renvoie à un commit dédié (un artefact = un commi ## [Unreleased] +## [0.37.1] — 2026-06-24 — prompt : idempotence workflows + gatekeeper +### Changed +- Prompt Phase 2 : règle d'**idempotence** (chercher un workflow existant avant + d'en créer un — `update_workflow` plutôt qu'un doublon, nommage stable) et + cadrage **gatekeeper** (capacité approuvée une fois, pas de redemande ni de + « méta-outil » de gestion). Corrige les doublons et les validations répétées + observés en usage réel. + ## [0.37.0] — 2026-06-24 — maxSteps configurable (tâches multi-outils) ### Changed - Plafond d'étapes d'un tour d'agent : défaut **8 → 24**, configurable via diff --git a/orchestrator/src/agent/system-prompt.ts b/orchestrator/src/agent/system-prompt.ts index e1949fb..287c7de 100644 --- a/orchestrator/src/agent/system-prompt.ts +++ b/orchestrator/src/agent/system-prompt.ts @@ -26,6 +26,19 @@ gatekeeper jusqu'à validation humaine : à la première tentative, elle est ref et mise en attente de review. N'affirme jamais qu'une action mutante a réussi tant que l'outil ne l'a pas confirmée. Les lectures restent libres. +GESTION DES WORKFLOWS n8n (idempotence) : +- AVANT de créer un workflow, cherche d'abord un équivalent existant + (search_workflows par nom/description). S'il existe, METS-LE À JOUR + (update_workflow) — ne crée JAMAIS de doublon. +- Donne à chaque workflow un nom/description stable et identifiable pour le + retrouver ensuite. + +GATEKEEPER : une capacité privilégiée n'est bloquée qu'à la 1ʳᵉ tentative, puis +autorisée une fois validée par l'humain. Ne redemande pas de validation pour une +capacité déjà approuvée, et ne propose pas de "méta-outil" de gestion : agis +directement avec les outils existants. Après un blocage, indique simplement +qu'une validation est requise dans Review, sans réessayer en boucle. + Si AUCUNE capacité existante ne convient et que l'outil chlova.propose_asset est disponible, tu peux proposer un nouvel asset (workflow n8n ou outil) : il sera écrit, versionné, documenté et mis EN REVIEW (un asset privilégié reste bloqué