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:
Kantin-Petit
2026-06-23 06:38:45 +02:00
parent bc61434f7c
commit 2bfa58f440
11 changed files with 213 additions and 4 deletions
+12
View File
@@ -6,6 +6,18 @@ incompatibles. Chaque ligne renvoie à un commit dédié (un artefact = un commi
## [Unreleased]
## [0.27.0] — 2026-06-23 — fin Phase 5 (auto-extension v1)
### Added
- Outil local **`chlova.propose_asset`** (`src/autoext/tool.ts`) exposé à l'agent :
propose un asset → write+commit+doc → need-review. Notion d'outil **sanctionné**
(`ToolSpec.sanctioned`) autorisé par le gatekeeper mais audité.
- Config `CHLOVA_AUTOEXT_ENABLED` (défaut false) + `CHLOVA_REPO_ROOT`. Câblage
Phase 2 + flag. Prompt système Phase 2 mis à jour (palier honnête imposé).
- Tests (2) : gatekeeper autorise un outil sanctionné ; tool propose. 75 tests.
### Changed
- `.env.example` + compose : flag autoext + montage dépôt (commenté).
`docs/need-review.md` : section auto-extension. Compose revalidé, 0 vuln.
## [0.26.0] — 2026-06-23
### Added
- `src/autoext/git-committer.ts` : `GitCommitter` — commits ciblés (jamais