ai-execution-protocol 0.3.0 → 0.4.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/AGENTS.md +12 -1
- package/README.md +54 -2
- package/behavior/audit-checklist.yaml +55 -0
- package/behavior/contract.yaml +156 -0
- package/dataset/README.md +38 -0
- package/dataset/raw-examples.md +36 -0
- package/dataset/train.jsonl +3 -0
- package/dataset/validation.jsonl +2 -0
- package/dist/minimal/AGENTS.md +8 -1
- package/dist/minimal/README.md +3 -0
- package/dist/minimal/behavior/audit-checklist.yaml +15 -0
- package/dist/minimal/behavior/contract.yaml +29 -0
- package/dist/minimal/canonical-state.yaml +1 -1
- package/dist/minimal/capabilities/registry.yaml +48 -0
- package/dist/minimal/context-map.yaml +2 -1
- package/dist/minimal/ide-rules/instruction-block.md +23 -0
- package/dist/minimal/memory/INDEX.yaml +1 -1
- package/dist/minimal/protocol/README.yaml +11 -1
- package/dist/minimal/protocol/capability-gate.yaml +56 -0
- package/dist/minimal/protocol/capability-router.yaml +123 -0
- package/dist/minimal/protocol/context-rules.yaml +2 -1
- package/dist/minimal/protocol/fast-path.yaml +8 -1
- package/dist/minimal/protocol/intelligence-router.yaml +63 -0
- package/dist/minimal/protocol/route-packs.yaml +49 -1
- package/dist/minimal/protocol/router.yaml +35 -1
- package/docs/00-visao-geral.md +41 -0
- package/docs/01-modelo-de-execucao.md +25 -0
- package/docs/02-niveis-de-risco.md +62 -0
- package/docs/03-mapeamento-antes-de-alterar.md +48 -0
- package/docs/04-janela-de-contexto.md +56 -0
- package/docs/05-validacao-e-entrega.md +48 -0
- package/docs/06-memoria-e-continuidade.md +27 -0
- package/docs/07-legibilidade-para-ia.md +47 -0
- package/docs/08-posicionamento.md +48 -0
- package/docs/09-governanca-de-mudancas.md +48 -0
- package/docs/10-economia-de-prompt.md +79 -0
- package/docs/11-retencao-de-resultados.md +26 -0
- package/docs/12-instalacao-em-outro-projeto.md +254 -0
- package/docs/13-uso-em-ides.md +137 -0
- package/docs/14-publicacao.md +128 -0
- package/docs/15-contexto-persistente.md +204 -0
- package/docs/16-release-e-atualizacao.md +146 -0
- package/docs/17-documentacao-atomica.md +117 -0
- package/docs/18-memoria-adaptativa.md +107 -0
- package/docs/19-orcamento-de-contexto.md +63 -0
- package/docs/20-validacao-seletiva.md +46 -0
- package/docs/21-roteamento-de-capacidades.md +121 -0
- package/docs/22-roadmap-v1.md +163 -0
- package/docs/23-contrato-comportamental.md +116 -0
- package/docs/24-gate-de-capacidades-e-inteligencia.md +109 -0
- package/docs/README.md +58 -0
- package/eval/README.md +27 -0
- package/eval/rubric.yaml +57 -0
- package/eval/sample-result.yaml +28 -0
- package/install-manifest.json +38 -2
- package/package.json +9 -2
- package/protocol/README.yaml +11 -1
- package/protocol/capability-gate.yaml +56 -0
- package/protocol/capability-router.yaml +123 -0
- package/protocol/context-rules.yaml +2 -1
- package/protocol/fast-path.yaml +8 -1
- package/protocol/intelligence-router.yaml +63 -0
- package/protocol/route-packs.yaml +49 -1
- package/protocol/router.yaml +35 -1
- package/roadmap/v1.yaml +139 -0
- package/schema/README.md +26 -0
- package/schema/behavior-contract.schema.json +31 -0
- package/schema/capability-registry.schema.json +51 -0
- package/schema/evaluated-response.schema.json +27 -0
- package/schema/evaluation-result.schema.json +32 -0
- package/schema/memory-entry.schema.json +55 -0
- package/schema/protocol-rule.schema.json +16 -0
- package/schema/protocol-rule.schema.yaml +28 -0
- package/schema/test-case.schema.json +44 -0
- package/schema/test-case.schema.yaml +37 -0
- package/scripts/README.md +79 -1
- package/scripts/build_dist.py +3 -0
- package/scripts/npm_install_protocol.js +60 -1
- package/scripts/verify_install.py +25 -0
- package/templates/minimal/AGENTS.md +8 -1
- package/templates/minimal/behavior/audit-checklist.yaml +15 -0
- package/templates/minimal/behavior/contract.yaml +29 -0
- package/templates/minimal/canonical-state.yaml +1 -1
- package/templates/minimal/capabilities/registry.yaml +48 -0
- package/templates/minimal/context-map.yaml +2 -1
- package/templates/minimal/ide-rules/instruction-block.md +23 -0
- package/templates/minimal/memory/INDEX.yaml +1 -1
- package/templates/minimal/protocol/capability-gate.yaml +10 -0
- package/templates/minimal/protocol/intelligence-router.yaml +10 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# 17 - Documentacao Atomica
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
Documentacao boa para IA nao e apenas curta.
|
|
6
|
+
|
|
7
|
+
Ela deve ser organizada por assunto rastreavel:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
um arquivo = um dominio, fluxo, decisao, componente ou integracao especifica
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
O objetivo e permitir que a IA encontre rapidamente o documento certo e depois
|
|
14
|
+
use `rg` para localizar o ponto exato no codigo.
|
|
15
|
+
|
|
16
|
+
## Fluxo recomendado
|
|
17
|
+
|
|
18
|
+
1. Identificar termos do pedido do usuario.
|
|
19
|
+
2. Procurar dominio ou alias em `context-map.yaml`.
|
|
20
|
+
3. Abrir o `.md` atomico do assunto.
|
|
21
|
+
4. Usar `rg` para procurar simbolos, termos e aliases no codigo.
|
|
22
|
+
5. Ler o trecho especifico primeiro.
|
|
23
|
+
6. Expandir para imports, tipos, callers ou arquivo inteiro quando necessario.
|
|
24
|
+
7. Validar o comportamento no codigo atual.
|
|
25
|
+
|
|
26
|
+
Exemplo:
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
rg -n "login|validateUser|AuthService" docs protocol src
|
|
30
|
+
rg -n "JWT|createToken|token" docs protocol src
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Bons nomes
|
|
34
|
+
|
|
35
|
+
Use nomes que a IA provavelmente buscaria:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
docs/auth-login.md
|
|
39
|
+
docs/auth-jwt.md
|
|
40
|
+
docs/auth-permissions.md
|
|
41
|
+
docs/payments-checkout.md
|
|
42
|
+
docs/payments-webhook.md
|
|
43
|
+
docs/frontend-buttons.md
|
|
44
|
+
docs/frontend-forms.md
|
|
45
|
+
docs/database-users.md
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Evite:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
docs/geral.md
|
|
52
|
+
docs/notas.md
|
|
53
|
+
docs/parte-1.md
|
|
54
|
+
docs/tudo.md
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Quando criar ou dividir
|
|
58
|
+
|
|
59
|
+
Crie ou divida documentacao quando:
|
|
60
|
+
|
|
61
|
+
- um arquivo mistura assuntos independentes;
|
|
62
|
+
- o arquivo se aproxima do limite de 400 linhas;
|
|
63
|
+
- uma busca com `rg` encontra muitas secoes sem relacao;
|
|
64
|
+
- uma decisao, fluxo ou componente precisa ser encontrado isoladamente;
|
|
65
|
+
- um assunto transversal precisa de doc principal com links para docs
|
|
66
|
+
especificas.
|
|
67
|
+
|
|
68
|
+
Nao divida quando:
|
|
69
|
+
|
|
70
|
+
- o detalhe nao tem valor isolado;
|
|
71
|
+
- o arquivo novo teria apenas uma nota temporaria;
|
|
72
|
+
- o assunto ja existe em outro `.md` e pode ser atualizado;
|
|
73
|
+
- a divisao criaria duplicidade.
|
|
74
|
+
|
|
75
|
+
## Falhas e mitigacoes
|
|
76
|
+
|
|
77
|
+
Fragmentacao demais:
|
|
78
|
+
|
|
79
|
+
- nao crie arquivo para microdetalhe sem assunto proprio;
|
|
80
|
+
- una ou vincule docs sobre o mesmo tema.
|
|
81
|
+
|
|
82
|
+
Nome ruim:
|
|
83
|
+
|
|
84
|
+
- inclua dominio, fluxo, componente ou simbolo no nome;
|
|
85
|
+
- mantenha titulo e nome do arquivo alinhados.
|
|
86
|
+
|
|
87
|
+
Assunto duplicado:
|
|
88
|
+
|
|
89
|
+
- rode busca antes de criar doc nova;
|
|
90
|
+
- atualize a doc existente quando o assunto ja estiver coberto.
|
|
91
|
+
|
|
92
|
+
Doc desatualizada:
|
|
93
|
+
|
|
94
|
+
- use doc para localizar;
|
|
95
|
+
- use codigo verificado para decidir comportamento;
|
|
96
|
+
- registre risco de doc obsoleta quando encontrar divergencia.
|
|
97
|
+
|
|
98
|
+
Busca por termo errado:
|
|
99
|
+
|
|
100
|
+
- use aliases e sinonimos;
|
|
101
|
+
- pesquise em docs e codigo;
|
|
102
|
+
- procure por nomes de dominio, fluxo e simbolos.
|
|
103
|
+
|
|
104
|
+
Trecho insuficiente:
|
|
105
|
+
|
|
106
|
+
- expanda para imports, tipos, callers, dependencias ou arquivo inteiro;
|
|
107
|
+
- nao edite comportamento baseado em trecho isolado quando houver efeito
|
|
108
|
+
lateral.
|
|
109
|
+
|
|
110
|
+
## Regra pratica
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
Doc atomica localiza.
|
|
114
|
+
rg encontra.
|
|
115
|
+
Trecho explica.
|
|
116
|
+
Codigo verificado decide.
|
|
117
|
+
```
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# 18 - Memoria adaptativa
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
A memoria adaptativa permite que o protocolo evolua com o projeto e com
|
|
6
|
+
preferencias duraveis do usuario sem depender do historico completo do chat.
|
|
7
|
+
|
|
8
|
+
Ela nao tenta prever o usuario com perfeicao. Ela recupera evidencias pequenas
|
|
9
|
+
para escolher melhores padroes e reduzir perguntas repetidas.
|
|
10
|
+
|
|
11
|
+
## Ordem de autoridade
|
|
12
|
+
|
|
13
|
+
Use esta ordem quando houver conflito:
|
|
14
|
+
|
|
15
|
+
1. Pedido atual do usuario.
|
|
16
|
+
2. Arquivos atuais verificados.
|
|
17
|
+
3. Decisoes ativas do projeto.
|
|
18
|
+
4. Preferencias explicitas.
|
|
19
|
+
5. Padroes inferidos com evidencia.
|
|
20
|
+
6. Resumos e historico.
|
|
21
|
+
|
|
22
|
+
Memoria orienta. O pedido atual autoriza. O codigo verificado define o
|
|
23
|
+
comportamento existente.
|
|
24
|
+
|
|
25
|
+
## Tipos
|
|
26
|
+
|
|
27
|
+
- Preferencia explicita: pode ficar ativa imediatamente.
|
|
28
|
+
- Decisao de projeto: fica ativa quando confirmada e limitada ao projeto.
|
|
29
|
+
- Estado de projeto: exige evidencia em arquivo atual.
|
|
30
|
+
- Preferencia inferida: fica candidata ate repeticao ou confirmacao.
|
|
31
|
+
- Padrao de trabalho: fica candidato ate repeticao.
|
|
32
|
+
- Resumo de conversa: e opcional e nunca vira contexto obrigatorio.
|
|
33
|
+
|
|
34
|
+
## Ciclo de atualizacao
|
|
35
|
+
|
|
36
|
+
Depois de uma tarefa, a IA verifica se surgiu um fato duravel:
|
|
37
|
+
|
|
38
|
+
1. Extrair o candidato.
|
|
39
|
+
2. Bloquear conteudo sensivel.
|
|
40
|
+
3. Procurar assunto e escopo existentes.
|
|
41
|
+
4. Comparar valor, fonte e evidencia.
|
|
42
|
+
5. Manter, promover, substituir ou descartar.
|
|
43
|
+
6. Atualizar `memory/INDEX.yaml`.
|
|
44
|
+
7. Validar duplicidade, conflito e tamanho.
|
|
45
|
+
|
|
46
|
+
Se nada duravel mudou, o resultado correto e `unchanged`. Escrever em toda
|
|
47
|
+
tarefa criaria ruido e aumentaria custo.
|
|
48
|
+
|
|
49
|
+
## Seguranca
|
|
50
|
+
|
|
51
|
+
Nunca armazene:
|
|
52
|
+
|
|
53
|
+
- senhas, tokens, chaves ou segredos;
|
|
54
|
+
- dados de cliente;
|
|
55
|
+
- logs reais sem reducao e remocao de dados sensiveis;
|
|
56
|
+
- conversa bruta desnecessaria;
|
|
57
|
+
- inferencias pessoais sem utilidade tecnica clara.
|
|
58
|
+
|
|
59
|
+
Memoria nunca pode ampliar escopo, autorizar acao sensivel, reduzir um risco
|
|
60
|
+
conhecido ou substituir confirmacao de nivel critico.
|
|
61
|
+
|
|
62
|
+
## Estrutura
|
|
63
|
+
|
|
64
|
+
`memory/INDEX.yaml` e o ponto de entrada. Leia somente os assuntos que combinam
|
|
65
|
+
com a tarefa.
|
|
66
|
+
|
|
67
|
+
Use:
|
|
68
|
+
|
|
69
|
+
- `memory/user/` para preferencias duraveis;
|
|
70
|
+
- `memory/projects/` para estado e decisoes com escopo;
|
|
71
|
+
- `memory/patterns/` para estrategias repetidas;
|
|
72
|
+
- `candidate-memory/` para itens ainda nao autoritativos;
|
|
73
|
+
- `memory/archive/` apenas para auditoria ou comparacao historica.
|
|
74
|
+
|
|
75
|
+
## Automacao
|
|
76
|
+
|
|
77
|
+
O script `scripts/memory_manager.py` faz inclusao, consulta e validacao:
|
|
78
|
+
|
|
79
|
+
```powershell
|
|
80
|
+
python scripts/memory_manager.py --root . validate
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Preferencia explicita:
|
|
84
|
+
|
|
85
|
+
```powershell
|
|
86
|
+
python scripts/memory_manager.py --root . upsert `
|
|
87
|
+
--id preferencia_validacao_001 `
|
|
88
|
+
--area user `
|
|
89
|
+
--type explicit_preference `
|
|
90
|
+
--subject workflow_preferences `
|
|
91
|
+
--value "Preferir validacao focada antes da suite completa." `
|
|
92
|
+
--scope all_projects `
|
|
93
|
+
--explicit
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Estado de projeto exige evidencia:
|
|
97
|
+
|
|
98
|
+
```powershell
|
|
99
|
+
python scripts/memory_manager.py --root . upsert `
|
|
100
|
+
--id estado_projeto_001 `
|
|
101
|
+
--area projects `
|
|
102
|
+
--type project_state `
|
|
103
|
+
--subject current_state `
|
|
104
|
+
--value "A CLI usa o manifesto unico de instalacao." `
|
|
105
|
+
--scope ai-execution-protocol `
|
|
106
|
+
--evidence install-manifest.json
|
|
107
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# 19 - Orcamento de contexto
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
O orcamento de contexto limita leitura inicial, nao a investigacao necessaria.
|
|
6
|
+
Ele reduz arquivos e tokens irrelevantes sem trocar correcao ou seguranca por
|
|
7
|
+
economia.
|
|
8
|
+
|
|
9
|
+
## Limites iniciais
|
|
10
|
+
|
|
11
|
+
O protocolo usa limites proporcionais:
|
|
12
|
+
|
|
13
|
+
- nivel 0: cerca de 300 tokens e ate 2 arquivos;
|
|
14
|
+
- nivel 1: cerca de 1.000 tokens e ate 5 arquivos;
|
|
15
|
+
- nivel 2: cerca de 4.000 tokens e ate 12 arquivos;
|
|
16
|
+
- nivel 3: cerca de 6.000 tokens e expansao adaptativa.
|
|
17
|
+
|
|
18
|
+
Esses valores orientam a primeira recuperacao. Eles nao impedem expansao quando
|
|
19
|
+
falta uma dependencia, o escopo esta incerto, o trecho e insuficiente ou a
|
|
20
|
+
validacao ainda nao pode ser planejada.
|
|
21
|
+
|
|
22
|
+
## Fluxo economico
|
|
23
|
+
|
|
24
|
+
1. Classifique a intencao e o risco.
|
|
25
|
+
2. Escolha a rota.
|
|
26
|
+
3. Leia o pack compacto da rota.
|
|
27
|
+
4. Consulte o indice de memoria por assunto.
|
|
28
|
+
5. Busque simbolos com `rg`.
|
|
29
|
+
6. Leia o trecho relevante.
|
|
30
|
+
7. Expanda somente para resolver uma lacuna concreta.
|
|
31
|
+
8. Pare quando alvo, risco e validacao estiverem claros.
|
|
32
|
+
|
|
33
|
+
## Pacote de contexto
|
|
34
|
+
|
|
35
|
+
`scripts/context_package.py` gera um pacote auditavel:
|
|
36
|
+
|
|
37
|
+
```powershell
|
|
38
|
+
python scripts/context_package.py `
|
|
39
|
+
--objective "Atualizar a regra de memoria." `
|
|
40
|
+
--route memory_update `
|
|
41
|
+
--risk 2 `
|
|
42
|
+
--term memory `
|
|
43
|
+
--candidate protocol/adaptive-memory.yaml
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Se um limite maior que o padrao for necessario, registre o motivo:
|
|
47
|
+
|
|
48
|
+
```powershell
|
|
49
|
+
python scripts/context_package.py `
|
|
50
|
+
--objective "Revisar conflito entre memoria e estado atual." `
|
|
51
|
+
--route memory_conflict_or_replacement `
|
|
52
|
+
--risk 2 `
|
|
53
|
+
--budget 5000 `
|
|
54
|
+
--expansion-reason "Conflito exige verificar duas fontes atuais."
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Medicao
|
|
58
|
+
|
|
59
|
+
O objetivo de ate 90% de economia se refere a contexto desnecessario. A meta
|
|
60
|
+
deve ser medida em tarefas repetidas e comparada com uma leitura ampla.
|
|
61
|
+
|
|
62
|
+
Nao declare economia real apenas porque existe um limite configurado. Registre
|
|
63
|
+
tokens estimados, arquivos incluidos, arquivos excluidos e motivo de expansao.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 20 - Validacao seletiva
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
Validacao seletiva executa o menor conjunto de verificacoes que prova a
|
|
6
|
+
mudanca. Ela evita rodar a suite completa em ajustes locais sem reduzir
|
|
7
|
+
evidencia em alteracoes compartilhadas ou releases.
|
|
8
|
+
|
|
9
|
+
## Selecao
|
|
10
|
+
|
|
11
|
+
- Documentacao: links, busca textual e schema quando houver estrutura.
|
|
12
|
+
- Regra de protocolo: schema, espelho e testes focados.
|
|
13
|
+
- Parser ou avaliador: testes adversariais, framework e benchmark.
|
|
14
|
+
- Instalador ou pacote: instalacao, verificacao e dry-run do pacote.
|
|
15
|
+
- Contrato compartilhado: framework tests e health check.
|
|
16
|
+
- Release: suite completa, builds e verificacao dos pacotes.
|
|
17
|
+
|
|
18
|
+
## Uso
|
|
19
|
+
|
|
20
|
+
Detecte as verificacoes a partir do diff atual:
|
|
21
|
+
|
|
22
|
+
```powershell
|
|
23
|
+
python scripts/selective_validation.py
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Informe arquivos diretamente:
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
python scripts/selective_validation.py `
|
|
30
|
+
--file protocol/adaptive-memory.yaml `
|
|
31
|
+
--file scripts/memory_manager.py
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Para release:
|
|
35
|
+
|
|
36
|
+
```powershell
|
|
37
|
+
python scripts/selective_validation.py --release
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Regras
|
|
41
|
+
|
|
42
|
+
Sempre aumente a validacao quando a mudanca altera contrato compartilhado,
|
|
43
|
+
instalacao, seguranca, dados, avaliacao ou varios modulos.
|
|
44
|
+
|
|
45
|
+
Nunca declare uma verificacao que nao foi executada. Registre o que ficou
|
|
46
|
+
pendente e o risco residual.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# 21 - Roteamento de capacidades
|
|
2
|
+
|
|
3
|
+
## Objetivo
|
|
4
|
+
|
|
5
|
+
O roteamento de capacidades impede que a IA carregue todas as skills, consulte
|
|
6
|
+
todos os MCPs ou use ferramentas externas sem necessidade.
|
|
7
|
+
|
|
8
|
+
O objetivo e selecionar o menor conjunto que preserve qualidade, seguranca e
|
|
9
|
+
validacao.
|
|
10
|
+
|
|
11
|
+
## O que e uma capacidade
|
|
12
|
+
|
|
13
|
+
Uma capacidade pode ser:
|
|
14
|
+
|
|
15
|
+
- raciocinio interno;
|
|
16
|
+
- ferramenta local;
|
|
17
|
+
- skill especializada;
|
|
18
|
+
- servidor MCP;
|
|
19
|
+
- servico remoto de escrita ou publicacao.
|
|
20
|
+
|
|
21
|
+
Disponibilidade nao significa autorizacao. A capacidade deve combinar com o
|
|
22
|
+
resultado, a operacao e o escopo pedido pelo usuario.
|
|
23
|
+
|
|
24
|
+
## Fluxo
|
|
25
|
+
|
|
26
|
+
1. Classifique a tarefa e o risco.
|
|
27
|
+
2. Defina os resultados e operacoes obrigatorios.
|
|
28
|
+
3. Consulte metadados das capacidades conhecidas.
|
|
29
|
+
4. Prefira contexto e ferramentas locais.
|
|
30
|
+
5. Selecione o menor conjunto que cubra todos os resultados.
|
|
31
|
+
6. Carregue apenas a skill selecionada.
|
|
32
|
+
7. Conecte apenas o MCP associado a uma lacuna real.
|
|
33
|
+
8. Confirme escrita sensivel, publicacao ou acao destrutiva.
|
|
34
|
+
9. Pare a descoberta quando a cobertura estiver completa.
|
|
35
|
+
|
|
36
|
+
## Relacao com risco
|
|
37
|
+
|
|
38
|
+
Risco maior nao significa mais ferramentas.
|
|
39
|
+
|
|
40
|
+
- Nivel 0: nenhuma capacidade externa por padrao.
|
|
41
|
+
- Nivel 1: uma capacidade focada quando necessaria.
|
|
42
|
+
- Nivel 2: ate tres capacidades especializadas.
|
|
43
|
+
- Nivel 3: limite pequeno, menor privilegio e confirmacao obrigatoria para
|
|
44
|
+
efeitos sensiveis.
|
|
45
|
+
|
|
46
|
+
Se uma tarefa exigir mais capacidades para manter qualidade, a IA pode expandir
|
|
47
|
+
o limite, mas deve registrar `required_quality_coverage` como motivo.
|
|
48
|
+
|
|
49
|
+
## Economia sem perda de qualidade
|
|
50
|
+
|
|
51
|
+
Nao carregue todas as skills para escolher depois. Use primeiro metadados
|
|
52
|
+
curtos: tags, operacoes, custo, efeito lateral e disponibilidade.
|
|
53
|
+
|
|
54
|
+
Nao remova uma capacidade obrigatoria apenas para respeitar o orcamento. Quando
|
|
55
|
+
a cobertura ficar incompleta, bloqueie a execucao ou entregue somente uma parte
|
|
56
|
+
independente e segura.
|
|
57
|
+
|
|
58
|
+
## Permissoes
|
|
59
|
+
|
|
60
|
+
Permissoes sao separadas:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
ler != escrever != publicar != destruir
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Uma skill de orientacao nao autoriza um MCP a escrever. Um MCP autenticado nao
|
|
67
|
+
autoriza publicacao. Memoria de preferencia tambem nao autoriza efeito externo.
|
|
68
|
+
|
|
69
|
+
## Registro
|
|
70
|
+
|
|
71
|
+
`capabilities/registry.yaml` guarda metadados pequenos. O agente deve verificar
|
|
72
|
+
a disponibilidade real no runtime antes de selecionar entradas marcadas como
|
|
73
|
+
`runtime`.
|
|
74
|
+
|
|
75
|
+
Projetos podem adicionar capacidades especificas sem alterar o protocolo:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
- id: github_read
|
|
79
|
+
type: mcp
|
|
80
|
+
available: runtime
|
|
81
|
+
tags: [repository, pull_request]
|
|
82
|
+
operations: [read]
|
|
83
|
+
cost: {tokens: medium, latency: medium}
|
|
84
|
+
side_effect: remote_read
|
|
85
|
+
confirmation: never
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Auditoria
|
|
89
|
+
|
|
90
|
+
Use o seletor:
|
|
91
|
+
|
|
92
|
+
```powershell
|
|
93
|
+
python scripts/capability_router.py `
|
|
94
|
+
--risk 2 `
|
|
95
|
+
--operation read `
|
|
96
|
+
--tag external_context `
|
|
97
|
+
--available targeted_mcp
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Para publicacao confirmada:
|
|
101
|
+
|
|
102
|
+
```powershell
|
|
103
|
+
python scripts/capability_router.py `
|
|
104
|
+
--risk 3 `
|
|
105
|
+
--operation publish `
|
|
106
|
+
--tag publish `
|
|
107
|
+
--available publish_service `
|
|
108
|
+
--confirmed
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
O resultado informa capacidades selecionadas, cobertura, limite, confirmacao e
|
|
112
|
+
motivo de bloqueio ou expansao.
|
|
113
|
+
|
|
114
|
+
## Limite da plataforma
|
|
115
|
+
|
|
116
|
+
O protocolo governa selecao, leitura de instrucoes, invocacao e escopo. Ele nao
|
|
117
|
+
desinstala nem oculta fisicamente uma skill ou MCP que o host ja expos.
|
|
118
|
+
|
|
119
|
+
Mesmo visivel para a IA, uma capacidade deve permanecer sem uso ate ser
|
|
120
|
+
selecionada. Revogar permissao real ou desconectar um servidor continua sendo
|
|
121
|
+
responsabilidade da plataforma.
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Roadmap Ate v1.0
|
|
2
|
+
|
|
3
|
+
Este documento guarda o caminho de maturidade do AI Execution Protocol ate a
|
|
4
|
+
v1.0.
|
|
5
|
+
|
|
6
|
+
Ele nao e uma promessa publica. Ele serve como trilho interno para cada
|
|
7
|
+
atualizacao fechar uma lacuna real antes da divulgacao ampla.
|
|
8
|
+
|
|
9
|
+
## Estado Atual
|
|
10
|
+
|
|
11
|
+
A serie v0.3.x ja e um MVP operacional interno, com pacote, protocolo, memoria,
|
|
12
|
+
orcamento de contexto, validacao seletiva e roteamento de capacidades.
|
|
13
|
+
|
|
14
|
+
Ainda deve ser comunicada como experimental ate a v1.0.
|
|
15
|
+
|
|
16
|
+
## Regra Principal
|
|
17
|
+
|
|
18
|
+
Cada release antes da v1.0 deve melhorar pelo menos um destes pontos:
|
|
19
|
+
|
|
20
|
+
- economia medida;
|
|
21
|
+
- reducao de erro;
|
|
22
|
+
- seguranca operacional;
|
|
23
|
+
- clareza de instalacao;
|
|
24
|
+
- exemplos reais;
|
|
25
|
+
- validacao automatica;
|
|
26
|
+
- portabilidade para outros agentes.
|
|
27
|
+
|
|
28
|
+
Se uma mudanca nao melhora nenhum desses pontos, ela deve ser adiada ou
|
|
29
|
+
tratada como ajuste pequeno.
|
|
30
|
+
|
|
31
|
+
## Criterios Para v1.0
|
|
32
|
+
|
|
33
|
+
A v1.0 so deve sair quando o framework provar tres coisas:
|
|
34
|
+
|
|
35
|
+
1. A IA le menos contexto desnecessario.
|
|
36
|
+
2. A IA erra menos por seguir risco, mapa e validacao.
|
|
37
|
+
3. A IA usa skills, MCPs e ferramentas apenas quando elas agregam valor.
|
|
38
|
+
|
|
39
|
+
Tambem precisa ter:
|
|
40
|
+
|
|
41
|
+
- nucleo do protocolo estavel;
|
|
42
|
+
- exemplos antes/depois;
|
|
43
|
+
- benchmarks reproduziveis;
|
|
44
|
+
- instalacao simples;
|
|
45
|
+
- guia de uso em Codex;
|
|
46
|
+
- limites claros para outros agentes;
|
|
47
|
+
- validacao de pacote e documentacao.
|
|
48
|
+
|
|
49
|
+
## Caminho De Versoes
|
|
50
|
+
|
|
51
|
+
### v0.3.x
|
|
52
|
+
|
|
53
|
+
Endurecer a base atual:
|
|
54
|
+
|
|
55
|
+
- memoria adaptativa;
|
|
56
|
+
- orcamento de contexto;
|
|
57
|
+
- validacao seletiva;
|
|
58
|
+
- roteamento de capacidades;
|
|
59
|
+
- instalacao e verificacao.
|
|
60
|
+
|
|
61
|
+
Saida esperada: a base atual deve ficar consistente, testada e documentada.
|
|
62
|
+
|
|
63
|
+
### v0.4.0
|
|
64
|
+
|
|
65
|
+
Melhorar benchmarks e relatorios de economia:
|
|
66
|
+
|
|
67
|
+
- arquivos evitados;
|
|
68
|
+
- tokens estimados;
|
|
69
|
+
- ferramentas evitadas;
|
|
70
|
+
- validacoes evitadas;
|
|
71
|
+
- qualidade preservada.
|
|
72
|
+
|
|
73
|
+
Saida esperada: economia demonstrada com numeros simples.
|
|
74
|
+
|
|
75
|
+
### v0.5.0
|
|
76
|
+
|
|
77
|
+
Adicionar casos reais ou realistas:
|
|
78
|
+
|
|
79
|
+
- tarefa simples;
|
|
80
|
+
- bug medio;
|
|
81
|
+
- atualizacao de docs;
|
|
82
|
+
- tarefa com memoria;
|
|
83
|
+
- tarefa com ferramenta ou MCP;
|
|
84
|
+
- tarefa de release.
|
|
85
|
+
|
|
86
|
+
Saida esperada: exemplos suficientes para uma pessoa entender o valor pratico.
|
|
87
|
+
|
|
88
|
+
### v0.6.0
|
|
89
|
+
|
|
90
|
+
Documentar portabilidade alem do Codex:
|
|
91
|
+
|
|
92
|
+
- fluxo principal para Codex;
|
|
93
|
+
- adaptacao para Cursor;
|
|
94
|
+
- adaptacao para Claude ou agente generico;
|
|
95
|
+
- limites de MCPs e skills por ambiente.
|
|
96
|
+
|
|
97
|
+
Saida esperada: separar o que e regra geral do que e especifico do Codex.
|
|
98
|
+
|
|
99
|
+
### v0.7.0
|
|
100
|
+
|
|
101
|
+
Endurecer schemas, validadores e health checks:
|
|
102
|
+
|
|
103
|
+
- cobertura de schema;
|
|
104
|
+
- consistencia do manifesto de instalacao;
|
|
105
|
+
- verificacao de pacote;
|
|
106
|
+
- validacao de docs, protocolo e templates.
|
|
107
|
+
|
|
108
|
+
Saida esperada: erros estruturais devem ser detectados antes de publicar.
|
|
109
|
+
|
|
110
|
+
### v0.8.0
|
|
111
|
+
|
|
112
|
+
Finalizar documentacao de adocao:
|
|
113
|
+
|
|
114
|
+
- getting started;
|
|
115
|
+
- instalar, atualizar e verificar;
|
|
116
|
+
- adaptar em projeto existente;
|
|
117
|
+
- troubleshooting;
|
|
118
|
+
- contribuicao.
|
|
119
|
+
|
|
120
|
+
Saida esperada: alguem novo consegue instalar e entender o fluxo sem depender
|
|
121
|
+
de explicacao no chat.
|
|
122
|
+
|
|
123
|
+
### v0.9.0
|
|
124
|
+
|
|
125
|
+
Release candidate:
|
|
126
|
+
|
|
127
|
+
- congelar contratos principais;
|
|
128
|
+
- marcar partes experimentais;
|
|
129
|
+
- rodar validacao completa;
|
|
130
|
+
- preparar notas da v1.0.
|
|
131
|
+
|
|
132
|
+
Saida esperada: nenhum bloqueio conhecido para v1.0.
|
|
133
|
+
|
|
134
|
+
### v1.0.0
|
|
135
|
+
|
|
136
|
+
Release publica estavel:
|
|
137
|
+
|
|
138
|
+
- nucleo estavel;
|
|
139
|
+
- evidencia reproduzivel;
|
|
140
|
+
- documentacao clara;
|
|
141
|
+
- instalacao segura;
|
|
142
|
+
- posicionamento publico direto.
|
|
143
|
+
|
|
144
|
+
Saida esperada: divulgar como protocolo estavel, sem prometer garantia absoluta
|
|
145
|
+
de seguranca.
|
|
146
|
+
|
|
147
|
+
## Como Usar Em Cada Atualizacao
|
|
148
|
+
|
|
149
|
+
Antes de planejar uma nova versao:
|
|
150
|
+
|
|
151
|
+
1. Leia `roadmap/v1.yaml`.
|
|
152
|
+
2. Escolha a menor lacuna de maturidade ainda aberta.
|
|
153
|
+
3. Atualize protocolo, docs, scripts e testes se o comportamento mudar.
|
|
154
|
+
4. Registre o que foi fechado e o que ficou pendente.
|
|
155
|
+
5. So publique se instalacao, validacao e pacote estiverem coerentes.
|
|
156
|
+
|
|
157
|
+
Depois de publicar:
|
|
158
|
+
|
|
159
|
+
1. Atualize o status do roadmap.
|
|
160
|
+
2. Atualize changelog e release notes.
|
|
161
|
+
3. Confirme se README, docs e comandos continuam corretos.
|
|
162
|
+
4. Mantenha o projeto como experimental ate todos os criterios de v1.0 serem
|
|
163
|
+
cumpridos.
|