bfce952817
Barrière n°1 de la lecture seule : seuls les outils readOnlyHint=true sont exposés (fail-safe, palier de risque déduit côté code). Registry connecte n8n + Portainer en HTTP authentifié et produit des ToolHandle read-only. Retrait d'exactOptionalPropertyTypes pour interop SDK MCP (reste strict). Palier de risque : reversible. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.3 KiB
3.3 KiB
Changelog
Format Keep a Changelog, versioning SemVer.
Tant que le projet est en 0.x, chaque mineur peut introduire des changements
incompatibles. Chaque ligne renvoie à un commit dédié (un artefact = un commit).
[Unreleased]
[0.7.0] — 2026-06-23
Added
src/mcp/readonly-filter.ts: barrière lecture seule — n'expose que les outilsreadOnlyHint === true(fail-safe : absence d'annotation ⇒ écarté) ; déduit le palier de risque (jamais déclaré par le LLM).src/mcp/registry.ts: connexion MCP HTTP authentifiée (n8n + Portainer), liste + filtre les outils read-only enToolHandle, sérialise les résultats.
Changed
tsconfig: retrait deexactOptionalPropertyTypes(interop SDK MCP) ; reste strict (strict,noUncheckedIndexedAccess,noImplicitOverride).
[0.6.0] — 2026-06-23
Added
- Client Ollama
/api/chat(src/llm/ollama.ts) : modèles cloud via proxy, auth Bearer, timeout, tool-calling, erreurs sans fuite de secret. - Boucle agent (
src/agent/loop.ts+types.ts) : comprendre → outil → observer → répondre, garde-fou anti-boucle, audit par appel,Guardinjecté (abstraction prête pour le gatekeeper Phase 2).ToolHandleindépendant de MCP.
[0.5.0] — 2026-06-23 — début Phase 1 (cerveau lecture seule)
Added
- Squelette orchestrateur TS (Node 22, ESM strict, Fastify) :
config.tsfail-closed (zod, verrouassertReadOnlyPhase,redactedConfig),audit/log.ts(pino + journal d'exécutions),index.ts(bootstrap + healthcheck interne),Dockerfilemulti-stage (base épinglée, user non-root),vitest.config.ts,orchestrator/README.md. - Dépendances épinglées,
npm audità 0 vulnérabilité.
[0.4.0] — 2026-06-23 — fin Phase 0 (socle)
Added
infra/docker-compose.yml: stack CHLOVA — Ollama (proxy cloud, interne + egress, aucun port publié), socket-proxy (lecture seule), MCP n8n + MCP Portainer (read-only), backend (seule surface, aucun port publié en P1). Images à tags épinglés (digests à confirmer avant déploiement réel), réseauxchlova-internal(internal) /chlova-egress. Config validée (compose config).
[0.3.0] — 2026-06-23
Added
- Socle sécurité :
docs/security.md(modèle de menace prompt-injection + défenses par couche + invariants testés),infra/networks.md(réseaux interne vs egress, ports, egress filtréollama.com),infra/socket-proxy/README.md(filtrage des endpoints Docker, lecture seule P1). .gitattributes: normalisation LF (scripts/compose en LF strict).
[0.2.0] — 2026-06-23
Added
- Conventions versioning/doc :
docs/versioning.md(SemVer, un-artefact-un-commit, pinning images, export workflows n8n),docs/asset-template.md(gabarit doc),docs/risk-tiers.md(réversible vs privilégié, invariant anti-escalade),docs/architecture.md(schéma + invariants + composants).
Changed
.gitignore: ignore.claude/settings.local.json(réglages locaux).
[0.1.0] — 2026-06-23
Added
- Scaffold du dépôt :
CLAUDE.md(architecture + règles non négociables),README.md,CHANGELOG.md,.env.example,.gitignore. - Squelette d'arborescence :
docs/,infra/,orchestrator/,workflows-n8n/.