docs: documentation + gate de phase compose, fin Phase 2 (v0.14.0)

docs/need-review.md (cycle complet : états, sursis, gatekeeper, cron,
review, rollback). CHLOVA_PHASE dans .env.example + compose (défaut 1).
risk-tiers + README : application par phase. Compose revalidé, 45 tests,
0 vuln.

Palier de risque : n/a (doc + config).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kantin-Petit
2026-06-23 01:34:12 +02:00
parent a193b4e912
commit 52980837a9
6 changed files with 90 additions and 10 deletions
+9 -4
View File
@@ -23,10 +23,15 @@ npm test
| `src/config.ts` | Config **fail-closed** (zod). Refuse de démarrer si secret manquant. `assertReadOnlyPhase()` verrouille la lecture seule P1. `redactedConfig()` masque les secrets. |
| `src/audit/log.ts` | Logger pino + journal d'audit des exécutions d'outils. |
| `src/index.ts` | Bootstrap : config → verrou RO → logger → (P1) MCP + agent + Telegram. Healthcheck interne. |
| `src/llm/` | Client Ollama + boucle agent (v0.6.0). |
| `src/mcp/` | Registry MCP + readonly-filter (v0.7.0). |
| `src/gatekeeper/` | Paliers de risque + table assets (interfaces P1, câblé P2). |
| `src/surfaces/` | Surface Telegram (v0.8.0). |
| `src/llm/`, `src/agent/` | Client Ollama + boucle agent + prompt phase-aware. |
| `src/mcp/` | Registry MCP (`listReadOnlyTools` P1 / `listAllTools` P2) + readonly-filter. |
| `src/gatekeeper/` | Paliers de risque, table assets SQLite (`repository`), `Gatekeeper`+`GatekeeperGuard`, `ReviewService` + cron (`review`). |
| `src/surfaces/` | Surface Telegram + commandes de review owner (`commands`). |
## Phases
- `CHLOVA_PHASE=1` (défaut) : lecture seule, `ReadOnlyGuard`, aucun outil mutant.
- `CHLOVA_PHASE=2` : écriture sous gatekeeper + cycle need-review (cron + commandes
`/pending`, `/approve`, `/refuse`). Voir `../docs/need-review.md`.
## Sécurité
- Secrets par référence uniquement, jamais loggés (`redactedConfig` + redact pino).