ai-execution-protocol 0.3.1 → 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.
Files changed (89) hide show
  1. package/AGENTS.md +5 -1
  2. package/README.md +41 -2
  3. package/behavior/audit-checklist.yaml +55 -0
  4. package/behavior/contract.yaml +156 -0
  5. package/dataset/README.md +38 -0
  6. package/dataset/raw-examples.md +36 -0
  7. package/dataset/train.jsonl +3 -0
  8. package/dataset/validation.jsonl +2 -0
  9. package/dist/minimal/AGENTS.md +4 -1
  10. package/dist/minimal/README.md +3 -0
  11. package/dist/minimal/behavior/audit-checklist.yaml +15 -0
  12. package/dist/minimal/behavior/contract.yaml +29 -0
  13. package/dist/minimal/canonical-state.yaml +1 -1
  14. package/dist/minimal/capabilities/registry.yaml +1 -1
  15. package/dist/minimal/context-map.yaml +1 -1
  16. package/dist/minimal/ide-rules/instruction-block.md +23 -0
  17. package/dist/minimal/memory/INDEX.yaml +1 -1
  18. package/dist/minimal/protocol/README.yaml +9 -1
  19. package/dist/minimal/protocol/capability-gate.yaml +56 -0
  20. package/dist/minimal/protocol/capability-router.yaml +1 -1
  21. package/dist/minimal/protocol/context-rules.yaml +2 -1
  22. package/dist/minimal/protocol/fast-path.yaml +6 -1
  23. package/dist/minimal/protocol/intelligence-router.yaml +63 -0
  24. package/dist/minimal/protocol/route-packs.yaml +38 -1
  25. package/dist/minimal/protocol/router.yaml +28 -1
  26. package/docs/00-visao-geral.md +41 -0
  27. package/docs/01-modelo-de-execucao.md +25 -0
  28. package/docs/02-niveis-de-risco.md +62 -0
  29. package/docs/03-mapeamento-antes-de-alterar.md +48 -0
  30. package/docs/04-janela-de-contexto.md +56 -0
  31. package/docs/05-validacao-e-entrega.md +48 -0
  32. package/docs/06-memoria-e-continuidade.md +27 -0
  33. package/docs/07-legibilidade-para-ia.md +47 -0
  34. package/docs/08-posicionamento.md +48 -0
  35. package/docs/09-governanca-de-mudancas.md +48 -0
  36. package/docs/10-economia-de-prompt.md +79 -0
  37. package/docs/11-retencao-de-resultados.md +26 -0
  38. package/docs/12-instalacao-em-outro-projeto.md +254 -0
  39. package/docs/13-uso-em-ides.md +137 -0
  40. package/docs/14-publicacao.md +128 -0
  41. package/docs/15-contexto-persistente.md +204 -0
  42. package/docs/16-release-e-atualizacao.md +146 -0
  43. package/docs/17-documentacao-atomica.md +117 -0
  44. package/docs/18-memoria-adaptativa.md +107 -0
  45. package/docs/19-orcamento-de-contexto.md +63 -0
  46. package/docs/20-validacao-seletiva.md +46 -0
  47. package/docs/21-roteamento-de-capacidades.md +121 -0
  48. package/docs/22-roadmap-v1.md +163 -0
  49. package/docs/23-contrato-comportamental.md +116 -0
  50. package/docs/24-gate-de-capacidades-e-inteligencia.md +109 -0
  51. package/docs/README.md +58 -0
  52. package/eval/README.md +27 -0
  53. package/eval/rubric.yaml +57 -0
  54. package/eval/sample-result.yaml +28 -0
  55. package/install-manifest.json +27 -2
  56. package/package.json +9 -2
  57. package/protocol/README.yaml +9 -1
  58. package/protocol/capability-gate.yaml +56 -0
  59. package/protocol/capability-router.yaml +1 -1
  60. package/protocol/context-rules.yaml +2 -1
  61. package/protocol/fast-path.yaml +6 -1
  62. package/protocol/intelligence-router.yaml +63 -0
  63. package/protocol/route-packs.yaml +38 -1
  64. package/protocol/router.yaml +28 -1
  65. package/roadmap/v1.yaml +139 -0
  66. package/schema/README.md +26 -0
  67. package/schema/behavior-contract.schema.json +31 -0
  68. package/schema/capability-registry.schema.json +51 -0
  69. package/schema/evaluated-response.schema.json +27 -0
  70. package/schema/evaluation-result.schema.json +32 -0
  71. package/schema/memory-entry.schema.json +55 -0
  72. package/schema/protocol-rule.schema.json +16 -0
  73. package/schema/protocol-rule.schema.yaml +28 -0
  74. package/schema/test-case.schema.json +44 -0
  75. package/schema/test-case.schema.yaml +37 -0
  76. package/scripts/README.md +46 -0
  77. package/scripts/build_dist.py +3 -0
  78. package/scripts/npm_install_protocol.js +60 -1
  79. package/scripts/verify_install.py +25 -0
  80. package/templates/minimal/AGENTS.md +4 -1
  81. package/templates/minimal/behavior/audit-checklist.yaml +15 -0
  82. package/templates/minimal/behavior/contract.yaml +29 -0
  83. package/templates/minimal/canonical-state.yaml +1 -1
  84. package/templates/minimal/capabilities/registry.yaml +1 -1
  85. package/templates/minimal/context-map.yaml +1 -1
  86. package/templates/minimal/ide-rules/instruction-block.md +23 -0
  87. package/templates/minimal/memory/INDEX.yaml +1 -1
  88. package/templates/minimal/protocol/capability-gate.yaml +10 -0
  89. package/templates/minimal/protocol/intelligence-router.yaml +10 -0
