Reproductibilité
Comment rendre les exécutions d'agents reproductibles : inputs stables, politiques explicites, persistance de session et portes de vérification.
Ce qui doit rester stable
La reproductibilité commence par des inputs stables - le graphe d'outils n'est déterministe que si l'environnement l'est.
- Même racine de projet + chemins autorisés
- Même configuration & politique mémoire
- Même code + dépendances (lockfiles)
Les politiques comme contrat
Les paramètres mémoire et vérification définissent ce qui est persisté et quelles vérifications doivent tenir.
# ~/.lean-ctx/config.toml
[memory]
policy = "balanced"
[verification]
enabled = true Conseil : versionnez et reviewez les changements de politique.
Artefacts de session
Les sessions capturent ce qui s'est passé : appels d'outils, écritures mémoire, relations et sorties.
# Start a server with a fixed project root
lean-ctx serve --host 127.0.0.1 --port 8080 --project-root /path/to/repo # Example tool calls that leave an audit trail
ctx_session("load", { id: "..." })
ctx_knowledge("remember", { category: "...", key: "...", value: "..." }) Portes CI
Traitez clippy/tests + les vérifications comme des portes qualité non-négociables.
# CI gates / local checks
cd rust
cargo fmt -- --check
cargo clippy --all-features -- -D warnings
# SSOT drift gate (manifest must be up-to-date)
cargo run -q --bin gen_mcp_manifest
git diff --exit-code ../website/generated/mcp-tools.json
# Core tests (deterministic + bounded)
cargo test --all-features -- --test-threads=1
# Lightweight regression checks (stable thresholds)
cargo test -q --test savings_verification
# Proof artifact (machine-readable attestation, no secrets)
cargo run -q --bin lean-ctx -- proof --summary --no-write Cookbook : exemples end-to-end
Exécutez de vraies intégrations contre un serveur en cours d'exécution (pas de données factices).
cd cookbook
npm ci
npm run memory-playground
npm run graph-explorer