@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.
Files changed (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -0
  3. package/adapters/README.md +22 -0
  4. package/adapters/claude-code/.claude-plugin/marketplace.json +15 -0
  5. package/adapters/claude-code/.claude-plugin/plugin.json +31 -0
  6. package/adapters/claude-code/README.md +102 -0
  7. package/adapters/claude-code/agents/ork-check.md +32 -0
  8. package/adapters/claude-code/agents/ork-go.md +32 -0
  9. package/adapters/claude-code/agents/ork-goal.md +33 -0
  10. package/adapters/claude-code/agents/ork-master.md +32 -0
  11. package/adapters/claude-code/agents/ork-plan.md +32 -0
  12. package/adapters/claude-code/agents/ork-ship.md +32 -0
  13. package/adapters/claude-code/commands/check.md +45 -0
  14. package/adapters/claude-code/commands/go.md +46 -0
  15. package/adapters/claude-code/commands/goal.md +54 -0
  16. package/adapters/claude-code/commands/master.md +42 -0
  17. package/adapters/claude-code/commands/ork.md +37 -0
  18. package/adapters/claude-code/commands/plan.md +47 -0
  19. package/adapters/claude-code/commands/ship.md +45 -0
  20. package/adapters/claude-code/hooks/hooks.json +17 -0
  21. package/adapters/claude-code/hooks/ork-guard.js +130 -0
  22. package/adapters/hermes/README.md +45 -0
  23. package/adapters/hermes/bin/ork-abrir-thread.sh +25 -0
  24. package/adapters/hermes/hermes.plugin.json +21 -0
  25. package/adapters/hermes/skills/orkastery-devmaster/SKILL.md +116 -0
  26. package/adapters/openclaw/README.md +63 -0
  27. package/adapters/openclaw/bin/ork-abrir-thread.sh +24 -0
  28. package/adapters/openclaw/openclaw.plugin.json +138 -0
  29. package/dist/adapters/claude-bg.js +308 -0
  30. package/dist/auditoria.js +848 -0
  31. package/dist/auditrun.js +976 -0
  32. package/dist/board.js +314 -0
  33. package/dist/canarios.js +271 -0
  34. package/dist/catalogo.js +124 -0
  35. package/dist/ciclos.js +156 -0
  36. package/dist/claims.js +226 -0
  37. package/dist/divida.js +374 -0
  38. package/dist/doctor.js +246 -0
  39. package/dist/evalrunner.js +458 -0
  40. package/dist/fix.js +450 -0
  41. package/dist/gates.js +92 -0
  42. package/dist/handoff.js +521 -0
  43. package/dist/hosts.js +331 -0
  44. package/dist/index.js +1910 -0
  45. package/dist/init.js +231 -0
  46. package/dist/leases.js +508 -0
  47. package/dist/ledger.js +138 -0
  48. package/dist/manifest.js +255 -0
  49. package/dist/master.js +453 -0
  50. package/dist/memoria.js +773 -0
  51. package/dist/modos.js +220 -0
  52. package/dist/orkmind.js +487 -0
  53. package/dist/orquestracao.js +559 -0
  54. package/dist/phase.js +572 -0
  55. package/dist/policies.js +176 -0
  56. package/dist/prompts.js +406 -0
  57. package/dist/ratelimit.js +179 -0
  58. package/dist/recall.js +252 -0
  59. package/dist/retry.js +917 -0
  60. package/dist/sandbox.js +94 -0
  61. package/dist/sessoes.js +104 -0
  62. package/dist/ship.js +551 -0
  63. package/dist/slug.js +100 -0
  64. package/dist/superficie.js +1347 -0
  65. package/dist/thread.js +333 -0
  66. package/dist/tokens.js +228 -0
  67. package/dist/types.js +20 -0
  68. package/dist/util.js +156 -0
  69. package/dist/verify.js +262 -0
  70. package/dist/worktree.js +576 -0
  71. package/dist/yaml.js +112 -0
  72. package/eval/README.md +85 -0
  73. package/eval/casos/check-quality.json +103 -0
  74. package/eval/casos/code-reviewer.json +102 -0
  75. package/eval/casos/decision-triage.json +103 -0
  76. package/eval/casos/go-implementation.json +103 -0
  77. package/eval/casos/goal-definition.json +103 -0
  78. package/eval/casos/master-metrics.json +103 -0
  79. package/eval/casos/narrative-guardian.json +163 -0
  80. package/eval/casos/orkastery-bootstrap.json +102 -0
  81. package/eval/casos/plan-specification.json +102 -0
  82. package/eval/casos/roadmap-keeper.json +103 -0
  83. package/eval/casos/scope-check-capability-map.json +83 -0
  84. package/eval/casos/security-auditor.json +102 -0
  85. package/eval/casos/ship-release.json +122 -0
  86. package/eval/casos/test-engineer.json +122 -0
  87. package/eval/casos/thread-state.json +82 -0
  88. package/eval/casos/thread-tracing.json +83 -0
  89. package/eval/casos/web-performance-auditor.json +102 -0
  90. package/eval/fixtures/b0-slug-e-modos/caso.json +56 -0
  91. package/eval/fixtures/b2-master-log/caso.json +91 -0
  92. package/eval/fixtures/fx-concurrency/caso.json +15 -0
  93. package/eval/fixtures/fx-hallucination/caso.json +12 -0
  94. package/eval/fixtures/fx-happy/caso.json +16 -0
  95. package/eval/fixtures/fx-schema-drift/caso.json +15 -0
  96. package/eval/fixtures/fx-stale-base/caso.json +12 -0
  97. package/eval/fixtures/fx-wiki-destroy/caso.json +16 -0
  98. package/eval/fixtures/superficie-de-rede/README.md +22 -0
  99. package/eval/fixtures/superficie-de-rede/api-express.js +30 -0
  100. package/eval/fixtures/superficie-de-rede/api_fastapi.py +17 -0
  101. package/eval/fixtures/superficie-de-rede/api_gin.go +18 -0
  102. package/package.json +56 -0
  103. package/references/README.md +25 -0
  104. package/references/code-review-axes.md +82 -0
  105. package/references/definition-of-done.md +74 -0
  106. package/references/performance-checklist.md +53 -0
  107. package/references/security-checklist.md +101 -0
  108. package/references/testing-patterns.md +51 -0
  109. package/skills/README.md +43 -0
  110. package/skills/core/orkastery-bootstrap/SKILL.md +89 -0
  111. package/skills/core/thread-state/SKILL.md +86 -0
  112. package/skills/governance/decision-triage/SKILL.md +65 -0
  113. package/skills/governance/narrative-guardian/SKILL.md +66 -0
  114. package/skills/governance/roadmap-keeper/SKILL.md +60 -0
  115. package/skills/governance/scope-check-capability-map/SKILL.md +61 -0
  116. package/skills/observability/thread-tracing/SKILL.md +63 -0
  117. package/skills/phases/check-quality/SKILL.md +87 -0
  118. package/skills/phases/go-implementation/SKILL.md +70 -0
  119. package/skills/phases/goal-definition/SKILL.md +69 -0
  120. package/skills/phases/master-metrics/SKILL.md +65 -0
  121. package/skills/phases/plan-specification/SKILL.md +67 -0
  122. package/skills/phases/ship-release/SKILL.md +68 -0
  123. package/skills/reviewers/code-reviewer/SKILL.md +61 -0
  124. package/skills/reviewers/security-auditor/SKILL.md +68 -0
  125. package/skills/reviewers/test-engineer/SKILL.md +66 -0
  126. 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`.