@orkastery/cli 0.2.0
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.
- package/LICENSE +21 -0
- package/README.md +87 -0
- package/adapters/README.md +22 -0
- package/adapters/claude-code/.claude-plugin/marketplace.json +15 -0
- package/adapters/claude-code/.claude-plugin/plugin.json +31 -0
- package/adapters/claude-code/README.md +102 -0
- package/adapters/claude-code/agents/ork-check.md +32 -0
- package/adapters/claude-code/agents/ork-go.md +32 -0
- package/adapters/claude-code/agents/ork-goal.md +33 -0
- package/adapters/claude-code/agents/ork-master.md +32 -0
- package/adapters/claude-code/agents/ork-plan.md +32 -0
- package/adapters/claude-code/agents/ork-ship.md +32 -0
- package/adapters/claude-code/commands/check.md +45 -0
- package/adapters/claude-code/commands/go.md +46 -0
- package/adapters/claude-code/commands/goal.md +54 -0
- package/adapters/claude-code/commands/master.md +42 -0
- package/adapters/claude-code/commands/ork.md +37 -0
- package/adapters/claude-code/commands/plan.md +47 -0
- package/adapters/claude-code/commands/ship.md +45 -0
- package/adapters/claude-code/hooks/hooks.json +17 -0
- package/adapters/claude-code/hooks/ork-guard.js +130 -0
- package/adapters/hermes/README.md +45 -0
- package/adapters/hermes/bin/ork-abrir-thread.sh +25 -0
- package/adapters/hermes/hermes.plugin.json +21 -0
- package/adapters/hermes/skills/orkastery-devmaster/SKILL.md +116 -0
- package/adapters/openclaw/README.md +63 -0
- package/adapters/openclaw/bin/ork-abrir-thread.sh +24 -0
- package/adapters/openclaw/openclaw.plugin.json +138 -0
- package/dist/adapters/claude-bg.js +308 -0
- package/dist/auditoria.js +848 -0
- package/dist/auditrun.js +976 -0
- package/dist/board.js +314 -0
- package/dist/canarios.js +271 -0
- package/dist/catalogo.js +124 -0
- package/dist/ciclos.js +156 -0
- package/dist/claims.js +226 -0
- package/dist/divida.js +374 -0
- package/dist/doctor.js +246 -0
- package/dist/evalrunner.js +458 -0
- package/dist/fix.js +450 -0
- package/dist/gates.js +92 -0
- package/dist/handoff.js +521 -0
- package/dist/hosts.js +331 -0
- package/dist/index.js +1910 -0
- package/dist/init.js +231 -0
- package/dist/leases.js +508 -0
- package/dist/ledger.js +138 -0
- package/dist/manifest.js +255 -0
- package/dist/master.js +453 -0
- package/dist/memoria.js +773 -0
- package/dist/modos.js +220 -0
- package/dist/orkmind.js +487 -0
- package/dist/orquestracao.js +559 -0
- package/dist/phase.js +572 -0
- package/dist/policies.js +176 -0
- package/dist/prompts.js +406 -0
- package/dist/ratelimit.js +179 -0
- package/dist/recall.js +252 -0
- package/dist/retry.js +917 -0
- package/dist/sandbox.js +94 -0
- package/dist/sessoes.js +104 -0
- package/dist/ship.js +551 -0
- package/dist/slug.js +100 -0
- package/dist/superficie.js +1347 -0
- package/dist/thread.js +333 -0
- package/dist/tokens.js +228 -0
- package/dist/types.js +20 -0
- package/dist/util.js +156 -0
- package/dist/verify.js +262 -0
- package/dist/worktree.js +576 -0
- package/dist/yaml.js +112 -0
- package/eval/README.md +85 -0
- package/eval/casos/check-quality.json +103 -0
- package/eval/casos/code-reviewer.json +102 -0
- package/eval/casos/decision-triage.json +103 -0
- package/eval/casos/go-implementation.json +103 -0
- package/eval/casos/goal-definition.json +103 -0
- package/eval/casos/master-metrics.json +103 -0
- package/eval/casos/narrative-guardian.json +163 -0
- package/eval/casos/orkastery-bootstrap.json +102 -0
- package/eval/casos/plan-specification.json +102 -0
- package/eval/casos/roadmap-keeper.json +103 -0
- package/eval/casos/scope-check-capability-map.json +83 -0
- package/eval/casos/security-auditor.json +102 -0
- package/eval/casos/ship-release.json +122 -0
- package/eval/casos/test-engineer.json +122 -0
- package/eval/casos/thread-state.json +82 -0
- package/eval/casos/thread-tracing.json +83 -0
- package/eval/casos/web-performance-auditor.json +102 -0
- package/eval/fixtures/b0-slug-e-modos/caso.json +56 -0
- package/eval/fixtures/b2-master-log/caso.json +91 -0
- package/eval/fixtures/fx-concurrency/caso.json +15 -0
- package/eval/fixtures/fx-hallucination/caso.json +12 -0
- package/eval/fixtures/fx-happy/caso.json +16 -0
- package/eval/fixtures/fx-schema-drift/caso.json +15 -0
- package/eval/fixtures/fx-stale-base/caso.json +12 -0
- package/eval/fixtures/fx-wiki-destroy/caso.json +16 -0
- package/eval/fixtures/superficie-de-rede/README.md +22 -0
- package/eval/fixtures/superficie-de-rede/api-express.js +30 -0
- package/eval/fixtures/superficie-de-rede/api_fastapi.py +17 -0
- package/eval/fixtures/superficie-de-rede/api_gin.go +18 -0
- package/package.json +56 -0
- package/references/README.md +25 -0
- package/references/code-review-axes.md +82 -0
- package/references/definition-of-done.md +74 -0
- package/references/performance-checklist.md +53 -0
- package/references/security-checklist.md +101 -0
- package/references/testing-patterns.md +51 -0
- package/skills/README.md +43 -0
- package/skills/core/orkastery-bootstrap/SKILL.md +89 -0
- package/skills/core/thread-state/SKILL.md +86 -0
- package/skills/governance/decision-triage/SKILL.md +65 -0
- package/skills/governance/narrative-guardian/SKILL.md +66 -0
- package/skills/governance/roadmap-keeper/SKILL.md +60 -0
- package/skills/governance/scope-check-capability-map/SKILL.md +61 -0
- package/skills/observability/thread-tracing/SKILL.md +63 -0
- package/skills/phases/check-quality/SKILL.md +87 -0
- package/skills/phases/go-implementation/SKILL.md +70 -0
- package/skills/phases/goal-definition/SKILL.md +69 -0
- package/skills/phases/master-metrics/SKILL.md +65 -0
- package/skills/phases/plan-specification/SKILL.md +67 -0
- package/skills/phases/ship-release/SKILL.md +68 -0
- package/skills/reviewers/code-reviewer/SKILL.md +61 -0
- package/skills/reviewers/security-auditor/SKILL.md +68 -0
- package/skills/reviewers/test-engineer/SKILL.md +66 -0
- package/skills/reviewers/web-performance-auditor/SKILL.md +63 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: thread-tracing
|
|
3
|
+
description: "Rastro da thread: le o ledger, as sessoes, as claims e o MASTER log para reconstruir o que aconteceu, com quem decidiu e com que evidencia. Somente leitura, nunca escreve no estado."
|
|
4
|
+
bucket: observability
|
|
5
|
+
roteia: "ork phase list | ork thread status | ork sessions | ork board"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Thread Tracing
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino de leitura. Ela reconstroi a historia de uma thread a partir do que esta gravado,
|
|
14
|
+
e **nunca escreve no estado**: observabilidade que altera o que observa deixa de ser
|
|
15
|
+
observabilidade.
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork phase list <thread> # o ledger inteiro, evento a evento
|
|
21
|
+
ork thread status <thread> # o estado gravado cruzado com o runtime real
|
|
22
|
+
ork sessions --all # as sessoes vivas do runtime
|
|
23
|
+
ork claims list <thread> # as alegacoes e o estado de cada uma
|
|
24
|
+
ork board # todas as threads, uma visao
|
|
25
|
+
ork master --batch # o que fechou e ainda espera score
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## O que o rastro precisa responder
|
|
29
|
+
|
|
30
|
+
1. **O que foi pedido**, com o prompt exato: cada sessao gravou o prompt com `sha256` no nome.
|
|
31
|
+
2. **Quem decidiu**, em cada gate: humano com nome, ou decisao autonoma com a #TAG que autorizou.
|
|
32
|
+
3. **Com que evidencia**, sempre: comando, saida, sha. Evento sem evidencia e anotacao, nao rastro.
|
|
33
|
+
4. **O que falhou e por que**, com o motivo tipado: `claims.failed`, `verify.regression`,
|
|
34
|
+
`policy.violation`, `lease.busy`, `tree.blocked`, `human.pending`.
|
|
35
|
+
5. **Onde o tempo e a janela foram**, com a origem da medida declarada: `runtime_reported`,
|
|
36
|
+
`estimated`, `informada` ou `unavailable`.
|
|
37
|
+
|
|
38
|
+
## A honestidade de medicao
|
|
39
|
+
|
|
40
|
+
O que o runtime nao expoe sai `unavailable`, com o motivo. **Lacuna e publicada como lacuna, nunca
|
|
41
|
+
como zero.** Um rastro que preenche buraco com estimativa silenciosa e pior que um rastro com
|
|
42
|
+
buraco declarado, porque o segundo ninguem confunde com dado.
|
|
43
|
+
|
|
44
|
+
## Racionalizacoes comuns
|
|
45
|
+
|
|
46
|
+
| Desculpa | Realidade |
|
|
47
|
+
|---|---|
|
|
48
|
+
| "Escrevo um evento a mais para deixar o rastro completo" | Observabilidade nao escreve no estado. Evento inventado depois nao e rastro, e reconstrucao. |
|
|
49
|
+
| "O token gasto deve ter sido uns X" | Sem medida do runtime, sai `unavailable`. Estimativa apresentada como leitura e o comeco de todo painel falso. |
|
|
50
|
+
| "Coloco zero onde nao tem dado" | Zero e um dado. Lacuna e publicada como lacuna. |
|
|
51
|
+
| "Reordeno o ledger para ficar legivel" | O ledger e append-only e a ordem e evidencia. Legibilidade e trabalho da apresentacao, nao do arquivo. |
|
|
52
|
+
|
|
53
|
+
## Bandeiras vermelhas
|
|
54
|
+
|
|
55
|
+
- Evento no ledger sem evidencia.
|
|
56
|
+
- Gate sem quem decidiu.
|
|
57
|
+
- Metrica com numero redondo e sem origem.
|
|
58
|
+
- Sessao gravada como viva que o runtime nao reconhece.
|
|
59
|
+
|
|
60
|
+
## Verificacao antes de entregar o rastro
|
|
61
|
+
|
|
62
|
+
Pedido, decisor, evidencia, motivo tipado e origem de cada numero, com toda lacuna declarada como
|
|
63
|
+
lacuna e nenhuma escrita feita no estado. Ver `PERF 9`, `PERF 10` e `DoD 5`.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: check-quality
|
|
3
|
+
description: "Fase CHECK (F4): verificacao contra a baseline, os cinco eixos de review, auditoria de seguranca e de performance, auditoria de delegacao e um veredito unico. Roteia para ork verify e para as quatro skills de reviewer."
|
|
4
|
+
bucket: phases
|
|
5
|
+
roteia: "ork verify <thread> | ork gate approve <thread> evidencias"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# CHECK, verificacao
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino da fase CHECK. Ela consolida o que o `ork` mediu e o que os quatro reviewers
|
|
14
|
+
acharam, e produz **exatamente um veredito**: PASSOU, PRECISA DE MUDANCA ou BLOQUEADO. Ela nao
|
|
15
|
+
corrige o que encontra: correcao e trabalho de GO.
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork verify <thread> # reexecuta claims e verify contra a baseline
|
|
21
|
+
ork phase list <thread> # o ledger, para a auditoria de delegacao
|
|
22
|
+
ork worktree audit <thread> # a worktree confere no proprio git
|
|
23
|
+
ork gate approve <thread> evidencias --por <quem>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Quando o veredito e PRECISA DE MUDANCA, o sub-loop GO-FIX / CHECK-REVERIFY do bloco B3 e
|
|
27
|
+
quem conduz a volta, e ele nao depende de humano ate o veredito final:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
ork fix open <thread> # deriva a spec exata de cada correcao do verify real
|
|
31
|
+
ork fix list <thread> # as correcoes da rodada, com o tipo A ou B de cada uma
|
|
32
|
+
ork fix reverify <thread> # veredito POR correcao, mais o verify completo
|
|
33
|
+
ork retry plan <thread> # o que o ork faria pelo ultimo gate reprovado, e por que
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Duas guardas que o nucleo executa por voce: reexecucao PARCIAL e RECUSADA quando a rodada
|
|
37
|
+
tem correcao tipo B, e o limite de escalacao do manifesto (`retry.max_tentativas`) sobe o
|
|
38
|
+
veredito para humano em qualquer modo, inclusive `#Auto`.
|
|
39
|
+
|
|
40
|
+
Os quatro reviewers do catalogo entram aqui: `code-reviewer`, `security-auditor`, `test-engineer`
|
|
41
|
+
e `web-performance-auditor`. Cada um roda no seu escopo e devolve achados categorizados.
|
|
42
|
+
|
|
43
|
+
## O que o CHECK entrega
|
|
44
|
+
|
|
45
|
+
1. **Comparacao contra a baseline**, separando regressao de divida pre-existente. Sem essa
|
|
46
|
+
separacao, o relatorio culpa a thread pelo que ja estava quebrado.
|
|
47
|
+
2. **Os cinco eixos**, cada um com achados ou um "nenhum" explicito: correcao, seguranca,
|
|
48
|
+
performance, manutenibilidade, estilo.
|
|
49
|
+
3. **Zero bloqueadores de seguranca**, condicao dura, valida em qualquer modo, inclusive `#Auto`.
|
|
50
|
+
4. **Auditoria de delegacao**, cacando subclassificacao e escalacao indevida com peso igual.
|
|
51
|
+
5. **Correcoes classificadas com honestidade:** tipo A e uma linha ou equivalente, registrada, com
|
|
52
|
+
as verificacoes afetadas reexecutadas; tipo B devolve a tarefa ao GO, e o CHECK seguinte e uma
|
|
53
|
+
reexecucao completa, nunca parcial.
|
|
54
|
+
6. **Um veredito unico**, no diretorio da thread, com todo aviso aceito carregando seu registro.
|
|
55
|
+
|
|
56
|
+
## O que o nucleo verifica por voce
|
|
57
|
+
|
|
58
|
+
Os motivos tipados do `ork` fazem o veredito parar de ser conversa: `claims.failed`,
|
|
59
|
+
`verify.regression`, `verify.failed`, `policy.violation`, `cost.violation`, `tree.blocked`,
|
|
60
|
+
`lease.busy`, `runtime.rate-limited`. Todos reprovam em qualquer modo, porque **o modo afrouxa
|
|
61
|
+
a pausa, nunca a verificacao**. Cada um deles tem uma acao de retry deterministica em
|
|
62
|
+
`ork retry policy`, e `cost.violation` e o unico que NUNCA recebe retry automatico.
|
|
63
|
+
|
|
64
|
+
## Racionalizacoes comuns
|
|
65
|
+
|
|
66
|
+
| Desculpa | Realidade |
|
|
67
|
+
|---|---|
|
|
68
|
+
| "So um aviso, da para passar" | Aviso passa com registro nominal de quem aceitou e por que. Aviso aceito sem registro e aviso escondido. |
|
|
69
|
+
| "A correcao foi pequena, nao precisa rodar tudo de novo" | Correcao tipo B devolveu a tarefa ao GO: o CHECK seguinte e reexecucao completa. Parcial depois de tipo B nao e CHECK. |
|
|
70
|
+
| "Esse teste ja falhava, ignora" | Ja falhava e afirmacao verificavel: e a baseline que responde, e a divida entra declarada no relatorio. |
|
|
71
|
+
| "O bloqueador de seguranca e teorico" | Zero bloqueadores e condicao dura. Bloqueador rebaixado para aviso porque a entrega estava perto e o defeito de processo que o CHECK existe para expor. |
|
|
72
|
+
| "Ja que achei, corrijo aqui mesmo" | CHECK nao corrige. Achado vira tarefa de GO, com commit proprio, ou o revisor passa a revisar a si mesmo. |
|
|
73
|
+
| "A thread e `#Auto`, o CHECK pode ser mais leve" | O modo afrouxa a pausa, nunca a verificacao. `#Auto` roda o mesmo CHECK; o que ele dispensa e a espera pelo humano. |
|
|
74
|
+
|
|
75
|
+
## Bandeiras vermelhas
|
|
76
|
+
|
|
77
|
+
- Relatorio com dois vereditos, ou com nenhum.
|
|
78
|
+
- Eixo de review sem achado e sem "nenhum" escrito.
|
|
79
|
+
- Correcao tipo B seguida de reexecucao parcial.
|
|
80
|
+
- Aviso aceito sem nome de quem aceitou.
|
|
81
|
+
- CHECK rodado sem baseline para comparar.
|
|
82
|
+
|
|
83
|
+
## Verificacao antes de sair da fase
|
|
84
|
+
|
|
85
|
+
Suite reexecutada no HEAD real, cinco eixos preenchidos, seguranca com zero bloqueadores,
|
|
86
|
+
performance auditada ou dispensada por escrito, delegacao auditada, veredito unico gravado e o gate
|
|
87
|
+
de evidencias resolvido pelo caminho que o modo exige. Ver `DoD 6` a `DoD 11`, `REVIEW 6` e `SEC 16`.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: go-implementation
|
|
3
|
+
description: "Fase GO (F3): implementacao slice por slice dentro da worktree da thread, um commit atomico por tarefa, baseline gravada antes de comecar. Roteia para ork worktree ensure, ork verify --baseline e ork phase run GO."
|
|
4
|
+
bucket: phases
|
|
5
|
+
roteia: "ork worktree ensure | ork verify --baseline | ork phase run <thread> GO"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# GO, implementacao
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino da fase GO. **A camada que apresenta nunca escreve codigo de produto:** quem
|
|
14
|
+
escreve e a orquestra, despachada pelo `ork`. Esta skill garante a worktree, grava a baseline,
|
|
15
|
+
despacha e depois reexecuta a verificacao no mundo real.
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork worktree ensure <thread> # worktree isolada, base resolvida pelo ork
|
|
21
|
+
ork verify <thread> --baseline # o estado do mundo ANTES de implementar
|
|
22
|
+
ork phase run <thread> GO --prompt "<tarefa>"
|
|
23
|
+
ork claims add <thread> <arquivo> --claim "<...>" --verificar "<comando>" --fase GO
|
|
24
|
+
ork verify <thread> # reexecuta no HEAD real
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## O que o GO entrega
|
|
28
|
+
|
|
29
|
+
1. **Um commit atomico por tarefa**, com a thread e a tarefa na mensagem, no maximo cinco arquivos.
|
|
30
|
+
2. **Trabalho dentro da worktree da thread.** A arvore principal nao e area de trabalho de thread
|
|
31
|
+
nenhuma, e a base carimbada no `thread.json` e o que diz de onde a thread partiu.
|
|
32
|
+
3. **Baseline gravada antes da primeira linha.** Sem baseline, uma falha depois nao distingue
|
|
33
|
+
regressao de divida pre-existente, e a thread ou leva culpa alheia ou esconde o que quebrou.
|
|
34
|
+
4. **Uma claim por alegacao.** Todo arquivo citado, todo teste citado, toda funcao dita pronta vira
|
|
35
|
+
claim com comando. Passagem relatada por agente nao e passagem.
|
|
36
|
+
5. **Nada fora das tarefas do PLAN.** Melhoria oportunista sem tarefa e scope creep: ela vira
|
|
37
|
+
proposta, nunca commit escondido no meio da entrega. O que o diff faz alem do combinado o
|
|
38
|
+
revisor tem que descobrir sozinho, e e assim que uma entrega pequena vira uma revisao cara.
|
|
39
|
+
|
|
40
|
+
## O que o nucleo verifica por voce
|
|
41
|
+
|
|
42
|
+
`ork verify` reexecuta claims e comandos do manifesto no HEAD real e compara com a baseline:
|
|
43
|
+
comando que passava antes e falha agora sai como `verify.regression`; o que ja falhava sai como
|
|
44
|
+
divida declarada. Citacao sem lastro sai como `claims.failed`. Os tres reprovam em qualquer modo.
|
|
45
|
+
|
|
46
|
+
## Racionalizacoes comuns
|
|
47
|
+
|
|
48
|
+
| Desculpa | Realidade |
|
|
49
|
+
|---|---|
|
|
50
|
+
| "Eu rodei e passou, pode confiar" | Passagem relatada nao e passagem. `ork verify` reexecuta no HEAD real, e e a saida real que vale. |
|
|
51
|
+
| "Deixa eu commitar tudo junto no fim" | Um commit por tarefa. Commit gigante nao reverte, nao revisa e nao diz qual pedaco quebrou. |
|
|
52
|
+
| "Mexo direto na arvore principal, e mais rapido" | A arvore principal nao e area de trabalho de thread. Worktree isolada e o que permite N threads sem colisao. |
|
|
53
|
+
| "Baseline e perda de tempo, o repo esta verde" | Se estivesse mesmo verde, a baseline custaria um comando. Sem ela, toda falha vira discussao sobre de quem e a culpa. |
|
|
54
|
+
| "Aproveitei e arrumei outra coisa no caminho" | Melhoria fora das tarefas do PLAN e scope creep: vira proposta, nunca commit escondido no meio da entrega. |
|
|
55
|
+
| "O teste falhando ja falhava antes" | Isso e exatamente o que a baseline responde por comando, em vez de por memoria. |
|
|
56
|
+
|
|
57
|
+
## Bandeiras vermelhas
|
|
58
|
+
|
|
59
|
+
- Commit com dezenas de arquivos e mensagem generica.
|
|
60
|
+
- Trabalho acontecendo fora da worktree da thread.
|
|
61
|
+
- Nenhuma baseline gravada antes do primeiro commit.
|
|
62
|
+
- Arquivo citado no resumo do runtime que nao aparece no `git show --stat`.
|
|
63
|
+
- Teste desligado ou assercao afrouxada para fechar a tarefa.
|
|
64
|
+
- Mudanca no diff que nao corresponde a nenhuma tarefa do PLAN.
|
|
65
|
+
|
|
66
|
+
## Verificacao antes de sair da fase
|
|
67
|
+
|
|
68
|
+
Worktree conferida por `ork worktree audit`, baseline gravada antes do GO, um commit por tarefa,
|
|
69
|
+
claims com comando para tudo que foi alegado, e `ork verify` verde ou com a divida declarada. Ver
|
|
70
|
+
`DoD 1`, `DoD 2`, `DoD 3` e `DoD 4`.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: goal-definition
|
|
3
|
+
description: "Fase GOAL (F1): objetivo verificavel, exploracao do repositorio real, premissas explicitas, impact map, riscos e criterios de sucesso observaveis, tudo amarrado em claims com comando de verificacao. Roteia para ork phase run GOAL e ork claims add."
|
|
4
|
+
bucket: phases
|
|
5
|
+
roteia: "ork phase run <thread> GOAL | ork claims add"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# GOAL, definicao de objetivo
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino da fase GOAL. Ela nao explora o repositorio por conta propria e nao implementa
|
|
14
|
+
nada: ela despacha a fase pelo `ork` e transforma o resultado em claims que o `ork` reexecuta.
|
|
15
|
+
**GOAL nao implementa.**
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork thread new "<nome>" --mode <modo>
|
|
21
|
+
ork phase run <thread> GOAL --prompt "<pedido do builder>"
|
|
22
|
+
ork claims add <thread> <arquivo> --claim "<alegacao>" --verificar "<comando>" --fase GOAL
|
|
23
|
+
ork verify <thread> --so-claims
|
|
24
|
+
ork gate approve <thread> objetivo --por <quem>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## O que o GOAL entrega
|
|
28
|
+
|
|
29
|
+
1. **Objetivo em tres paragrafos, no minimo.** Mesmo uma correcao de uma linha ganha um GOAL de
|
|
30
|
+
tres paragrafos: compacto quer dizer menor, nunca ausente.
|
|
31
|
+
2. **Exploracao do repositorio real.** A exploracao mira o repositorio de verdade, nao a memoria do
|
|
32
|
+
modelo. Cite arquivos e trechos concretos ou a exploracao nao aconteceu.
|
|
33
|
+
3. **Premissas explicitas.** Premissa implicita e a maior fonte de retrabalho e e tratada como
|
|
34
|
+
defeito de processo. Escrever a premissa custa uma linha; descobrir ela errada no GO custa a
|
|
35
|
+
thread.
|
|
36
|
+
4. **Impact map.** O que muda, o que encosta e o que fica de fora, com o de fora escrito.
|
|
37
|
+
5. **Criterios de sucesso observaveis.** Latencia, cobertura, comportamento verificavel: nunca
|
|
38
|
+
adjetivo. Numa demanda de correcao, reproduzir o defeito e criterio obrigatorio do GOAL.
|
|
39
|
+
6. **Riscos e ambiguidades**, cada um com o que faria ele virar bloqueio.
|
|
40
|
+
|
|
41
|
+
## O que o nucleo verifica por voce
|
|
42
|
+
|
|
43
|
+
Todo criterio de sucesso vira `ork claims add ... --verificar "<comando>"`, e `ork verify` reexecuta
|
|
44
|
+
o comando no HEAD real. Alegacao sem comando volta como `claims.unverifiable`; alegacao que reprova
|
|
45
|
+
volta como `claims.failed`, motivo tipado que reprova em qualquer modo.
|
|
46
|
+
|
|
47
|
+
## Racionalizacoes comuns
|
|
48
|
+
|
|
49
|
+
| Desculpa | Realidade |
|
|
50
|
+
|---|---|
|
|
51
|
+
| "Eu ja conheco esse framework, da para pular a exploracao" | A exploracao mira o repositorio real, nao a memoria do modelo. Sem arquivo e trecho citados, o GOAL e um resumo plausivel de um codigo que ninguem abriu. |
|
|
52
|
+
| "Listar premissa e burocracia, elas sao obvias" | Premissa implicita e a maior fonte de retrabalho. Obvio para quem escreve costuma ser surpresa no GO. |
|
|
53
|
+
| "O criterio e que funcione bem e o usuario goste" | Adjetivo nao e metrica. Criterio que nao vira comando nao gateia nada, e e no gate que a autonomia se perde. |
|
|
54
|
+
| "O repositorio esta vazio, nao ha o que explorar" | Explorar repositorio vazio tambem e explorar: escreva o que foi verificado ausente, ou a ausencia vira premissa implicita. |
|
|
55
|
+
| "O bug e obvio, nao preciso reproduzir antes" | Correcao cujo defeito nunca foi reproduzido nao prova que corrigiu nada. Reproduzir o defeito e criterio obrigatorio do GOAL. |
|
|
56
|
+
|
|
57
|
+
## Bandeiras vermelhas
|
|
58
|
+
|
|
59
|
+
- Um GOAL sem arquivo nem trecho citado do repositorio.
|
|
60
|
+
- Premissas ausentes, ou descobertas depois como surpresa durante o GO.
|
|
61
|
+
- Criterio de sucesso escrito com adjetivo.
|
|
62
|
+
- Demanda de correcao sem passo de reproducao do defeito.
|
|
63
|
+
- GOAL que ja traz codigo de implementacao: GOAL nao implementa.
|
|
64
|
+
|
|
65
|
+
## Verificacao antes de sair da fase
|
|
66
|
+
|
|
67
|
+
Objetivo com tres paragrafos, exploracao citando arquivos reais, premissas escritas, impact map com
|
|
68
|
+
o que fica de fora, criterios virados em claims com comando, e o gate de objetivo resolvido pelo
|
|
69
|
+
caminho que o modo exige. Ver `DoD 17` e `DoD 18`.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: master-metrics
|
|
3
|
+
description: "Fase MASTER (F6): POSTMORTEM tipado, MASTER log no contrato congelado ork.master-log/v1 e o score humano de 0 a 5 com justificativa. Roteia para ork master e ork master --batch."
|
|
4
|
+
bucket: phases
|
|
5
|
+
roteia: "ork master <thread> --score N --justificativa \"...\" | ork master --batch"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# MASTER, fechamento e score
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino da fase MASTER. Ela nao inventa numero, nao arredonda score e nao fecha thread
|
|
14
|
+
sem humano: ela chama `ork master`, que valida contra o contrato congelado e recusa o que nao
|
|
15
|
+
cumpre. **Uma entrega sem MASTER log nao aconteceu.**
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork master classes # as classes de falha do catalogo fixo
|
|
21
|
+
ork master <thread> --score 4 --justificativa "<texto>" --classe base-avancou --por <quem>
|
|
22
|
+
ork master --batch # a fila de score dos modos sem pausa de MASTER
|
|
23
|
+
ork master --batch --todas
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## O que o MASTER entrega
|
|
27
|
+
|
|
28
|
+
1. **POSTMORTEM tipado**, com as fases percorridas, o que falhou e a classe de falha vinda de um
|
|
29
|
+
catalogo fixo: `sem-falha`, `erro-de-spec`, `base-avancou`, `conflito`, `rate-limit`, `modelo`,
|
|
30
|
+
`processo`, `scope-creep`, `outra`. Classe inventada e recusada pelo comando.
|
|
31
|
+
2. **MASTER log no contrato `ork.master-log/v1`**, congelado: mudar o contrato sem mudar a versao
|
|
32
|
+
e reprovado, porque contrato de telemetria e contrato publico.
|
|
33
|
+
3. **Score humano inteiro de 0 a 5, com justificativa nao vazia.** O score e do humano, sempre. Nos
|
|
34
|
+
modos sem pausa de MASTER ele vai para a fila de batch, e a fila continua sendo humana.
|
|
35
|
+
4. **Evidencia apontando o ledger e o POSTMORTEM**, com contagem de eventos, sessoes e claims. Log
|
|
36
|
+
sem evidencia e recusado.
|
|
37
|
+
|
|
38
|
+
## O que o nucleo verifica por voce
|
|
39
|
+
|
|
40
|
+
`ork master` recusa e **nao grava nada** quando o score esta fora de 0 a 5, quando a justificativa
|
|
41
|
+
esta vazia, quando a classe esta fora do catalogo, quando uma fase esta fora do ciclo canonico,
|
|
42
|
+
quando o contrato foi trocado sem trocar a versao e quando falta evidencia. Recusa parcial que
|
|
43
|
+
grava metade e pior que recusa inteira.
|
|
44
|
+
|
|
45
|
+
## Racionalizacoes comuns
|
|
46
|
+
|
|
47
|
+
| Desculpa | Realidade |
|
|
48
|
+
|---|---|
|
|
49
|
+
| "Score 5 porque entregou, justificativa depois" | Justificativa vazia e recusada pelo comando. Score sem razao escrita nao ensina nada a thread seguinte. |
|
|
50
|
+
| "Dou 4,5, ficou entre os dois" | O score e inteiro de 0 a 5. Escala com meio ponto vira negociacao, e o que se mede aqui e conducao, nao simpatia. |
|
|
51
|
+
| "A classe de falha dessa foi 'quase deu certo'" | O catalogo e fixo. Classe inventada e recusada, porque classe livre destroi a comparabilidade entre threads. |
|
|
52
|
+
| "Preencho o MASTER log depois, a entrega ja foi" | Uma entrega sem MASTER log nao aconteceu. Fase de aprendizado adiada e fase de aprendizado que nao existe. |
|
|
53
|
+
| "O modo e `#Auto`, entao o score pode ser automatico" | O score e humano em todos os modos. `#Auto` muda quando ele e dado, para a fila de batch, nunca quem da. |
|
|
54
|
+
|
|
55
|
+
## Bandeiras vermelhas
|
|
56
|
+
|
|
57
|
+
- Thread entregue sem `master-log.json`.
|
|
58
|
+
- Score gravado sem nome de quem avaliou.
|
|
59
|
+
- Classe de falha fora do catalogo fixo, ou nenhuma classe numa thread que teve retrabalho.
|
|
60
|
+
- Fila de batch crescendo sem ninguem passar nela.
|
|
61
|
+
|
|
62
|
+
## Verificacao antes de sair da fase
|
|
63
|
+
|
|
64
|
+
POSTMORTEM tipado gravado, MASTER log valido contra `ork.master-log/v1`, score inteiro com
|
|
65
|
+
justificativa e avaliador, e evidencia apontando ledger e POSTMORTEM. Ver `DoD 16`.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-specification
|
|
3
|
+
description: "Fase PLAN (F2): plano com tarefas fatiadas, touch_paths consultaveis, decisoes D1..Dn com domicilio unico e verify executavel por tarefa. Roteia para ork phase run PLAN e ork lease acquire."
|
|
4
|
+
bucket: phases
|
|
5
|
+
roteia: "ork phase run <thread> PLAN | ork lease acquire"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# PLAN, especificacao
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino da fase PLAN. Ela nao escreve o codigo do plano e nao decide sozinha o que e
|
|
14
|
+
tradeoff do humano: ela despacha a fase pelo `ork` e transforma o plano em tarefas com verify.
|
|
15
|
+
**PLAN nao implementa.**
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork phase run <thread> PLAN --prompt "<pedido do builder>"
|
|
21
|
+
ork lease acquire "path:<glob>" --thread <thread> --motivo "PLAN reservou a regiao"
|
|
22
|
+
ork gate approve <thread> premissas --por <quem>
|
|
23
|
+
ork handoff export <thread> --proxima-fase GO
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## O que o PLAN entrega
|
|
27
|
+
|
|
28
|
+
1. **Tarefas fatiadas ate caberem em um commit atomico.** No maximo cinco arquivos por tarefa.
|
|
29
|
+
Tarefa maior que isso volta a ser fatiada antes do GO, nao durante.
|
|
30
|
+
2. **`touch_paths` por tarefa.** O caminho que a tarefa vai tocar e declarado antes, e e ele que
|
|
31
|
+
justifica o lease `path:<glob>`. Regiao nao declarada e colisao esperando acontecer.
|
|
32
|
+
3. **Um verify executavel por tarefa.** Toda tarefa carrega o comando que prova que ela terminou.
|
|
33
|
+
Tarefa sem verify e desejo, nao tarefa.
|
|
34
|
+
4. **Decisoes D1..Dn com domicilio unico.** Cada decisao mora em um lugar so, e depois de decidida
|
|
35
|
+
fica travada. Reabrir e decisao nova com registro, nunca edicao silenciosa da anterior.
|
|
36
|
+
5. **O que fica fora do escopo**, escrito, para que o CHECK possa chamar de scope creep o que
|
|
37
|
+
aparecer alem disso.
|
|
38
|
+
|
|
39
|
+
## O que o nucleo verifica por voce
|
|
40
|
+
|
|
41
|
+
O lease `path:<glob>` do `ork` recusa duas threads na mesma regiao e coloca a segunda em fila com
|
|
42
|
+
posicao; o handoff tipado leva as decisoes fechadas para a fase seguinte sem depender de a sessao
|
|
43
|
+
lembrar delas.
|
|
44
|
+
|
|
45
|
+
## Racionalizacoes comuns
|
|
46
|
+
|
|
47
|
+
| Desculpa | Realidade |
|
|
48
|
+
|---|---|
|
|
49
|
+
| "O plano ja esta na minha cabeca, escrever atrasa" | Plano que nao esta em disco nao sobrevive a rotacao de janela, e a fase seguinte comeca adivinhando. |
|
|
50
|
+
| "Essa tarefa e grande mas coesa, deixa inteira" | Tarefa maior que cinco arquivos volta a ser fatiada. Commit atomico e o que torna reversivel o que der errado. |
|
|
51
|
+
| "Depois eu decido esse tradeoff, no meio do GO" | Tradeoff decidido no meio do GO e decidido sob pressa e sem registro. Decisao tem domicilio unico e trava ao fechar. |
|
|
52
|
+
| "Escrever verify por tarefa e cerimonia" | Tarefa sem verify e desejo. Sem comando, "pronto" vira opiniao do agente e o CHECK nao tem contra o que comparar. |
|
|
53
|
+
| "Nao preciso declarar touch_paths, e obvio onde vou mexer" | O lease sai do `touch_paths`. Regiao nao declarada e o caminho normal de duas threads se atropelarem. |
|
|
54
|
+
|
|
55
|
+
## Bandeiras vermelhas
|
|
56
|
+
|
|
57
|
+
- Tarefa sem comando de verify.
|
|
58
|
+
- Tarefa que toca mais de cinco arquivos.
|
|
59
|
+
- Decisao repetida em dois lugares do plano, com redacoes diferentes.
|
|
60
|
+
- `touch_paths` ausente numa thread que roda em paralelo com outra.
|
|
61
|
+
- PLAN que ja traz o codigo pronto: PLAN nao implementa.
|
|
62
|
+
|
|
63
|
+
## Verificacao antes de sair da fase
|
|
64
|
+
|
|
65
|
+
Tarefas fatiadas com verify, `touch_paths` declarados, decisoes com domicilio unico e travadas,
|
|
66
|
+
fora de escopo escrito, e o gate de premissas resolvido pelo caminho que o modo exige. Ver
|
|
67
|
+
`DoD 19` e `DoD 20`.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ship-release
|
|
3
|
+
description: "Fase SHIP (F5): merge serializado por lease, atualizacao contra a base, push provado por comando e plano de rollback. Roteia para ork ship, que so entrega com push verificado no remoto."
|
|
4
|
+
bucket: phases
|
|
5
|
+
roteia: "ork ship <thread> --para <base>"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# SHIP, entrega
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino da fase SHIP. Ela nao faz merge na mao, nao empurra branch por fora e nao decide
|
|
14
|
+
sozinha que o push pode acontecer: ela chama `ork ship`, que serializa o merge por lease e **prova
|
|
15
|
+
o push comparando o sha local com o que o remoto reporta**.
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork worktree sync <thread> # rebasa quando a base avancou
|
|
21
|
+
ork gate approve <thread> push --por <quem> # autorizacao humana registrada
|
|
22
|
+
ork ship <thread> --para main --dry-run # ensaio: mostra tudo, nao toca em nada
|
|
23
|
+
ork ship <thread> --para main --autorizar-push <quem>
|
|
24
|
+
ork phase list <thread> # a prova: mergeSha, shaRemoto, pushVerificado
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## O que o SHIP entrega
|
|
28
|
+
|
|
29
|
+
1. **Merge serializado.** O lease `main-tree` faz uma thread por vez tocar a arvore de destino; as
|
|
30
|
+
outras entram em fila com posicao, em vez de disputarem o mesmo checkout.
|
|
31
|
+
2. **Atualizacao contra a base mais recente**, com revalidacao completa sempre que a atualizacao
|
|
32
|
+
trouxe mudanca. Um veredito calculado antes da atualizacao descreve um diff que nao existe mais.
|
|
33
|
+
3. **Push provado por comando.** O `ork` compara o sha local com `git ls-remote` no remoto e grava
|
|
34
|
+
`pushVerificado` no ledger. **Push relatado sem sha do remoto conta como push que nao aconteceu.**
|
|
35
|
+
4. **Guarda de contrato.** Nada no diff final muda contrato publico versionado sem decisao de
|
|
36
|
+
classe 2 ratificada, e a guarda roda de novo depois da atualizacao contra a base.
|
|
37
|
+
5. **Plano de rollback**, escrito antes do merge, com o comando exato de reversao.
|
|
38
|
+
|
|
39
|
+
## O que o nucleo verifica por voce
|
|
40
|
+
|
|
41
|
+
A policy `push_direto_na_base` e bloqueante: origem igual ao destino, ou origem igual a branch base
|
|
42
|
+
do projeto, reprova antes de o `ork` tocar no remoto. Arvore de destino ocupada sai como
|
|
43
|
+
`tree.blocked`; lease tomado por outra thread sai como `lease.busy`.
|
|
44
|
+
|
|
45
|
+
## Racionalizacoes comuns
|
|
46
|
+
|
|
47
|
+
| Desculpa | Realidade |
|
|
48
|
+
|---|---|
|
|
49
|
+
| "Ja empurrei, deu certo" | Push provado por comando ou nao aconteceu. O sha do remoto e a evidencia; a sensacao de sucesso nao e. |
|
|
50
|
+
| "Mergeio direto na base, e um commit so" | Push direto na base e policy bloqueante. Entrega sai da branch da thread, sempre. |
|
|
51
|
+
| "A base andou mas o meu diff nao encosta nisso" | Atualize e revalide. Uma atualizacao pode trazer mudanca que toca contrato, e o veredito anterior descrevia outro diff. |
|
|
52
|
+
| "Rollback eu penso se der problema" | Plano de rollback escrito antes do merge, ou o plano vai ser escrito sob pressao, em producao quebrada. |
|
|
53
|
+
| "A fila esta lenta, faco o merge por fora" | Merge fora da fila e a colisao que a fila existe para impedir. Espere a posicao ou libere o lease com registro. |
|
|
54
|
+
| "O modo e `#Classic`, entao push nao precisa de autorizacao" | Precisa: a autorizacao e antecipada e **registrada** no ledger, nao dispensada. Modo afrouxa quando o humano fala, nunca se ele fala. |
|
|
55
|
+
|
|
56
|
+
## Bandeiras vermelhas
|
|
57
|
+
|
|
58
|
+
- Merge sem relatorio de CHECK com veredito PASSOU.
|
|
59
|
+
- Push sem `pushVerificado` no ledger.
|
|
60
|
+
- Guarda de contrato rodada so antes da atualizacao contra a base.
|
|
61
|
+
- Branch de thread ausente: a entrega saindo da propria base.
|
|
62
|
+
- Nenhum plano de rollback no artefato da fase.
|
|
63
|
+
|
|
64
|
+
## Verificacao antes de sair da fase
|
|
65
|
+
|
|
66
|
+
Base atualizada e revalidada, guarda de contrato reexecutada no diff final, merge pela fila do
|
|
67
|
+
lease, push com sha do remoto no ledger e plano de rollback escrito. Ver `DoD 12` a `DoD 15` e
|
|
68
|
+
`SEC 12`.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-reviewer
|
|
3
|
+
description: "Reviewer de codigo do CHECK: percorre os cinco eixos de code-review-axes.md sobre o diff da thread e devolve achados categorizados bloqueador, aviso ou sugestao. Nunca corrige o que encontra."
|
|
4
|
+
bucket: reviewers
|
|
5
|
+
roteia: "ork verify <thread> | references/code-review-axes.md"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Code Reviewer
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino que aplica [code-review-axes.md](../../../references/code-review-axes.md) ao diff
|
|
14
|
+
da thread. **A separacao e a regra central: quem revisa nao corrige.** O achado vira tarefa de GO,
|
|
15
|
+
com commit proprio, ou o revisor passa a revisar o proprio trabalho e a revisao deixa de existir.
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ork worktree audit <thread> # confere a worktree no proprio git
|
|
21
|
+
ork verify <thread> # a suite reexecutada no HEAD real
|
|
22
|
+
git diff <base>...HEAD # o escopo declarado da revisao
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Escopo e conduta
|
|
26
|
+
|
|
27
|
+
1. **O escopo e declarado antes dos achados:** qual diff, qual intervalo, quais arquivos.
|
|
28
|
+
Revisao sem escopo declarado nao e reproduzivel.
|
|
29
|
+
2. **Os cinco eixos sao percorridos, todos.** Eixo sem achado sai com "nenhum" explicito; silencio
|
|
30
|
+
nao e evidencia de que se olhou.
|
|
31
|
+
3. **Todo achado sai com exatamente uma categoria** e o item que ele viola, no formato `REVIEW 7`.
|
|
32
|
+
Achado sem categoria e opiniao.
|
|
33
|
+
4. **Nada de reescrever o codigo do outro no meio da revisao.** O reviewer aponta o lugar, a razao
|
|
34
|
+
e o custo; a mudanca acontece no GO.
|
|
35
|
+
|
|
36
|
+
## O que o nucleo verifica por voce
|
|
37
|
+
|
|
38
|
+
Arquivo ou teste citado que nao existe no diff volta como `claims.failed` em `ork verify`; o
|
|
39
|
+
revisor nao precisa acreditar no resumo do runtime, ele reexecuta.
|
|
40
|
+
|
|
41
|
+
## Racionalizacoes comuns
|
|
42
|
+
|
|
43
|
+
| Desculpa | Realidade |
|
|
44
|
+
|---|---|
|
|
45
|
+
| "Ja que achei, corrijo aqui mesmo" | Quem revisa nao corrige. Revisor que edita passa a revisar o proprio trabalho, e a revisao vira formalidade. |
|
|
46
|
+
| "O diff e grande, reviso so o que parece importante" | Escopo parcial e resultado parcial: declare o que ficou de fora, ou o relatorio afirma mais do que olhou. |
|
|
47
|
+
| "Estilo eu deixo passar, nao e importante" | Estilo e sugestao, exceto quando quebra ferramenta do projeto, e ai ja e correcao. A regra e categorizar, nao ignorar. |
|
|
48
|
+
| "Esse eixo nao se aplica a este diff" | Entao escreva "nenhum" e por que. Eixo em branco e indistinguivel de eixo esquecido. |
|
|
49
|
+
| "Deixo como aviso para nao travar a entrega" | Categoria nao se negocia por pressa. Bloqueador rebaixado porque a entrega estava perto e o defeito de processo que o eixo existe para expor. |
|
|
50
|
+
|
|
51
|
+
## Bandeiras vermelhas
|
|
52
|
+
|
|
53
|
+
- Commit do reviewer dentro da branch que ele esta revisando.
|
|
54
|
+
- Achado sem categoria, ou sem o `REVIEW n` que ele viola.
|
|
55
|
+
- Relatorio sem escopo declarado.
|
|
56
|
+
- Duplicacao apontada sem dizer de onde o codigo deveria vir.
|
|
57
|
+
|
|
58
|
+
## Verificacao antes de sair da revisao
|
|
59
|
+
|
|
60
|
+
Escopo declarado, cinco eixos preenchidos, cada achado com categoria e item, nenhuma edicao feita
|
|
61
|
+
pelo reviewer, e o veredito consolidado entregue ao CHECK. Ver `REVIEW 1` a `REVIEW 12` e `DoD 8`.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-auditor
|
|
3
|
+
description: "Auditor de seguranca do CHECK: percorre security-checklist.md sobre o diff, o historico da branch e os artefatos da thread, com a condicao dura de zero bloqueadores. Nunca imprime o segredo que encontra."
|
|
4
|
+
bucket: reviewers
|
|
5
|
+
roteia: "ork verify <thread> | references/security-checklist.md"
|
|
6
|
+
license: MIT
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Security Auditor
|
|
10
|
+
|
|
11
|
+
## O que esta skill e
|
|
12
|
+
|
|
13
|
+
Um roteador fino que aplica [security-checklist.md](../../../references/security-checklist.md) ao
|
|
14
|
+
escopo da thread. A condicao de passagem e dura: **zero bloqueadores de seguranca, em qualquer modo
|
|
15
|
+
de conducao, inclusive `#Auto`.**
|
|
16
|
+
|
|
17
|
+
## Como rotear
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
git diff <base>...HEAD # a arvore de trabalho
|
|
21
|
+
git log -p <base>..HEAD # o historico atras da branch
|
|
22
|
+
ork phase list <thread> # policies e gates ja registrados
|
|
23
|
+
ork doctor # provider e ambiente da maquina
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Escopo e conduta
|
|
27
|
+
|
|
28
|
+
1. **O escopo e declarado antes dos achados:** quais diretorios, qual intervalo de historico,
|
|
29
|
+
quais artefatos. Auditoria sem escopo declarado nao vale como evidencia.
|
|
30
|
+
2. **Fixture de teste e config de exemplo estao no escopo.** Credencial em teste e credencial
|
|
31
|
+
vazada, com a agravante de ninguem olhar para la; `SEC 1` inclui `.env`, fixtures e exemplos.
|
|
32
|
+
3. **O historico entra no escopo.** Segredo commitado e depois apagado continua vazado; a auditoria
|
|
33
|
+
le o intervalo, nao so a arvore.
|
|
34
|
+
4. **Relatorio nao imprime credencial.** O achado nomeia o padrao, o arquivo e a linha, em forma
|
|
35
|
+
redigida. **Relatorio de vazamento que imprime o segredo e um segundo vazamento.**
|
|
36
|
+
5. **Ausencia e afirmada como resultado**, com o que foi olhado: "nada encontrado" sem escopo e
|
|
37
|
+
diferente de "auditado e limpo", e a diferenca fica escrita.
|
|
38
|
+
|
|
39
|
+
## O que o nucleo verifica por voce
|
|
40
|
+
|
|
41
|
+
A policy `segredo_em_prompt` roda no gate `phase.dispatch` **antes de o prompt ser gravado em
|
|
42
|
+
disco**: prompt reprovado nao chega a existir como arquivo. A policy `provider` bloqueia despacho
|
|
43
|
+
por provider pago sob `subscription-only`, e a `push_direto_na_base` bloqueia entrega sem branch de
|
|
44
|
+
thread. As tres reprovam em qualquer modo.
|
|
45
|
+
|
|
46
|
+
## Racionalizacoes comuns
|
|
47
|
+
|
|
48
|
+
| Desculpa | Realidade |
|
|
49
|
+
|---|---|
|
|
50
|
+
| "A chave esta so no fixture de teste" | Fixture esta no escopo de `SEC 1`. Credencial em teste e credencial vazada, com a agravante de ninguem olhar para la. |
|
|
51
|
+
| "Apaguei o commit que tinha o token" | Apagar da arvore nao apaga do historico. Bloqueador ate a credencial ser rotacionada e a rotacao verificada, nao prometida. |
|
|
52
|
+
| "Colo o trecho no relatorio para o time ver" | Relatorio de vazamento que imprime o segredo e um segundo vazamento. Nomeie o padrao e a linha, redigido. |
|
|
53
|
+
| "Esse bloqueador e teorico, ninguem exploraria" | Zero bloqueadores e condicao dura, nao negociavel por probabilidade estimada no olho. |
|
|
54
|
+
| "A thread e `#Auto`, a auditoria pode ser mais leve" | O modo afrouxa a pausa, nunca a verificacao. A lista e a mesma; o que muda e quem espera pelo veredito. |
|
|
55
|
+
|
|
56
|
+
## Bandeiras vermelhas
|
|
57
|
+
|
|
58
|
+
- Relatorio de seguranca sem escopo e sem intervalo de historico.
|
|
59
|
+
- Segredo real colado dentro do relatorio ou do ledger.
|
|
60
|
+
- Achado sem o `SEC n` que ele viola.
|
|
61
|
+
- "Nada encontrado" sem dizer o que foi olhado.
|
|
62
|
+
- Dependencia nova sem justificativa no PLAN.
|
|
63
|
+
|
|
64
|
+
## Verificacao antes de sair da auditoria
|
|
65
|
+
|
|
66
|
+
Escopo declarado, arvore e historico varridos, artefatos da thread lidos, cada achado com categoria
|
|
67
|
+
e `SEC n`, credencial nenhuma impressa, e zero bloqueadores para o veredito PASSOU. Ver `SEC 15` a
|
|
68
|
+
`SEC 17` e `DoD 9`.
|