wendkeep 0.58.1 → 0.58.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,77 @@
1
+ # Manutenção e diagnóstico
2
+
3
+ **PT-BR** · [English](../../en/commands/maintenance-and-diagnostics.md)
4
+
5
+ ## Objetivo
6
+
7
+ Inspecionar a saúde do cofre e manter definições, tema e versão alinhados sem usar comandos de
8
+ change como teste global.
9
+
10
+ ## Quando usar
11
+
12
+ Use depois de instalar/atualizar, diante de warnings dos hooks ou antes de iniciar uma change.
13
+
14
+ ## Quando não usar
15
+
16
+ Não use `wendkeep verify` quando nenhuma change estiver ativa. Ele prova tarefas de uma change;
17
+ não substitui o doctor.
18
+
19
+ ## Pré-requisitos
20
+
21
+ Execute na raiz do projeto ou informe `--project`/`--vault` explicitamente.
22
+
23
+ ## Sintaxe
24
+
25
+ ```bash
26
+ npx wendkeep doctor [--vault <cofre>]
27
+ npx wendkeep sync-defs [--check|--reseed] --vault <cofre> --project <raiz>
28
+ npx wendkeep theme sync --vault <cofre>
29
+ npx wendkeep --version
30
+ npx wendkeep --help
31
+ ```
32
+
33
+ ## Opções e códigos de saída
34
+
35
+ - `doctor` é read-only; exit `0` aceita warnings recuperáveis e exit não zero indica falha.
36
+ - Em v2, `doctor`/`memory status --gate` correlacionam `last_memory_attempt` (mode, disposition,
37
+ event IDs e checkpoint) com outbox, ledger e SHARED; não inferem saúde só pela revision atual.
38
+ - `revision: 0` após migração válida, sem attempt v2, é saudável. Attempt `degraded` cujos eventos
39
+ continuam duráveis na outbox/ledger é warning recuperável.
40
+ - Attempt ambíguo, event ID perdido (ausente de ledger e outbox), estado `projected` apenas na
41
+ outbox ou checkpoint divergente são falhas bloqueantes.
42
+ - `sync-defs --check` detecta drift sem gravar; `--reseed` restaura skills `wk-*` do pacote.
43
+ - `theme sync` reaplica snippet CSS e grupos do grafo sem recriar o cofre.
44
+ - `wendkeep --version` imprime a versão executada; `wendkeep --help` lista a interface pública.
45
+
46
+ ## Exemplos
47
+
48
+ Checklist pós-atualização:
49
+
50
+ ```bash
51
+ npx wendkeep --version
52
+ npx wendkeep sync-defs --check --vault .MeuApp-vault --project .
53
+ npx wendkeep doctor --vault .MeuApp-vault
54
+ npx wendkeep memory status --gate --vault .MeuApp-vault
55
+ ```
56
+
57
+ ## Resultado esperado
58
+
59
+ O doctor nomeia sessões, registry, links, notas, preços, derivadas e memória como saudáveis ou
60
+ fornece um comando específico de diagnóstico/reparo. Na memória, ele distingue vazio inicial
61
+ válido, replay pendente recuperável e lifecycle perdido/divergente. Nenhum reparo é aplicado
62
+ implicitamente nem o conteúdo privado do erro do projector é reproduzido no relatório.
63
+
64
+ ## Erros comuns e diagnóstico
65
+
66
+ - `no vault`: execute da raiz vinculada ou passe `--vault`.
67
+ - `defs stale`: confirme a versão e rode `sync-defs --reseed`.
68
+ - Vault legado: é warning não bloqueante; planeje `memory migrate --apply` separadamente.
69
+ - `degraded` + outbox íntegra: warning; preserve a outbox e permita replay idempotente.
70
+ - `ambiguous`, publicação perdida ou checkpoint divergente: bloqueante; preserve registry, ledger,
71
+ outbox e SHARED para correlacionar `last_memory_attempt` antes de reparar.
72
+ - Bundle corrompido: preserve a evidência e use `memory status --gate` antes de `memory repair`.
73
+
74
+ ## Próximos passos
75
+
76
+ Veja [instalação e primeiro uso](getting-started.md), [memória](memory.md) e
77
+ [verificação de changes](verify.md).
@@ -0,0 +1,73 @@
1
+ # Migração de memória legada para v2
2
+
3
+ **PT-BR** · [English](../../en/commands/memory-migration.md)
4
+
5
+ ## Objetivo
6
+
7
+ Converter um `SHARED_MEMORY.md` legado em bundle v2 auditável sem sobrescrever CORE nem promover
8
+ relatos antigos silenciosamente.
9
+
10
+ ## Quando usar
11
+
12
+ Use quando `memory status` retorna `legacy` e a equipe está pronta para curar o conteúdo convertido.
13
+
14
+ ## Quando não usar
15
+
16
+ Não migre automaticamente durante `init`, `sync`, SessionStop ou como tentativa de silenciar um
17
+ warning. Não aplique enquanto um backup/estado esperado não estiver claro.
18
+
19
+ ## Pré-requisitos
20
+
21
+ - CORE válido e bytes legados preservados.
22
+ - Vault sem corrupção v2 parcial.
23
+ - Revisão humana dos candidates que serão criados.
24
+
25
+ ## Sintaxe
26
+
27
+ ```bash
28
+ npx wendkeep memory status --gate --vault <cofre>
29
+ npx wendkeep memory migrate --vault <cofre>
30
+ npx wendkeep memory migrate --apply --vault <cofre>
31
+ ```
32
+
33
+ ## Opções e códigos de saída
34
+
35
+ - Sem `--apply`, `wendkeep memory migrate` é dry-run e não grava.
36
+ - `--apply` cria backup, converte conteúdo legado em candidates e publica bundle v2 válido.
37
+ - Um bundle recém-migrado pode começar saudável em `revision: 0`: ainda não houve attempt v2 nem
38
+ evento elegível, portanto zero não significa estagnação.
39
+ - Exit `0` indica prévia/aplicação consistente; exit diferente de zero preserva o estado original
40
+ e informa a falha.
41
+
42
+ ## Exemplos
43
+
44
+ ```bash
45
+ npx wendkeep memory migrate --vault .MeuApp-vault
46
+ # revise a prévia
47
+ npx wendkeep memory migrate --apply --vault .MeuApp-vault
48
+ npx wendkeep memory status --gate --vault .MeuApp-vault
49
+ ```
50
+
51
+ ## Resultado esperado
52
+
53
+ O vault recebe ledger/projeção v2 coerentes, backup do SHARED legado e candidates para fatos sem
54
+ evidência. CORE não é editado e conteúdo não verificado não vira estado ativo automaticamente.
55
+ Após a migração, o próximo `UserPromptSubmit` recupera uma única activation se o registry legado
56
+ estava fechado; o primeiro `Stop` cujo turno for comprovado publica uma vez e avança SHARED para
57
+ revision 1. Repetir esse prompt ou Stop não duplica evento/revision.
58
+
59
+ ## Erros comuns e diagnóstico
60
+
61
+ - Dry-run mostra vault já v2: não aplique novamente.
62
+ - `revision: 0` imediatamente após apply válido: estado saudável; aguarde um prompt e Stop
63
+ elegíveis, não rode repair nem repita a migração.
64
+ - Bundle v2 parcial/corrompido: use status e repair; migração não é ferramenta de corrupção.
65
+ - Primeiro Stop pós-migração fica `ambiguous`: confirme que o `turn_id` pertence ao transcript e
66
+ que `UserPromptSubmit` abriu/avançou a activation de recuperação.
67
+ - Candidates numerosos: curate gradualmente com `memory promote`/`memory reject`.
68
+ - Warning legado após apply: confirme o vault efetivamente selecionado e o vínculo do projeto.
69
+
70
+ ## Próximos passos
71
+
72
+ Volte para [memória e curadoria](memory.md) e execute
73
+ [manutenção e diagnóstico](maintenance-and-diagnostics.md).
@@ -0,0 +1,83 @@
1
+ # Memória compartilhada e curadoria
2
+
3
+ **PT-BR** · [English](../../en/commands/memory.md)
4
+
5
+ ## Objetivo
6
+
7
+ Inspecionar e curar CORE, SHARED, ledger, outbox, attempts e candidates sem confundir autoria
8
+ canônica com estado operacional gerado.
9
+
10
+ ## Quando usar
11
+
12
+ Use no CI, antes de verify/archive, diante de avisos do doctor ou para decidir candidates.
13
+
14
+ ## Quando não usar
15
+
16
+ Não edite `SHARED_MEMORY.md` ou `MEMORY_EVENTS.jsonl` à mão. Não use repair em vault legado que
17
+ apenas aguarda migração.
18
+
19
+ ## Pré-requisitos
20
+
21
+ Informe o vault explicitamente em automações. Preserve backups e evidências antes de reparar.
22
+
23
+ ## Sintaxe
24
+
25
+ ```bash
26
+ npx wendkeep memory status [--gate] --vault <cofre>
27
+ npx wendkeep memory repair --vault <cofre>
28
+ npx wendkeep memory promote <candidate> --vault <cofre>
29
+ npx wendkeep memory reject <candidate> --vault <cofre>
30
+ npx wendkeep validate-memory [caminho-do-CORE]
31
+ npx wendkeep validate-memory --vault <cofre-v2>
32
+ ```
33
+
34
+ ## Opções e códigos de saída
35
+
36
+ - `memory status` é read-only; `--gate` retorna exit `1` apenas para estado bloqueante.
37
+ - O `Stop` grava os eventos na outbox antes de reconhecer `last_memory_attempt: enqueued`; depois o
38
+ projector roda fora do lock do registry. Retry do mesmo attempt reutiliza os event IDs congelados
39
+ e pode projetá-los no máximo uma vez.
40
+ - Projector busy/falho persiste `degraded`, preserva a outbox e avisa que há replay. Um Stop/retry
41
+ seguinte reaproveita essa tentativa; não reconstrói o handoff com dados transitórios novos.
42
+ - O outcome só atualiza `memory_status`/checkpoint se activation, epoch, turno e attempt ainda forem
43
+ exatamente os mesmos. Resultado stale/superseded não apaga nem sobrescreve checkpoint mais novo.
44
+ - Vault legado válido gera warning e exit `0`. Em v2, o status correlaciona
45
+ `last_memory_attempt`, disposition, outbox, ledger, SHARED e checkpoint: attempt ambíguo,
46
+ publicação perdida ou checkpoint divergente bloqueiam; `degraded` com outbox íntegra é warning.
47
+ - `memory repair` trabalha sob lock, salva `.bak`, retém eventos válidos e reprojeta.
48
+ - `promote`/`reject` acrescentam decisão auditável; nunca reescrevem o ledger no lugar.
49
+ - `validate-memory <CORE.md>` valida cap de 25 linhas, seções e segredos.
50
+ - `validate-memory --vault` exige bundle v2 completo; não é o gate correto para vault legado.
51
+
52
+ ## Exemplos
53
+
54
+ ```bash
55
+ npx wendkeep memory status --gate --vault .MeuApp-vault
56
+ npx wendkeep validate-memory .MeuApp-vault/.brain/CORE.md
57
+ npx wendkeep memory promote candidate-123 --vault .MeuApp-vault
58
+ ```
59
+
60
+ ## Resultado esperado
61
+
62
+ O status imprime schema, revision, cursor, hash, eventos, outbox, candidates, conflitos e o estado
63
+ causal do último attempt. CORE permanece canônico e curado à mão; SHARED permanece projeção
64
+ operacional verificável. Depois de uma projeção bem-sucedida, o checkpoint do attempt pode ser um
65
+ prefixo válido de uma projeção global que já avançou com eventos concorrentes.
66
+
67
+ ## Erros comuns e diagnóstico
68
+
69
+ - `legacy`: siga o guia de migração; não é corrupção.
70
+ - `revision: 0` logo após migração válida, sem attempt v2, é saudável; não rode repair só para
71
+ fabricar o primeiro evento.
72
+ - `degraded` com todos os event IDs presentes no ledger ou na outbox íntegra é recuperável; deixe o
73
+ replay idempotente concluir. Event ID ausente nos dois lugares indica publicação perdida.
74
+ - Attempt `ambiguous`, attempt `applied` sem event IDs, evento `projected` apenas na outbox ou
75
+ checkpoint divergente são bloqueantes: preserve os artefatos e investigue antes de repair.
76
+ - Candidate pendente comum: warning recuperável, exige decisão humana quando apropriado.
77
+ - `event_cursor` ausente ou hash divergente em v2: preserve o bundle e avalie `memory repair`.
78
+ - `validate-memory --vault` falha no legado: valide apenas CORE ou migre primeiro.
79
+
80
+ ## Próximos passos
81
+
82
+ Leia [migração de memória](memory-migration.md), [manutenção](maintenance-and-diagnostics.md) e
83
+ [verify](verify.md).
@@ -0,0 +1,69 @@
1
+ # Notas derivadas e grafo de conhecimento
2
+
3
+ **PT-BR** · [English](../../en/commands/notes-and-knowledge.md)
4
+
5
+ ## Objetivo
6
+
7
+ Criar, reparar, numerar e navegar decisões, bugs e aprendizados mantendo proveniência e wikilinks.
8
+
9
+ ## Quando usar
10
+
11
+ Use para registrar conhecimento durável ou reparar notas históricas diagnosticadas pelo doctor.
12
+
13
+ ## Quando não usar
14
+
15
+ Não edite numeração e wikilinks em massa à mão. Não use `--apply` sem conferir a prévia.
16
+
17
+ ## Pré-requisitos
18
+
19
+ Vault vinculado, sessão de origem identificável e backup antes de renumerações amplas.
20
+
21
+ ## Sintaxe
22
+
23
+ ```bash
24
+ npx wendkeep dashboard [--force]
25
+ npx wendkeep note new --type bug|learning "<título>"
26
+ npx wendkeep note relink [--apply]
27
+ npx wendkeep note repair-frontmatter [--apply]
28
+ npx wendkeep note repair-sections [--apply]
29
+ npx wendkeep renumber-decisions [--apply]
30
+ npx wendkeep renumber-bugs [--apply]
31
+ npx wendkeep renumber-learnings [--apply]
32
+ npx wendkeep lesson add "<título>" "<lição>"
33
+ ```
34
+
35
+ ## Opções e códigos de saída
36
+
37
+ - `note new` cria `BUG-NNNN` ou `APR-NNNN` no mês e aceita `--date`.
38
+ - `note relink`, `repair-frontmatter`, `repair-sections` e `renumber-*` são dry-run por padrão;
39
+ `--apply` grava e `--json` facilita auditoria.
40
+ - `dashboard --force` regenera Bases/MOC quando necessário.
41
+ - `lesson add` aceita `--change <slug>` e `--vault` para ligar aprendizado local.
42
+ - Exit `0` indica prévia/aplicação consistente; não zero deixa o reparo incompleto explícito.
43
+
44
+ ## Exemplos
45
+
46
+ ```bash
47
+ npx wendkeep note new --type bug "refresh expira durante upload"
48
+ npx wendkeep note relink --json
49
+ npx wendkeep renumber-decisions --json
50
+ # revise antes de repetir com --apply
51
+ npx wendkeep dashboard --force
52
+ ```
53
+
54
+ ## Resultado esperado
55
+
56
+ Notas derivadas vivem na pasta do mês, têm numeração global do tipo e backlink para a sessão. Os
57
+ reparos preservam frontmatter válido e reescrevem wikilinks quando arquivos mudam.
58
+
59
+ ## Erros comuns e diagnóstico
60
+
61
+ - Nota órfã sem fonte modal: `note relink` informa que não consegue inferir e não inventa vínculo.
62
+ - Frontmatter empilhado: use repair sob o mesmo lock dos hooks.
63
+ - Links cinza após renumber/archive: rode prévia de relink e confirme ambiguidades.
64
+ - Título sensível: remova secrets/PII antes de persistir.
65
+
66
+ ## Próximos passos
67
+
68
+ Veja [sessões e importação](sessions-and-import.md),
69
+ [custos e observabilidade](costs-and-observability.md) e [manutenção](maintenance-and-diagnostics.md).
@@ -0,0 +1,67 @@
1
+ # Importação retroativa segura
2
+
3
+ **PT-BR** · [English](../../en/commands/retroactive-import.md)
4
+
5
+ ## Objetivo
6
+
7
+ Importar sessões históricas de Claude e Codex com escopo controlado, identidade estável e revisão
8
+ antes da escrita.
9
+
10
+ ## Quando usar
11
+
12
+ Use ao instalar o WendKeep num projeto existente, recuperar uma faixa de datas ou reprocessar
13
+ decisões sem importar o mundo inteiro.
14
+
15
+ ## Quando não usar
16
+
17
+ Não use `--source all` sem dry-run em máquinas com muitos projetos, forks ou rollouts de subagents.
18
+ Não trate transcript importado como evidência de implementação atual.
19
+
20
+ ## Pré-requisitos
21
+
22
+ Confirme projeto, vault, provider, diretório fonte e janela temporal. Faça backup se o registry já
23
+ contiver reparos manuais.
24
+
25
+ ## Sintaxe
26
+
27
+ ```bash
28
+ npx wendkeep import --dry-run --json
29
+ npx wendkeep import --source claude|codex|all [--since <data>] [--limit <n>]
30
+ npx wendkeep import --from <claude-dir> --codex-from <codex-dir>
31
+ npx wendkeep import --stamp-ids | --rescan-decisions
32
+ ```
33
+
34
+ ## Opções e códigos de saída
35
+
36
+ - `--source` limita provider; `--since` e `--limit` limitam volume.
37
+ - `--from`/`--codex-from` substituem diretórios descobertos.
38
+ - `--dry-run` não grava e `--json` produz relatório auditável.
39
+ - `--stamp-ids` preenche IDs em notas existentes; `--rescan-decisions` reaplica extração de prosa.
40
+ - Exit `0` indica varredura/importação consistente; exit diferente de zero exige resolver fonte,
41
+ parsing ou identidade antes de repetir.
42
+
43
+ ## Exemplos
44
+
45
+ ```bash
46
+ npx wendkeep import --source codex --since 2026-07-20 --limit 20 --dry-run --json
47
+ # confira accepted/skipped/forks
48
+ npx wendkeep import --source codex --since 2026-07-20 --limit 20
49
+ ```
50
+
51
+ ## Resultado esperado
52
+
53
+ Sessões aceitas entram uma vez por `session_id`, com provider e transcript corretos. Duplicatas
54
+ canônicas são ignoradas; forks/subagents preservam relação de origem em vez de copiar toda a
55
+ história herdada como uma nova conversa independente.
56
+
57
+ ## Erros comuns e diagnóstico
58
+
59
+ - Contaminação entre projetos: pare e confira cwd, binding e filtros antes de limpar qualquer nota.
60
+ - Fork comum importado como sessão cheia: inspecione `forked_from_id` e payload de origem.
61
+ - Nota sem `session_id`: use `--stamp-ids` somente após dry-run.
62
+ - Decisões faltantes em nota já importada: prefira `--rescan-decisions` a duplicar a sessão.
63
+
64
+ ## Próximos passos
65
+
66
+ Volte para [sessões e hooks](sessions-and-import.md), gere [custos](costs-and-observability.md) e
67
+ revise [notas derivadas](notes-and-knowledge.md).
@@ -0,0 +1,85 @@
1
+ # Sessões, hooks e importação
2
+
3
+ **PT-BR** · [English](../../en/commands/sessions-and-import.md)
4
+
5
+ ## Objetivo
6
+
7
+ Entender como os hooks capturam sessões ao vivo, como activation/turno preservam causalidade no
8
+ registry e quando usar a importação retroativa.
9
+
10
+ ## Quando usar
11
+
12
+ Use `session` para inspecionar/focar uma conversa e `import` para recuperar sessões anteriores à
13
+ instalação ou fora do registry atual.
14
+
15
+ ## Quando não usar
16
+
17
+ Não invoque hooks manualmente sem o envelope JSON esperado. Não use import amplo antes de uma
18
+ prévia quando existirem forks/subagents possivelmente duplicados.
19
+
20
+ ## Pré-requisitos
21
+
22
+ Hooks instalados para captura ao vivo; para import, acesso local aos diretórios de transcripts do
23
+ Claude/Codex e um vault vinculado ao projeto correto.
24
+
25
+ ## Sintaxe
26
+
27
+ ```bash
28
+ npx wendkeep hook <nome>
29
+ npx wendkeep session list
30
+ npx wendkeep session show <id>
31
+ npx wendkeep session use <id>
32
+ npx wendkeep import [opções]
33
+ ```
34
+
35
+ ## Opções e códigos de saída
36
+
37
+ - `wendkeep hook <name>` lê o payload do agente em stdin; nomes válidos aparecem em `--help`.
38
+ - `SessionStart` abre uma activation, isto é, um epoch que continua ativo por vários `Stop`; só um
39
+ novo `SessionStart` torna o epoch anterior superseded.
40
+ - `UserPromptSubmit` avança o turno nativo da activation ativa. Se encontrar um registry legado
41
+ com o epoch fechado, abre exatamente uma activation de recuperação; repetir o mesmo prompt não
42
+ abre outra.
43
+ - No Codex, `session_id`, o `turn_id` nativo e a ordem observada no transcript bastam para resolver
44
+ o turno. O payload do hook não precisa inventar `activation_id` nem `turn_sequence`.
45
+ - `Stop` aceita somente o turno comprovado pelo transcript e pela activation ativa compatível.
46
+ Duplicatas são no-op; Stops stale/superseded não publicam memória nem sobrescrevem o checkpoint
47
+ de um epoch mais novo.
48
+ - `session list` lê `SESSION_REGISTRY`; `show` exibe uma sessão e `use` muda apenas o foco humano
49
+ em `CURRENT_SESSION.md`.
50
+ - `import --source all|claude|codex`, `--since`, `--limit`, `--from` e `--codex-from` limitam escopo.
51
+ - `--dry-run`/`--json` permitem auditar antes de gravar; `--stamp-ids` e `--rescan-decisions`
52
+ corrigem históricos específicos.
53
+ - Exit `0` indica processamento consistente; exit não zero indica configuração, fonte ou escrita
54
+ inválida sem transformar isso em sucesso parcial silencioso.
55
+
56
+ ## Exemplos
57
+
58
+ ```bash
59
+ npx wendkeep session list
60
+ npx wendkeep session show 019abc-session-id
61
+ npx wendkeep import --source codex --since 2026-07-01 --dry-run --json
62
+ ```
63
+
64
+ ## Resultado esperado
65
+
66
+ Cada sessão canônica aponta para provider, transcript, arquivo de nota e custos correspondentes.
67
+ O registry mantém um epoch de `SessionStart` por activation e o turno nativo mais recente; vários
68
+ `Stop` podem confirmar turnos do mesmo epoch sem fechá-lo. Importações repetidas do mesmo
69
+ `session_id` são deduplicadas; o foco humano não encerra nem altera a identidade dos hooks.
70
+
71
+ ## Erros comuns e diagnóstico
72
+
73
+ - Sessão ausente: confira provider, path do transcript e registry antes de importar novamente.
74
+ - `Stop ambiguous`: o `turn_id` não foi comprovado pelo transcript ou nenhuma activation ativa
75
+ compatível foi encontrada; o attempt fica observável, mas não publica memória.
76
+ - Stop atrasado aparece como `stale_turn`/`superseded`: o epoch mais novo e seu checkpoint são
77
+ preservados; não force a reaplicação do payload antigo.
78
+ - Duplicatas de forks: limite por fonte/data e revise `forked_from_id`/`source.subagent`.
79
+ - Codex não captura: aprove os hooks e reinicie a sessão após `sync`.
80
+ - Custo contaminado: valide `session_id → session_file → transcript_path → provider`.
81
+
82
+ ## Próximos passos
83
+
84
+ Leia [importação retroativa](retroactive-import.md),
85
+ [custos e observabilidade](costs-and-observability.md) e [notas](notes-and-knowledge.md).
@@ -0,0 +1,87 @@
1
+ # Verify e verificação independente
2
+
3
+ **PT-BR** · [English](../../en/commands/verify.md)
4
+
5
+ ## Objetivo
6
+
7
+ Executar os sensores exigidos pelas tarefas de uma change, persistir evidência fresca e montar o
8
+ pacote autocontido usado pelo passe independente `wk-verify`.
9
+
10
+ ## Quando usar
11
+
12
+ Use depois de implementar as tarefas e novamente sempre que tarefas, specs ou testes mudarem.
13
+
14
+ ## Quando não usar
15
+
16
+ Não use como health check pós-instalação ou quando não existe change. Nesse caso, rode
17
+ `wendkeep doctor` e `wendkeep memory status --gate`.
18
+
19
+ ## Pré-requisitos
20
+
21
+ - Change aberta selecionada por `CURRENT_CHANGE.md` ou `--change <slug>`.
22
+ - `tarefas.md` sem placeholders, com tags `[req:]` e `[sensor:]` na linha do checkbox.
23
+ - Sensores declarados em `wendkeep.sensors.json`.
24
+
25
+ ## Sintaxe
26
+
27
+ ```bash
28
+ npx wendkeep verify [--change <slug>] [--project <raiz>] [--vault <cofre>]
29
+ npx wendkeep verify --deep [--change <slug>]
30
+ npx wendkeep change use <slug>
31
+ ```
32
+
33
+ ## Opções e códigos de saída
34
+
35
+ - `--change <slug>` mira uma change sem alterar o ponteiro ativo.
36
+ - `change use <slug>` troca o foco persistido para comandos seguintes.
37
+ - `--project <raiz>` define onde os sensores executam; `--vault` define onde a prova é gravada.
38
+ - **Exit 0:** todos os sensores exigidos passaram e a evidência foi gravada.
39
+ - **Exit 1:** o gate executou, mas ao menos um sensor crítico ficou vermelho ou um mutante
40
+ sobreviveu.
41
+ - **Exit 2:** uso/contexto inválido, como `no change (--change or active)`, vault ausente,
42
+ change inexistente ou `wendkeep.sensors.json` inválido.
43
+
44
+ `verify --deep` gera `verificacao.json`; ele não substitui o verificador. A skill `wk-verify`
45
+ precisa ser executada por autor diferente e grava `verdict.json`.
46
+
47
+ ## Exemplos
48
+
49
+ Change ativa:
50
+
51
+ ```bash
52
+ npx wendkeep verify
53
+ npx wendkeep verify --deep
54
+ ```
55
+
56
+ Change explícita:
57
+
58
+ ```bash
59
+ npx wendkeep verify --change tenant-login
60
+ npx wendkeep verify --deep --change tenant-login
61
+ ```
62
+
63
+ Projeto sem change aberta:
64
+
65
+ ```bash
66
+ npx wendkeep doctor --vault .MeuApp-vault
67
+ npx wendkeep memory status --gate --vault .MeuApp-vault
68
+ ```
69
+
70
+ ## Resultado esperado
71
+
72
+ `evidencia.json` contém resultados dos sensores e um selo liga a prova ao hash atual de
73
+ `tarefas.md`. No deep, o pacote contém requisitos, tarefas e evidência suficientes para revisão
74
+ read-only; o verdict cobre cada `[req:]` antes do archive.
75
+
76
+ ## Erros comuns e diagnóstico
77
+
78
+ - `no change`: isso é exit 2 e estado ocioso válido; crie/use uma change ou não rode verify.
79
+ - Zero sensores: confira tags na mesma linha e `sensors list`.
80
+ - Gate vermelho: corrija a causa e repita; não use `archive --force` por conta própria.
81
+ - Verdict stale/ausente: regenere `--deep` e peça novo passe independente.
82
+ - Mutantes sobreviventes: fortaleça o teste discriminante; após três rodadas, revise manualmente.
83
+
84
+ ## Próximos passos
85
+
86
+ Volte ao [ciclo de changes](changes-and-verification.md) para archive ou consulte
87
+ [manutenção](maintenance-and-diagnostics.md) quando não houver change.