Reprodutibilidade
Como tornar execuções de agentes reprodutíveis: inputs estáveis, políticas explícitas, persistência de sessão e gates de verificação.
O que deve permanecer estável
A reprodutibilidade começa com inputs estáveis - o grafo de ferramentas só é determinístico se o ambiente for.
- Mesma raiz de projeto + caminhos permitidos
- Mesma configuração e política de memória
- Mesmo código + dependências (lockfiles)
Políticas como contrato
Configurações de memória e verificação definem o que é persistido e quais verificações devem ser mantidas.
# ~/.lean-ctx/config.toml
[memory]
policy = "balanced"
[verification]
enabled = true Dica: versione e revise mudanças de política.
Artefatos de sessão
Sessões capturam o que aconteceu: chamadas de ferramentas, escritas de memória, relações e saídas.
# 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: "..." }) Gates CI
Trate clippy/tests + verificações como gates de qualidade inegociáveis.
# 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: exemplos end-to-end
Execute integrações reais contra um servidor em execução (sem dados de teste).
cd cookbook
npm ci
npm run memory-playground
npm run graph-explorer