feat: outil propose_asset + auto-extension exposée, fin Phase 5 v1 (v0.27.0)
Outil local sanctionné chlova.propose_asset : l'agent propose un asset → write+commit+version+doc → need-review (privilégié = BLOQUÉ). Notion ToolSpec.sanctioned (autorisé par gatekeeper, audité). Flag CHLOVA_AUTOEXT_ENABLED (off défaut) + CHLOVA_REPO_ROOT. Prompt impose un palier honnête. 75 tests, 0 vuln, compose OK. Palier de risque : privilégié (l'agent écrit+commit) — derrière flag + Phase 2 ; l'asset produit n'est jamais exécuté, il reste sous review. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+16
-3
@@ -62,6 +62,19 @@ casse jamais l'agent. Le mail est envoyé par le workflow
|
||||
`workflows-n8n/chlova-alerts.v1.0.0.json` (doc : `docs/assets/workflow-chlova-alerts.md`).
|
||||
Le payload ne contient aucun secret.
|
||||
|
||||
## Reste à faire (Phase 4+)
|
||||
- Auto-extension : CHLOVA génère commit + version + doc d'un asset **avant**
|
||||
de le passer en need-review (Phase 4).
|
||||
## Auto-extension (Phase 5 — implémenté)
|
||||
Quand aucune capacité n'existe, l'agent appelle l'outil **sanctionné**
|
||||
`chlova.propose_asset` (`src/autoext/`) qui :
|
||||
1. écrit l'artefact (workflow/outil) + sa doc (gabarit) dans le dépôt ;
|
||||
2. **commit + versionne** (commit ciblé, jamais `git add -A`) ;
|
||||
3. enregistre l'asset en need-review (privilégié → **BLOQUÉ**, aucun sursis) ;
|
||||
4. émet l'alerte `asset_created` (version + commit + doc).
|
||||
|
||||
L'asset n'est **jamais exécuté** par ce canal : il attend la review (/approve).
|
||||
Un outil sanctionné est autorisé par le gatekeeper mais **audité** ; il ne touche
|
||||
pas l'infra. Désactivé par défaut (`CHLOVA_AUTOEXT_ENABLED=false`) ; requiert un
|
||||
dépôt git monté (`CHLOVA_REPO_ROOT`). Le LLM ne peut pas sous-classer un asset
|
||||
privilégié (palier honnête imposé par le prompt + non négociable côté review).
|
||||
|
||||
## Reste à faire (Phase 6+)
|
||||
- Voix : STT + wake-word + TTS dans l'UI (API déjà prête).
|
||||
|
||||
Reference in New Issue
Block a user