@@ -0,0 +1,204 @@
1
+ # 15 - Contexto Persistente
2
+
3
+ ## Ideia central
4
+
5
+ A conversa e uma interface temporaria. A memoria real do projeto deve ficar em
6
+ artefatos pequenos, navegaveis e verificaveis.
7
+
8
+ O objetivo nao e carregar mais contexto. O objetivo e encontrar o menor contexto
9
+ correto para a tarefa atual.
10
+
11
+ Meta economica: reduzir contexto desnecessario em ate 90% quando for seguro.
12
+ Essa meta nao autoriza cortar contexto que seja necessario para entender risco,
13
+ dependencias, imports, tipos, efeitos laterais ou validacao.
14
+
15
+ ## Camada segura atual
16
+
17
+ Use:
18
+
19
+ - `canonical-state.yaml`: estado atual resumido do projeto.
20
+ - `context-map.yaml`: mapa pequeno de dominios, aliases e arquivos candidatos.
21
+ - `decisions/`: decisoes importantes com status.
22
+ - `protocol/persistent-context.yaml`: regras de recuperacao progressiva.
23
+ - `memory/INDEX.yaml`: indice de assuntos persistentes.
24
+ - `protocol/adaptive-memory.yaml`: promocao, conflito e seguranca da memoria.
25
+ - `protocol/context-budget.yaml`: limite inicial e expansao justificada.
26
+ - `protocol/capability-router.yaml`: selecao minima de skills, MCPs e
27
+ ferramentas quando a tarefa exigir uma capacidade externa.
28
+ - `behavior/contract.yaml`: contrato observavel para medir se a IA seguiu o
29
+ framework sem exagerar tarefa simples nem subcontrolar tarefa critica.
30
+
31
+ Os scripts `memory_manager.py` e `context_package.py` automatizam a manutencao
32
+ minima e a compilacao auditavel. Eles nao transformam memoria em autoridade.
33
+
34
+ ## Memoria autonoma
35
+
36
+ A meta de longo prazo e gerar a memoria a partir do proprio projeto:
37
+
38
+ - codigo-fonte;
39
+ - estrutura de diretorios;
40
+ - dependencias;
41
+ - testes;
42
+ - configuracoes;
43
+ - documentacao existente;
44
+ - decisoes registradas;
45
+ - alteracoes em Git.
46
+
47
+ Isso reduz manutencao manual e evita mapas desatualizados. Porem, so deve virar
48
+ regra obrigatoria quando houver indexador real, saida reproduzivel, deteccao de
49
+ obsolescencia e validacao em projetos reais.
50
+
51
+ ## Aliases
52
+
53
+ Aliases sao atalhos de navegacao.
54
+
55
+ Eles ajudam a IA a encontrar dominio, documento, simbolo ou arquivo candidato,
56
+ mas nao provam comportamento atual.
57
+
58
+ Exemplo:
59
+
60
+ ```yaml
61
+ aliases:
62
+ - auth
63
+ - login
64
+ - token
65
+ ```
66
+
67
+ Esses aliases podem apontar a IA para arquivos e docs de autenticacao. Mesmo
68
+ assim, antes de alterar codigo, a IA deve verificar o arquivo ou trecho atual.
69
+
70
+ ## Recuperacao progressiva
71
+
72
+ Fluxo recomendado:
73
+
74
+ 1. Identificar objetivo.
75
+ 2. Procurar dominio ou alias em `context-map.yaml`.
76
+ 3. Ler `canonical-state.yaml` quando a verdade atual do projeto importar.
77
+ 4. Ler decisoes ativas do dominio.
78
+ 5. Abrir apenas a documentacao minima do dominio.
79
+ 6. Buscar simbolos ou arquivos candidatos.
80
+ 7. Ler trecho relevante primeiro.
81
+ 8. Abrir dependencias diretas quando necessario.
82
+ 9. Abrir arquivo inteiro quando o trecho nao for suficiente.
83
+
84
+ ## Validadores
85
+
86
+ O Context Validator verifica se o contexto carregado basta para agir:
87
+
88
+ - objetivo entendido;
89
+ - decisoes ativas consultadas quando relevantes;
90
+ - dependencias diretas carregadas quando necessarias;
91
+ - risco de dominio adjacente avaliado;
92
+ - conflito entre docs e arquivos verificados identificado.
93
+
94
+ O Action Validator verifica se a intencao do usuario permite acao:
95
+
96
+ - alvo identificado;
97
+ - resultado esperado claro;
98
+ - impacto mapeado quando o risco exigir;
99
+ - plano de validacao existente.
100
+
101
+ Regra principal:
102
+
103
+ ```text
104
+ A IA pode expandir contexto.
105
+ A IA nao pode expandir escopo.
106
+ ```
107
+
108
+ Se a intencao for ambigua, a IA deve perguntar antes de editar.
109
+
110
+ ## Confianca
111
+
112
+ Use confianca como gatilho de recuperacao:
113
+
114
+ - alta: executar com contexto atual e validar;
115
+ - media: expandir um nivel de recuperacao;
116
+ - baixa: pedir esclarecimento.
117
+
118
+ A confianca nao precisa ser um numero exato no MVP. Ela pode ser uma decisao
119
+ operacional baseada em evidencias carregadas, lacunas conhecidas e risco.
120
+
121
+ ## Leitura por trecho
122
+
123
+ Ler por trecho e economico quando o simbolo e claro.
124
+
125
+ Mas nao e seguro editar baseado apenas em trecho isolado quando imports, tipos,
126
+ estado compartilhado, efeitos laterais ou chamadas externas podem mudar o
127
+ comportamento.
128
+
129
+ Regra pratica:
130
+
131
+ ```text
132
+ Trecho primeiro. Arquivo inteiro quando o trecho nao basta.
133
+ ```
134
+
135
+ ## Quando expandir contexto
136
+
137
+ Expanda um nivel quando:
138
+
139
+ - imports ou tipos mudam o significado do trecho;
140
+ - estado compartilhado ou efeito lateral pode alterar o comportamento;
141
+ - dependencia direta participa da validacao;
142
+ - dominio adjacente pode ser afetado;
143
+ - risco sobe para nivel 2 ou 3;
144
+ - o alvo da alteracao ainda nao esta claro;
145
+ - a validacao nao pode ser planejada com o contexto atual.
146
+
147
+ Pare de expandir quando:
148
+
149
+ - o objetivo esta claro;
150
+ - o dominio e os arquivos candidatos estao mapeados;
151
+ - a intencao do usuario nao esta ambigua;
152
+ - o plano de validacao esta claro;
153
+ - nao ha risco conhecido exigindo mais contexto.
154
+
155
+ ## Documentacao por assunto
156
+
157
+ A recuperacao progressiva funciona melhor quando a documentacao e atomica:
158
+
159
+ ```text
160
+ um arquivo = um assunto rastreavel
161
+ ```
162
+
163
+ Exemplo: prefira `docs/auth-login.md` e `docs/auth-jwt.md` a um arquivo grande
164
+ `docs/backend.md`.
165
+
166
+ Depois de abrir a doc correta, use `rg` para encontrar o simbolo ou termo exato
167
+ no codigo. A doc localiza; o codigo verificado decide.
168
+
169
+ ## Exemplo resumido
170
+
171
+ Pedido:
172
+
173
+ ```text
174
+ Altere a regra de login para bloquear usuarios inativos.
175
+ ```
176
+
177
+ Aplicacao:
178
+
179
+ 1. Identificar intencao: regra de autenticacao.
180
+ 2. Consultar `context-map.yaml` para localizar dominio, aliases e candidatos.
181
+ 3. Ler `canonical-state.yaml` se a estrategia de auth importar.
182
+ 4. Ler decisoes ativas de autenticacao se existirem.
183
+ 5. Abrir doc minima do dominio.
184
+ 6. Buscar simbolos como `login`, `validateUser` e `AuthService`.
185
+ 7. Ler trecho primeiro.
186
+ 8. Expandir para dependencias se status de usuario vier de outro modulo.
187
+ 9. Validar caminho permitido e caminho bloqueado.
188
+
189
+ Se o pedido fosse apenas "troque esse botao", o Action Validator deve pedir
190
+ esclarecimento antes de alterar qualquer coisa.
191
+
192
+ ## O que fica experimental
193
+
194
+ Ainda nao torne obrigatorio:
195
+
196
+ - catalogo completo de simbolos;
197
+ - grafo global de dependencias;
198
+ - cache semantico manual;
199
+ - detector automatico de documentacao obsoleta.
200
+ - indexador automatico continuo;
201
+ - previsao semantica avancada do proximo objetivo.
202
+
203
+ Essas ideias sao boas, mas devem ser geradas ou verificadas por tooling para nao
204
+ virarem mapa manual desatualizado.
@@ -0,0 +1,146 @@
1
+ # 16 - Release e Atualizacao
2
+
3
+ ## Objetivo
4
+
5
+ Publicar uma nova versao do framework em todos os canais sem quebrar o historico
6
+ e sem expor credenciais.
7
+
8
+ Use este fluxo para qualquer nova release do framework.
9
+
10
+ ## Canais
11
+
12
+ - GitHub: codigo, tag e release.
13
+ - npm: pacote Node com comando `ai-protocol`.
14
+ - PyPI: pacote Python com comando `ai-protocol`.
15
+
16
+ ## Antes de subir
17
+
18
+ Confirme:
19
+
20
+ - `package.json` esta com a nova versao.
21
+ - `pyproject.toml` esta com a nova versao.
22
+ - `config.yaml` e `INDEX.yaml` apontam para a versao do protocolo correta.
23
+ - `CHANGELOG.md` tem a entrada da versao.
24
+ - `README.md` explica a mudanca principal.
25
+ - `docs/README.md` lista novos documentos.
26
+ - `protocol/README.yaml` lista novos arquivos operacionais.
27
+ - `capabilities/registry.yaml` lista capacidades do pacote minimo quando
28
+ aplicavel.
29
+ - `ai_execution_protocol/protocol/` esta sincronizado com `protocol/`.
30
+ - Instaladores e verificadores conhecem novos arquivos obrigatorios.
31
+
32
+ ## Validacao obrigatoria
33
+
34
+ Rode:
35
+
36
+ ```powershell
37
+ python scripts/build_dist.py
38
+ python scripts/framework_tests.py
39
+ python scripts/validate_schema.py --strict
40
+ python scripts/health_check.py
41
+ ```
42
+
43
+ Valide os pacotes sem publicar:
44
+
45
+ ```powershell
46
+ npm publish --dry-run
47
+ if (Test-Path publish-dist) { Remove-Item -LiteralPath publish-dist -Recurse -Force }
48
+ python -m build --outdir publish-dist
49
+ python -m twine check publish-dist\*
50
+ ```
51
+
52
+ Procure sinais obvios de segredo:
53
+
54
+ ```powershell
55
+ rg -n -i "api[_-]?key\s*[:=]|token\s*[:=]|secret\s*[:=]|senha\s*[:=]|password\s*[:=]|client_secret\s*[:=]|private_key\s*[:=]|-----BEGIN .*PRIVATE KEY" --glob "!results/**" --glob "!build/**" --glob "!dist/**" --glob "!publish-dist/**" --glob "!*.egg-info/**" --glob "!model-runs/generated/**" --glob "!benchmarks/generated/**" --glob "!*.tgz" .
56
+ ```
57
+
58
+ Revise manualmente qualquer resultado. Termos como `token_policy` ou
59
+ `auth_security_secret` podem ser apenas nomes de regras.
60
+
61
+ ## GitHub
62
+
63
+ Depois de validar:
64
+
65
+ ```powershell
66
+ git status -sb
67
+ git add .
68
+ git commit -m "Release vX.Y.Z"
69
+ git tag -a vX.Y.Z -m "Release vX.Y.Z"
70
+ git push origin main
71
+ git push origin vX.Y.Z
72
+ ```
73
+
74
+ Crie a release:
75
+
76
+ ```powershell
77
+ C:\Projetos\.tools\gh\gh.exe release create vX.Y.Z publish-dist\ai_execution_protocol-X.Y.Z-py3-none-any.whl publish-dist\ai_execution_protocol-X.Y.Z.tar.gz --repo rodneigk2/ai-execution-protocol --title "Release vX.Y.Z" --notes-file RELEASE_NOTES.md
78
+ ```
79
+
80
+ Use notas curtas com:
81
+
82
+ - o que mudou;
83
+ - impacto para usuarios;
84
+ - validacoes executadas;
85
+ - limites conhecidos.
86
+
87
+ ## npm
88
+
89
+ Nunca publique a mesma versao duas vezes. Se `X.Y.Z` ja foi publicada, a
90
+ proxima deve incrementar patch, minor ou major conforme o tamanho da mudanca.
91
+
92
+ Publicar:
93
+
94
+ ```powershell
95
+ npm whoami
96
+ npm publish --access public
97
+ ```
98
+
99
+ Validar:
100
+
101
+ ```powershell
102
+ npm view ai-execution-protocol version --registry https://registry.npmjs.org/
103
+ npm install -g ai-execution-protocol
104
+ ai-protocol --help
105
+ ```
106
+
107
+ Se npm exigir 2FA, use OTP ou token granular com bypass 2FA. Nao registre token
108
+ em docs, logs ou conversa.
109
+
110
+ ## PyPI
111
+
112
+ Nunca publique a mesma versao duas vezes. Se `X.Y.Z` ja foi publicada, a
113
+ proxima deve incrementar patch, minor ou major conforme o tamanho da mudanca.
114
+
115
+ Publicar:
116
+
117
+ ```powershell
118
+ python -m twine upload publish-dist\*
119
+ ```
120
+
121
+ Quando usar API token:
122
+
123
+ ```text
124
+ username: __token__
125
+ password: <token da PyPI>
126
+ ```
127
+
128
+ Nao cole o token em conversa, arquivo ou log.
129
+
130
+ Validar:
131
+
132
+ ```powershell
133
+ python -m pip index versions ai-execution-protocol
134
+ pip install --upgrade ai-execution-protocol
135
+ ai-protocol --help
136
+ ```
137
+
138
+ ## Recuperacao
139
+
140
+ Se GitHub release falhar, corrija e rode o comando de release de novo.
141
+
142
+ Se npm ou PyPI falhar antes de publicar, corrija e tente novamente na mesma
143
+ versao.
144
+
145
+ Se npm ou PyPI publicar, nao tente sobrescrever a mesma versao. Incremente a
146
+ versao e gere nova release.
@@ -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.