Artefatos do Brief¶
Tudo que uma run precisa vive em .leopold/ no projeto alvo. Os quatro primeiros
são escritos pelo /leopold-brief; o resto é estado de runtime.
flowchart TB
subgraph Brief["escritos pelo /leopold-brief"]
M[MISSION.md]
C[CHARTER.md]
G[GUARDRAILS.md]
P[PLAN.md]
end
subgraph Runtime["escritos durante uma run"]
D[DECISIONS.md]
ST[state.json]
EV[events.jsonl]
end
Brief --> Runtime
MISSION.md¶
O que estamos construindo e por quê: problema, objetivo, não-objetivos explícitos, definição de pronto, restrições. Isto é o quê.
CHARTER.md¶
O decisor. Prioridades, preferências de tecnologia e estilo, regras rígidas de Always /
Never, critérios de desempate e exemplos concretos de decisões que você tomaria.
Isto é como você escolheria — a parte que "vira você".
GUARDRAILS.md¶
A fronteira da autonomia: classes de ação, a postura de git (trancado por padrão),
condições de parada (max_iterations, max_failures, budgets) e o kill switch. Ele
também pode definir os toggles de orquestração do driver SDK, para que a postura viva
junto com o brief (uma flag de CLI ou env var a sobrescreve):
## Quality & orchestration (SDK driver)
- review: on # diverse-lens review panel before an item closes
- hypotheses: on # root-cause panel hands a stuck retry a concrete lead
- smart_routing: off # research each item's blast radius before routing effort
- learn_on_finish: off # mine a clean finish into proposed charter amendments
PLAN.md¶
Um backlog ordenado de checkboxes. A run pega o próximo item - [ ] a cada turno e
o marca como - [x] quando concluído.
DECISIONS.md¶
Trilha de auditoria append-only. Cada decisão não mecânica é um bloco:
## D1 — Cache layer for the MVP (turn 3, 2026-06-17T15:00:00Z)
Fork: in-memory vs Redis
Class: reversible
Charter: "no new infrastructure for the MVP"
Decision: in-memory map with a TTL
Why: charter rule + principle 5 (explicit over clever)
Reversal: swap the cache module for a Redis client; interface unchanged
CHARTER-amendments.md (proposta, não brief)¶
Escrito pelo /leopold-learn ou pelo learn_on_finish do driver: regras mineradas das
suas decisões registradas, correções de sessão e histórico do git, cada uma verificada
por um cético com viés de rejeição. É uma proposta — o CHARTER.md nunca é editado
por uma run. Revise, incorpore ao charter o que soa como você, apague o resto. Pode
apagar o arquivo inteiro sem problema.
workflow-args.json (brief compilado)¶
Escrito pelo leopold-driver workflow: o brief compilado nos exatos args que o
script canônico de workflow consome — missão, charter, maxReviewRounds e o PLAN.md
como waves de dependência com classificação por item (effort / critical /
sensitive). Anda junto com .claude/workflows/leopold-run.js. Determinístico: recompile
a qualquer momento com leopold-driver workflow. Veja
Dynamic Workflows.
Estado de runtime¶
| Arquivo | Contém |
|---|---|
state.json |
active, iteration, max_iterations, consecutive_failures, max_failures, failure_rescue_used (a única mudança de abordagem conduzida por persona do run, gasta uma vez), timestamps |
events.jsonl |
fluxo estruturado de eventos (incl. eventos de review, hypothesis, failure_rescue, learn, cost) |
STOP |
kill switch (a presença interrompe o loop) |
ALLOW_GIT / ALLOW_PUSH |
tokens de opt-in de git por run, ausentes por padrão |