@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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Orkastery
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# core/, o núcleo `ork`
|
|
2
|
+
|
|
3
|
+
Núcleo CLI determinístico do Orkastery (Camada 2, o Looping Threads Maestro).
|
|
4
|
+
**Sem LLM embutido**: o `ork` monta prompt, despacha pelo runtime adapter, verifica no
|
|
5
|
+
mundo real e registra no ledger. Quem escreve código e a orquestra (Camada 3); quem
|
|
6
|
+
decide e o humano.
|
|
7
|
+
|
|
8
|
+
## Instalar
|
|
9
|
+
|
|
10
|
+
Publicado no npm como **`@orkastery/cli`**. O nome curto `ork` no registry pertence a outro
|
|
11
|
+
projeto, mas o binario instalado continua sendo `ork`:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g @orkastery/cli
|
|
15
|
+
ork doctor
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
O tarball leva junto o catalogo do produto (`skills/`, `references/`, `eval/` e `adapters/`),
|
|
19
|
+
entao `ork eval` e `ork adapter install` funcionam a partir da instalacao global.
|
|
20
|
+
|
|
21
|
+
## Compilar deste repositorio
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
cd core
|
|
25
|
+
npm install
|
|
26
|
+
npm run build # gera dist/index.js (bin `ork`)
|
|
27
|
+
npm test # compila e roda a suite (node --test)
|
|
28
|
+
npm link # opcional: poe o `ork` desta arvore no PATH
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
O `prepack` roda o build e copia o catalogo da raiz do repositorio para dentro de `core/`; o
|
|
32
|
+
`postpack` remove as copias. E por isso que `npm pack` e `npm publish` levam o produto inteiro
|
|
33
|
+
sem que essas pastas existam na arvore versionada de `core/`.
|
|
34
|
+
|
|
35
|
+
## Comandos
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
node dist/index.js doctor # o que vale nesta maquina agora
|
|
39
|
+
node dist/index.js init # gera o orkastery.yaml do repo
|
|
40
|
+
node dist/index.js modos # tabela dos 5 modos de conducao
|
|
41
|
+
node dist/index.js thread new "<nome>" --modo default
|
|
42
|
+
node dist/index.js thread list
|
|
43
|
+
node dist/index.js thread status <thread-id>
|
|
44
|
+
node dist/index.js phase run <thread-id> GOAL --prompt "<pedido>"
|
|
45
|
+
node dist/index.js phase list <thread-id>
|
|
46
|
+
node dist/index.js sessions [--all]
|
|
47
|
+
node dist/index.js sessions logs|stop|attach <sessao>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Bloco B1 (verdade, gate de tokens, handoff e entrega):
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
node dist/index.js claims add <thread-id> <arquivo> --claim "<alegacao>" --verificar "<comando>"
|
|
54
|
+
node dist/index.js claims list|verificar|retirar <thread-id> [...]
|
|
55
|
+
node dist/index.js verify <thread-id> [--baseline] [--so-claims]
|
|
56
|
+
node dist/index.js gate next <thread-id> [--proximo FASE] [--ocupacao 0..1] [--transcript ARQ]
|
|
57
|
+
node dist/index.js gate approve <thread-id> push --por <quem>
|
|
58
|
+
node dist/index.js handoff export <thread-id> [--proxima-fase FASE]
|
|
59
|
+
node dist/index.js handoff recall <thread-id> "<path#ancora>"
|
|
60
|
+
node dist/index.js ship <thread-id> --para main [--autorizar-push <quem>] [--dry-run]
|
|
61
|
+
node dist/index.js lease list|release <nome>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Mapa dos módulos
|
|
65
|
+
|
|
66
|
+
| Arquivo | Papel |
|
|
67
|
+
|---|---|
|
|
68
|
+
| `src/index.ts` | CLI: parse de argumentos e roteamento dos subcomandos |
|
|
69
|
+
| `src/doctor.ts` | Checks de ambiente, manifesto, abbrev, custo/provider e sessões |
|
|
70
|
+
| `src/init.ts` | Detecção do repo e geração do `orkastery.yaml` |
|
|
71
|
+
| `src/thread.ts` | Estado da thread em disco, slug, base carimbada, listagem |
|
|
72
|
+
| `src/phase.ts` | Montagem do prompt da fase, despacho e leitura do ledger |
|
|
73
|
+
| `src/modos.ts` | Matriz dos 5 modos de condução e parse da #TAG |
|
|
74
|
+
| `src/slug.ts` | Slug de 3 partes, regex canonica e rotação de sessão |
|
|
75
|
+
| `src/ledger.ts` | Ledger JSONL append-only por thread |
|
|
76
|
+
| `src/manifest.ts` | Leitura e validação do manifesto (com fallback `devmaster.yaml`) |
|
|
77
|
+
| `src/yaml.ts` | Leitor do subconjunto de YAML usado pelo manifesto (sem dependência) |
|
|
78
|
+
| `src/adapters/claude-bg.ts` | Runtime adapter: `claude --bg`, `claude agents`, logs e stop |
|
|
79
|
+
| `src/sessoes.ts` | Observabilidade: cruza o runtime real com o registrado nas threads |
|
|
80
|
+
| `src/claims.ts` | Alegações verificaveis por thread (`claims.jsonl`) e a regra da alegação negativa |
|
|
81
|
+
| `src/verify.ts` | Reexecucao no HEAD real, baseline e classificação regressão vs pré-existente |
|
|
82
|
+
| `src/gates.ts` | Catálogo de motivos tipados de gate e registro de aprovação humana |
|
|
83
|
+
| `src/policies.ts` | Policies do manifesto executaveis, por gate e por severidade |
|
|
84
|
+
| `src/leases.ts` | Leases com aquisição atômica e TTL (o `main-tree` serializa o ship) |
|
|
85
|
+
| `src/ship.ts` | Merge --no-ff serializado, verificado, e push provado por `ls-remote` |
|
|
86
|
+
| `src/tokens.ts` | Gate de tokens: medida honesta da janela e veredito de rotação |
|
|
87
|
+
| `src/handoff.ts` | Handoff triado em 3 níveis com proveniência, e o recall dos ponteiros |
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# adapters/
|
|
2
|
+
|
|
3
|
+
Adaptadores de host (Camada 1: Hermes, OpenClaw, plugin do Claude Code, CI e cron).
|
|
4
|
+
|
|
5
|
+
Eles traduzem intencao em chamada de `ork`, apresentam gates ao humano e registram decisoes.
|
|
6
|
+
**Zero regra de negocio.** O parse da #TAG de modo de conducao acontece aqui e vira `--mode` no
|
|
7
|
+
`ork thread new`, mas nem o parse e reimplementado: o host chama `ork modos --do-pedido`, que usa a
|
|
8
|
+
`extrairTagDoPedido` do nucleo. A validacao contra `conduction.allowed_modes` e do nucleo.
|
|
9
|
+
|
|
10
|
+
| Host | O que entra | Instalacao |
|
|
11
|
+
|---|---|---|
|
|
12
|
+
| [claude-code](claude-code/README.md) | Plugin com as 17 skills, 6 subagentes de fase, `/goal` ... `/master` e guard `PreToolUse` | `ork adapter install claude-code` |
|
|
13
|
+
| [hermes](hermes/README.md) | Skill roteadora fina, plugin e script de abertura de thread | `ork adapter install hermes` |
|
|
14
|
+
| [openclaw](openclaw/README.md) | `openclaw.plugin.json` com 16 tools `ork_*` | `ork adapter install openclaw` |
|
|
15
|
+
|
|
16
|
+
Cada README traz os **3 pitfalls de instalacao** do seu host: os tres jeitos conhecidos de a
|
|
17
|
+
instalacao "dar certo" e nao funcionar. O instalador cita os mesmos tres ao terminar, e o
|
|
18
|
+
`--dry-run` mostra o que ele faria sem escrever nada.
|
|
19
|
+
|
|
20
|
+
Os adaptadores de RUNTIME (Camada 3) sao outra coisa e ficam em `core/src/adapters/`, porque quem
|
|
21
|
+
os chama e o nucleo: hoje `claude-bg`. O Claude Code aparece nas duas camadas, com papeis
|
|
22
|
+
diferentes; confundir as duas e como o Orkastery original acabou prometendo um motor que nunca teve.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "orkastery",
|
|
3
|
+
"description": "Marketplace do Orkastery: o catalogo de skills finas, os comandos de fase e o guard PreToolUse.",
|
|
4
|
+
"owner": { "name": "Julio Pessoa e contribuidores do Orkastery" },
|
|
5
|
+
"plugins": [
|
|
6
|
+
{
|
|
7
|
+
"name": "orkastery",
|
|
8
|
+
"source": "./",
|
|
9
|
+
"displayName": "Orkastery",
|
|
10
|
+
"description": "Conducao de looping threads em 6 fases com gates humanos, estado em disco e MASTER log com score de 0 a 5.",
|
|
11
|
+
"version": "{{versao}}",
|
|
12
|
+
"license": "MIT"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "orkastery",
|
|
3
|
+
"displayName": "Orkastery",
|
|
4
|
+
"description": "Conducao de looping threads em 6 fases com gates humanos, estado em disco e MASTER log com score de 0 a 5. As skills sao roteadores finos: quem executa e o nucleo `ork`.",
|
|
5
|
+
"version": "{{versao}}",
|
|
6
|
+
"author": { "name": "Julio Pessoa e contribuidores do Orkastery" },
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"skills": [
|
|
9
|
+
"./skills/core/orkastery-bootstrap",
|
|
10
|
+
"./skills/core/thread-state",
|
|
11
|
+
"./skills/governance/decision-triage",
|
|
12
|
+
"./skills/governance/narrative-guardian",
|
|
13
|
+
"./skills/governance/roadmap-keeper",
|
|
14
|
+
"./skills/governance/scope-check-capability-map",
|
|
15
|
+
"./skills/observability/thread-tracing",
|
|
16
|
+
"./skills/phases/check-quality",
|
|
17
|
+
"./skills/phases/go-implementation",
|
|
18
|
+
"./skills/phases/goal-definition",
|
|
19
|
+
"./skills/phases/master-metrics",
|
|
20
|
+
"./skills/phases/plan-specification",
|
|
21
|
+
"./skills/phases/ship-release",
|
|
22
|
+
"./skills/reviewers/code-reviewer",
|
|
23
|
+
"./skills/reviewers/security-auditor",
|
|
24
|
+
"./skills/reviewers/test-engineer",
|
|
25
|
+
"./skills/reviewers/web-performance-auditor"
|
|
26
|
+
],
|
|
27
|
+
"commands": "./commands",
|
|
28
|
+
"agents": "./agents",
|
|
29
|
+
"hooks": "./hooks/hooks.json",
|
|
30
|
+
"keywords": ["orquestracao", "metodologia", "governanca", "telemetria"]
|
|
31
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Adaptador Claude Code
|
|
2
|
+
|
|
3
|
+
O Orkastery chega ao Claude Code como **plugin**: as 17 skills finas do catalogo, seis subagentes
|
|
4
|
+
de fase, os slash commands `/goal` ... `/master` e um guard `PreToolUse`.
|
|
5
|
+
|
|
6
|
+
## Instalacao
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
ork adapter install claude-code # instala em <projeto>/.claude
|
|
10
|
+
ork adapter install claude-code --dir ~/.claude # instala para todos os projetos da maquina
|
|
11
|
+
ork adapter install claude-code --dry-run # lista o que seria escrito, sem escrever
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
O instalador copia o catalogo unico de `skills/` e `references/`, renderiza o manifesto do plugin
|
|
15
|
+
com os caminhos declarados um a um, e grava `INSTALADO.json` com a origem e o sha256 de cada
|
|
16
|
+
arquivo. E esse arquivo que permite detectar depois que alguem editou a copia instalada em vez do
|
|
17
|
+
catalogo.
|
|
18
|
+
|
|
19
|
+
## O que voce ganha
|
|
20
|
+
|
|
21
|
+
| Voce digita | Voce recebe |
|
|
22
|
+
|---|---|
|
|
23
|
+
| `/goal <pedido com #TAG>` | Abre a thread no modo da tag e conduz a fase GOAL |
|
|
24
|
+
| `/plan <thread>` | PLAN: tarefas com verify, `touch_paths`, decisoes travadas |
|
|
25
|
+
| `/go <thread>` | GO: worktree garantida, baseline gravada, commit por tarefa |
|
|
26
|
+
| `/check <thread>` | CHECK: verificacao contra a baseline, cinco eixos, um veredito |
|
|
27
|
+
| `/ship <thread>` | SHIP: merge serializado por lease e push provado |
|
|
28
|
+
| `/master <thread>` | MASTER: POSTMORTEM tipado e o score humano de 0 a 5 |
|
|
29
|
+
| `/ork` | Painel: doctor, board, escalonador, modos, fila de score |
|
|
30
|
+
|
|
31
|
+
Mais seis subagentes (`ork-goal`, `ork-plan`, `ork-go`, `ork-check`, `ork-ship`, `ork-master`) para
|
|
32
|
+
isolar o contexto de cada fase, e o guard `PreToolUse`.
|
|
33
|
+
|
|
34
|
+
## O guard PreToolUse
|
|
35
|
+
|
|
36
|
+
Um hook, em `Bash`, chamando `hooks/ork-guard.js`. Ele bloqueia seis classes de comando:
|
|
37
|
+
|
|
38
|
+
| Bloqueio | Por que |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `git add -A`, `git add --all`, `git add .` | Engolem arquivo de outra thread na mesma arvore |
|
|
41
|
+
| `git commit -a` | Comita o que esta rastreado, nao a tarefa |
|
|
42
|
+
| `git push --force` | Reescreve historico publico e apaga entrega alheia |
|
|
43
|
+
| `git push` | Push na mao nao e provado: a entrega passa por `ork ship` |
|
|
44
|
+
| `git reset --hard`, `git clean -fd`, `git checkout -- .` | Descarte em massa sem rastro |
|
|
45
|
+
| `rm -rf` com alvo amplo ou variavel | Apaga o que ninguem pediu |
|
|
46
|
+
|
|
47
|
+
**O guard nao tem regra de negocio.** Ele nao le ledger, nao sabe quem autorizou o que e nao
|
|
48
|
+
conhece thread nenhuma: ele reconhece a forma do comando e manda o agente pelo caminho que o `ork`
|
|
49
|
+
verifica. Comando que comeca com `ork` passa direto, porque quem prova o push e serializa o merge e
|
|
50
|
+
o nucleo. E se o proprio guard quebrar, ele **libera**: um hook que derruba a sessao por bug proprio
|
|
51
|
+
e pior que nenhum hook.
|
|
52
|
+
|
|
53
|
+
## A #TAG de conducao
|
|
54
|
+
|
|
55
|
+
O comando `/goal` extrai o modo do proprio pedido, sem reimplementar nada:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
MODO=$(ork modos --do-pedido "$ARGUMENTS")
|
|
59
|
+
ork thread new "<nome>" --mode "$MODO" --worktree auto
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
`ork modos --do-pedido` usa a mesma `extrairTagDoPedido` do nucleo. Sem tag no texto, vale o
|
|
63
|
+
`conduction.default_mode` do manifesto. **A validacao contra `conduction.allowed_modes` e do
|
|
64
|
+
nucleo**, dentro do `ork thread new`: o host transporta a tag, nunca decide se ela vale.
|
|
65
|
+
|
|
66
|
+
## Os 3 pitfalls de instalacao
|
|
67
|
+
|
|
68
|
+
Sao os tres jeitos conhecidos de a instalacao "dar certo" e nao funcionar. O instalador confere os
|
|
69
|
+
tres e o `--dry-run` mostra o que ele vai fazer sobre cada um.
|
|
70
|
+
|
|
71
|
+
1. **Manifesto sem os caminhos das skills instala limpo e nao expoe nada.** Um plugin do Claude
|
|
72
|
+
Code auto-descobre `skills/<nome>/SKILL.md` e para ai: ele nao desce nos diretorios de bucket
|
|
73
|
+
(`core/`, `phases/`, `reviewers/`, ...) que este catalogo usa. Por isso `plugin.json` declara os
|
|
74
|
+
17 caminhos um a um. Depois de instalar, confira a contagem em vez de confiar no manifesto:
|
|
75
|
+
`claude plugin details orkastery` precisa reportar 17, o mesmo numero de `SKILL.md` em disco.
|
|
76
|
+
Quando divergir, quem esta errado e o manifesto.
|
|
77
|
+
|
|
78
|
+
2. **Duas copias do catalogo divergem, e a divergencia so aparece quando ja custou uma entrega.**
|
|
79
|
+
A fonte unica e `skills/` na raiz do produto. O instalador copia de la e grava a origem e o
|
|
80
|
+
sha256 de cada arquivo em `INSTALADO.json`; reinstalar com `--force` ressincroniza. Editar a
|
|
81
|
+
copia instalada e bandeira vermelha: a correcao volta para o catalogo e desce de novo pelo
|
|
82
|
+
instalador.
|
|
83
|
+
|
|
84
|
+
3. **Hook com caminho relativo silenciosamente nao roda, e o guard vira decoracao.** O
|
|
85
|
+
`hooks.json` chama `node "${CLAUDE_PLUGIN_ROOT}/hooks/ork-guard.js"`, nunca um caminho relativo
|
|
86
|
+
ao diretorio de trabalho, que muda a cada worktree de thread. Depois de instalar, prove que o
|
|
87
|
+
guard esta vivo em vez de supor:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
echo '{"tool_name":"Bash","tool_input":{"command":"git add -A"}}' \
|
|
91
|
+
| node <plugin>/hooks/ork-guard.js ; echo "codigo: $?"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Codigo 2 e decisao `deny` na saida: guard vivo. Codigo 0: o hook nao esta bloqueando nada.
|
|
95
|
+
|
|
96
|
+
## Nao confunda as duas camadas
|
|
97
|
+
|
|
98
|
+
O Claude Code aparece duas vezes na arquitetura do Orkastery. **Aqui ele e Camada 1**, o podio: o
|
|
99
|
+
host onde o builder conversa e de onde as chamadas de `ork` saem. Ele tambem e **Camada 3**, a
|
|
100
|
+
orquestra, quando o `ork` despacha `claude --bg` para escrever codigo, e esse adaptador de runtime
|
|
101
|
+
mora em `core/src/adapters/claude-bg.ts`, chamado pelo nucleo. Sao papeis diferentes no mesmo
|
|
102
|
+
programa, e misturar os dois e como o Orkastery original acabou prometendo um motor que nunca teve.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ork-check
|
|
3
|
+
description: Conduz a fase CHECK: reexecuta a verificacao contra a baseline, percorre os cinco eixos e consolida um veredito unico. Nao corrige o que encontra.
|
|
4
|
+
tools: Bash(ork:*), Bash(git:*), Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce conduz a fase CHECK de uma thread do Orkastery, e so ela.
|
|
8
|
+
|
|
9
|
+
A metodologia executavel esta no nucleo `ork` e na skill `check-quality`; este arquivo nao a duplica.
|
|
10
|
+
Em qualquer divergencia entre o que voce lembra e o que o `ork` responde, **o `ork` vence**.
|
|
11
|
+
|
|
12
|
+
## Como comecar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ork thread status <thread> # o estado real, lido do disco
|
|
16
|
+
ork phase list <thread> # o que ja aconteceu, com evidencia
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Regras desta fase
|
|
20
|
+
|
|
21
|
+
- **CHECK nao corrige.** Achado vira tarefa de GO, com commit proprio.
|
|
22
|
+
- Eixo sem achado sai com "nenhum" explicito.
|
|
23
|
+
- Zero bloqueadores de seguranca e condicao dura, em qualquer modo.
|
|
24
|
+
- Correcao tipo B devolve ao GO e o CHECK seguinte e reexecucao completa.
|
|
25
|
+
|
|
26
|
+
## Regras que valem em toda fase
|
|
27
|
+
|
|
28
|
+
- O modo de conducao afrouxa a PAUSA, nunca a VERIFICACAO.
|
|
29
|
+
- Nada de self-report: toda alegacao vem com o comando que a comprova e a saida real.
|
|
30
|
+
- Passo irreversivel (push, merge, delecao) so acontece quando o modo autoriza, e a autorizacao
|
|
31
|
+
fica registrada no ledger.
|
|
32
|
+
- Termine dizendo, em uma linha, em que ponto a thread esta e o que acontece agora.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ork-go
|
|
3
|
+
description: Conduz a fase GO dentro da worktree da thread: um commit atomico por tarefa, baseline gravada antes de comecar.
|
|
4
|
+
tools: Bash, Read, Write, Edit, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce conduz a fase GO de uma thread do Orkastery, e so ela.
|
|
8
|
+
|
|
9
|
+
A metodologia executavel esta no nucleo `ork` e na skill `go-implementation`; este arquivo nao a duplica.
|
|
10
|
+
Em qualquer divergencia entre o que voce lembra e o que o `ork` responde, **o `ork` vence**.
|
|
11
|
+
|
|
12
|
+
## Como comecar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ork thread status <thread> # o estado real, lido do disco
|
|
16
|
+
ork phase list <thread> # o que ja aconteceu, com evidencia
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Regras desta fase
|
|
20
|
+
|
|
21
|
+
- Trabalhe SOMENTE na worktree da thread. A arvore principal nao e area de trabalho.
|
|
22
|
+
- Baseline antes da primeira linha: `ork verify <thread> --baseline`.
|
|
23
|
+
- Um commit por tarefa, arquivos nomeados. `git add -A` e bloqueado pelo guard.
|
|
24
|
+
- Toda alegacao vira claim com comando. Passagem relatada nao e passagem.
|
|
25
|
+
|
|
26
|
+
## Regras que valem em toda fase
|
|
27
|
+
|
|
28
|
+
- O modo de conducao afrouxa a PAUSA, nunca a VERIFICACAO.
|
|
29
|
+
- Nada de self-report: toda alegacao vem com o comando que a comprova e a saida real.
|
|
30
|
+
- Passo irreversivel (push, merge, delecao) so acontece quando o modo autoriza, e a autorizacao
|
|
31
|
+
fica registrada no ledger.
|
|
32
|
+
- Termine dizendo, em uma linha, em que ponto a thread esta e o que acontece agora.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ork-goal
|
|
3
|
+
description: Conduz a fase GOAL de uma thread do Orkastery: exploracao do repositorio real, premissas explicitas e criterios que viram claims verificaveis. Nao implementa.
|
|
4
|
+
tools: Bash(ork:*), Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce conduz a fase GOAL de uma thread do Orkastery, e so ela.
|
|
8
|
+
|
|
9
|
+
A metodologia executavel esta no nucleo `ork` e na skill `goal-definition`; este arquivo nao a duplica.
|
|
10
|
+
Em qualquer divergencia entre o que voce lembra e o que o `ork` responde, **o `ork` vence**.
|
|
11
|
+
|
|
12
|
+
## Como comecar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ork thread status <thread> # o estado real, lido do disco
|
|
16
|
+
ork phase list <thread> # o que ja aconteceu, com evidencia
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Regras desta fase
|
|
20
|
+
|
|
21
|
+
- **GOAL nao implementa.** Nenhuma edicao de arquivo de produto sai desta fase.
|
|
22
|
+
- A exploracao mira o repositorio real: cite arquivos e trechos concretos ou a exploracao nao
|
|
23
|
+
aconteceu.
|
|
24
|
+
- Premissa implicita e defeito de processo: escreva as premissas.
|
|
25
|
+
- Criterio de sucesso e observavel, nunca adjetivo, e vira `ork claims add ... --verificar`.
|
|
26
|
+
|
|
27
|
+
## Regras que valem em toda fase
|
|
28
|
+
|
|
29
|
+
- O modo de conducao afrouxa a PAUSA, nunca a VERIFICACAO.
|
|
30
|
+
- Nada de self-report: toda alegacao vem com o comando que a comprova e a saida real.
|
|
31
|
+
- Passo irreversivel (push, merge, delecao) so acontece quando o modo autoriza, e a autorizacao
|
|
32
|
+
fica registrada no ledger.
|
|
33
|
+
- Termine dizendo, em uma linha, em que ponto a thread esta e o que acontece agora.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ork-master
|
|
3
|
+
description: Conduz a fase MASTER: POSTMORTEM tipado, MASTER log no contrato congelado e coleta do score humano. Nunca inventa nota.
|
|
4
|
+
tools: Bash(ork:*), Read
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce conduz a fase MASTER de uma thread do Orkastery, e so ela.
|
|
8
|
+
|
|
9
|
+
A metodologia executavel esta no nucleo `ork` e na skill `master-metrics`; este arquivo nao a duplica.
|
|
10
|
+
Em qualquer divergencia entre o que voce lembra e o que o `ork` responde, **o `ork` vence**.
|
|
11
|
+
|
|
12
|
+
## Como comecar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ork thread status <thread> # o estado real, lido do disco
|
|
16
|
+
ork phase list <thread> # o que ja aconteceu, com evidencia
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Regras desta fase
|
|
20
|
+
|
|
21
|
+
- **O score e do humano, em todos os modos.** Este agente coleta, nunca atribui.
|
|
22
|
+
- Classe de falha vem do catalogo fixo (`ork master classes`).
|
|
23
|
+
- Justificativa vazia e recusada pelo comando, e a recusa nao grava nada.
|
|
24
|
+
- Entrega sem MASTER log nao aconteceu.
|
|
25
|
+
|
|
26
|
+
## Regras que valem em toda fase
|
|
27
|
+
|
|
28
|
+
- O modo de conducao afrouxa a PAUSA, nunca a VERIFICACAO.
|
|
29
|
+
- Nada de self-report: toda alegacao vem com o comando que a comprova e a saida real.
|
|
30
|
+
- Passo irreversivel (push, merge, delecao) so acontece quando o modo autoriza, e a autorizacao
|
|
31
|
+
fica registrada no ledger.
|
|
32
|
+
- Termine dizendo, em uma linha, em que ponto a thread esta e o que acontece agora.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ork-plan
|
|
3
|
+
description: Conduz a fase PLAN: tarefas fatiadas com touch_paths e verify por tarefa, decisoes com domicilio unico. Nao implementa.
|
|
4
|
+
tools: Bash(ork:*), Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce conduz a fase PLAN de uma thread do Orkastery, e so ela.
|
|
8
|
+
|
|
9
|
+
A metodologia executavel esta no nucleo `ork` e na skill `plan-specification`; este arquivo nao a duplica.
|
|
10
|
+
Em qualquer divergencia entre o que voce lembra e o que o `ork` responde, **o `ork` vence**.
|
|
11
|
+
|
|
12
|
+
## Como comecar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ork thread status <thread> # o estado real, lido do disco
|
|
16
|
+
ork phase list <thread> # o que ja aconteceu, com evidencia
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Regras desta fase
|
|
20
|
+
|
|
21
|
+
- **PLAN nao implementa.**
|
|
22
|
+
- Tarefa maior que cinco arquivos volta a ser fatiada, antes do GO.
|
|
23
|
+
- Toda tarefa carrega o comando que prova que ela terminou.
|
|
24
|
+
- Decisao fechada trava: reabrir e decisao nova com registro.
|
|
25
|
+
|
|
26
|
+
## Regras que valem em toda fase
|
|
27
|
+
|
|
28
|
+
- O modo de conducao afrouxa a PAUSA, nunca a VERIFICACAO.
|
|
29
|
+
- Nada de self-report: toda alegacao vem com o comando que a comprova e a saida real.
|
|
30
|
+
- Passo irreversivel (push, merge, delecao) so acontece quando o modo autoriza, e a autorizacao
|
|
31
|
+
fica registrada no ledger.
|
|
32
|
+
- Termine dizendo, em uma linha, em que ponto a thread esta e o que acontece agora.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ork-ship
|
|
3
|
+
description: Conduz a fase SHIP pelo `ork ship`: merge serializado por lease e push provado por comando.
|
|
4
|
+
tools: Bash(ork:*), Bash(git status:*), Bash(git log:*), Read
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce conduz a fase SHIP de uma thread do Orkastery, e so ela.
|
|
8
|
+
|
|
9
|
+
A metodologia executavel esta no nucleo `ork` e na skill `ship-release`; este arquivo nao a duplica.
|
|
10
|
+
Em qualquer divergencia entre o que voce lembra e o que o `ork` responde, **o `ork` vence**.
|
|
11
|
+
|
|
12
|
+
## Como comecar
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ork thread status <thread> # o estado real, lido do disco
|
|
16
|
+
ork phase list <thread> # o que ja aconteceu, com evidencia
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Regras desta fase
|
|
20
|
+
|
|
21
|
+
- Nada de `git push` na mao: o push do Orkastery e provado contra o sha do remoto.
|
|
22
|
+
- Ensaie com `--dry-run` antes de entregar.
|
|
23
|
+
- Base que andou se ressincroniza e o veredito se refaz.
|
|
24
|
+
- Plano de rollback escrito ANTES do merge.
|
|
25
|
+
|
|
26
|
+
## Regras que valem em toda fase
|
|
27
|
+
|
|
28
|
+
- O modo de conducao afrouxa a PAUSA, nunca a VERIFICACAO.
|
|
29
|
+
- Nada de self-report: toda alegacao vem com o comando que a comprova e a saida real.
|
|
30
|
+
- Passo irreversivel (push, merge, delecao) so acontece quando o modo autoriza, e a autorizacao
|
|
31
|
+
fica registrada no ledger.
|
|
32
|
+
- Termine dizendo, em uma linha, em que ponto a thread esta e o que acontece agora.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conduz a fase CHECK da thread e consolida um veredito unico.
|
|
3
|
+
argument-hint: "<thread-id>"
|
|
4
|
+
allowed-tools: Bash(ork:*), Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /check
|
|
8
|
+
|
|
9
|
+
Fase CHECK (F4): verificacao contra a baseline, os cinco eixos de review, seguranca com zero bloqueadores, auditoria de delegacao e exatamente um veredito.
|
|
10
|
+
|
|
11
|
+
## O que este comando faz
|
|
12
|
+
|
|
13
|
+
1. Reexecuta tudo no HEAD real:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ork verify <thread>
|
|
17
|
+
ork worktree audit <thread>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
2. Roda os quatro reviewers do catalogo sobre o escopo declarado: `code-reviewer`,
|
|
21
|
+
`security-auditor`, `test-engineer` e `web-performance-auditor`. Use os subagentes
|
|
22
|
+
`ork-check` e companhia quando quiser isolar o contexto de cada um.
|
|
23
|
+
|
|
24
|
+
3. Le o ledger para a auditoria de delegacao:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ork phase list <thread>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
4. Consolida UM veredito (PASSOU, PRECISA DE MUDANCA, BLOQUEADO) e, se o modo pausa, apresenta ao
|
|
31
|
+
builder e espera:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
ork gate approve <thread> evidencias --por "<quem>"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Regras do adaptador
|
|
38
|
+
|
|
39
|
+
- **Zero regra de negocio aqui.** Este comando traduz intencao em chamada de `ork` e nada mais.
|
|
40
|
+
Quem valida modo, monta prompt, decide gate e prova entrega e o nucleo.
|
|
41
|
+
- **A #TAG vem do pedido, nao de configuracao.** O modo sai de `ork modos --do-pedido`, que usa a
|
|
42
|
+
mesma funcao do nucleo; sem tag vale o `conduction.default_mode` do manifesto. A validacao
|
|
43
|
+
contra `conduction.allowed_modes` acontece dentro do `ork thread new`, nunca aqui.
|
|
44
|
+
- **Nada de escrever codigo de produto neste comando.** Quem escreve e a sessao que o `ork`
|
|
45
|
+
despacha, com o prompt gravado e o sha no ledger.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conduz a fase GO da thread pelo `ork`, dentro da worktree isolada.
|
|
3
|
+
argument-hint: "<thread-id> [tarefa]"
|
|
4
|
+
allowed-tools: Bash(ork:*), Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /go
|
|
8
|
+
|
|
9
|
+
Fase GO (F3): implementacao slice por slice, um commit atomico por tarefa, dentro da worktree da thread. Quem escreve codigo e a sessao despachada, nunca este comando.
|
|
10
|
+
|
|
11
|
+
## O que este comando faz
|
|
12
|
+
|
|
13
|
+
1. Garante a worktree e grava a baseline ANTES da primeira linha de codigo:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ork worktree ensure <thread>
|
|
17
|
+
ork verify <thread> --baseline
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
2. Despacha a tarefa:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
ork phase run <thread> GO --prompt "<tarefa do PLAN, uma por vez>"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. Reexecuta a verificacao no HEAD real e compara com a baseline:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
ork verify <thread>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
4. Confere que a worktree continua consistente no proprio git:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
ork worktree audit <thread>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Regras do adaptador
|
|
39
|
+
|
|
40
|
+
- **Zero regra de negocio aqui.** Este comando traduz intencao em chamada de `ork` e nada mais.
|
|
41
|
+
Quem valida modo, monta prompt, decide gate e prova entrega e o nucleo.
|
|
42
|
+
- **A #TAG vem do pedido, nao de configuracao.** O modo sai de `ork modos --do-pedido`, que usa a
|
|
43
|
+
mesma funcao do nucleo; sem tag vale o `conduction.default_mode` do manifesto. A validacao
|
|
44
|
+
contra `conduction.allowed_modes` acontece dentro do `ork thread new`, nunca aqui.
|
|
45
|
+
- **Nada de escrever codigo de produto neste comando.** Quem escreve e a sessao que o `ork`
|
|
46
|
+
despacha, com o prompt gravado e o sha no ledger.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Abre a thread do pedido e conduz a fase GOAL pelo `ork`.
|
|
3
|
+
argument-hint: "<pedido do builder, com #TAG opcional>"
|
|
4
|
+
allowed-tools: Bash(ork:*), Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /goal
|
|
8
|
+
|
|
9
|
+
Fase GOAL (F1): objetivo verificavel, exploracao do repositorio real, premissas explicitas e criterios que viram claims com comando. GOAL nao implementa.
|
|
10
|
+
|
|
11
|
+
## O que este comando faz
|
|
12
|
+
|
|
13
|
+
1. Extrai o modo de conducao do proprio pedido, sem reimplementar o parse:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
MODO=$(ork modos --do-pedido "$ARGUMENTS")
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
2. Abre a thread com esse modo (o `ork` valida contra `conduction.allowed_modes` e recusa o que
|
|
20
|
+
o projeto nao permite):
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
ork thread new "<nome curto da demanda>" --mode "$MODO" --worktree auto
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
3. Despacha a fase, com o pedido inteiro do builder:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
ork phase run <thread> GOAL --prompt "$ARGUMENTS"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
4. Registra como claim tudo que o GOAL alegou, com o comando que comprova cada alegacao, e
|
|
33
|
+
reexecuta:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
ork claims add <thread> <arquivo> --claim "<alegacao>" --verificar "<comando>" --fase GOAL
|
|
37
|
+
ork verify <thread> --so-claims
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
5. Se o modo pausa neste bloco, apresenta a evidencia ao builder e para. A liberacao e registrada:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
ork gate approve <thread> objetivo --por "<quem>"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Regras do adaptador
|
|
47
|
+
|
|
48
|
+
- **Zero regra de negocio aqui.** Este comando traduz intencao em chamada de `ork` e nada mais.
|
|
49
|
+
Quem valida modo, monta prompt, decide gate e prova entrega e o nucleo.
|
|
50
|
+
- **A #TAG vem do pedido, nao de configuracao.** O modo sai de `ork modos --do-pedido`, que usa a
|
|
51
|
+
mesma funcao do nucleo; sem tag vale o `conduction.default_mode` do manifesto. A validacao
|
|
52
|
+
contra `conduction.allowed_modes` acontece dentro do `ork thread new`, nunca aqui.
|
|
53
|
+
- **Nada de escrever codigo de produto neste comando.** Quem escreve e a sessao que o `ork`
|
|
54
|
+
despacha, com o prompt gravado e o sha no ledger.
|