ai-execution-protocol 0.2.1__tar.gz → 0.3.0__tar.gz

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 (40) hide show
  1. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/PKG-INFO +30 -7
  2. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/README.md +29 -6
  3. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/cli.py +12 -183
  4. ai_execution_protocol-0.3.0/ai_execution_protocol/install-manifest.json +64 -0
  5. ai_execution_protocol-0.3.0/ai_execution_protocol/install_support.py +17 -0
  6. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/README.yaml +7 -1
  7. ai_execution_protocol-0.3.0/ai_execution_protocol/protocol/adaptive-memory.yaml +97 -0
  8. ai_execution_protocol-0.3.0/ai_execution_protocol/protocol/context-budget.yaml +44 -0
  9. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/context-compiler.yaml +24 -1
  10. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/fast-path.yaml +6 -1
  11. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/persistent-context.yaml +13 -3
  12. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/prompt-economy.yaml +16 -8
  13. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/route-packs.yaml +32 -1
  14. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/router.yaml +23 -1
  15. ai_execution_protocol-0.3.0/ai_execution_protocol/protocol/selective-validation.yaml +44 -0
  16. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/validation-checklist.yaml +10 -1
  17. ai_execution_protocol-0.3.0/ai_execution_protocol/templates/minimal/AGENTS.md +41 -0
  18. ai_execution_protocol-0.3.0/ai_execution_protocol/templates/minimal/candidate-memory/README.md +4 -0
  19. ai_execution_protocol-0.3.0/ai_execution_protocol/templates/minimal/canonical-state.yaml +16 -0
  20. ai_execution_protocol-0.3.0/ai_execution_protocol/templates/minimal/context-map.yaml +22 -0
  21. ai_execution_protocol-0.3.0/ai_execution_protocol/templates/minimal/decisions/README.md +4 -0
  22. ai_execution_protocol-0.3.0/ai_execution_protocol/templates/minimal/memory/INDEX.yaml +20 -0
  23. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol.egg-info/PKG-INFO +30 -7
  24. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol.egg-info/SOURCES.txt +12 -1
  25. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/pyproject.toml +10 -4
  26. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/LICENSE +0 -0
  27. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/__init__.py +0 -0
  28. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/__main__.py +0 -0
  29. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/__init__.py +0 -0
  30. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/context-rules.yaml +0 -0
  31. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/execution-rules.yaml +0 -0
  32. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/formatting-rules.yaml +0 -0
  33. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/mapping-checklists.yaml +0 -0
  34. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/modes.yaml +0 -0
  35. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/risk-levels.yaml +0 -0
  36. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol/protocol/spec-driven.yaml +0 -0
  37. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol.egg-info/dependency_links.txt +0 -0
  38. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol.egg-info/entry_points.txt +0 -0
  39. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/ai_execution_protocol.egg-info/top_level.txt +0 -0
  40. {ai_execution_protocol-0.2.1 → ai_execution_protocol-0.3.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ai-execution-protocol
3
- Version: 0.2.1
3
+ Version: 0.3.0
4
4
  Summary: Experimental AI execution protocol for safer agent workflows, minimal context, risk classification, validation, and evidence-based delivery.
5
5
  Author: AI Execution Protocol
6
6
  License-Expression: MIT
@@ -52,15 +52,16 @@ O protocolo nao tenta transformar toda tarefa em um processo pesado. A regra e
52
52
  proporcionalidade: tarefa simples deve ser rapida; tarefa critica exige mais
53
53
  mapa, confirmacao e evidencia.
54
54
 
55
- Na v0.2.0, o framework adiciona uma camada leve de contexto persistente:
55
+ Na v0.3.0, o framework adiciona memoria adaptativa verificada, orcamento de
56
+ contexto e validacao seletiva:
56
57
 
57
58
  ```text
58
- pedido -> intencao -> dominio -> contexto minimo -> validacao -> acao
59
+ pedido -> risco -> memoria relevante -> contexto limitado -> acao -> validacao
59
60
  ```
60
61
 
61
- Essa camada usa `canonical-state.yaml`, `context-map.yaml`, `decisions/` e
62
- `protocol/persistent-context.yaml` para reduzir leitura desnecessaria. Ela e um
63
- bootstrap seguro, nao um indexador automatico completo.
62
+ Memoria orienta, o pedido atual autoriza e arquivos verificados definem a
63
+ realidade. Inferencias ficam candidatas ate acumularem evidencia, e conteudo
64
+ sensivel e bloqueado.
64
65
 
65
66
  ## Status
66
67
 
@@ -78,6 +79,8 @@ continuam obrigatorios em tarefas criticas.
78
79
  - `context-map.yaml`: mapa pequeno de dominios, aliases e arquivos candidatos.
79
80
  - `config.yaml`: configuracao do alvo atual e versao do protocolo.
80
81
  - `decisions/`: decisoes importantes com status.
82
+ - `memory/`: preferencias, estado e padroes duraveis validados.
83
+ - `candidate-memory/`: inferencias ainda nao autoritativas.
81
84
  - `docs/`: explicacoes conceituais em Markdown.
82
85
  - `protocol/`: regras operacionais curtas em YAML.
83
86
  - `protocol/route-packs.yaml`: resumos compactos para reduzir leitura por rota.
@@ -104,8 +107,9 @@ continuam obrigatorios em tarefas criticas.
104
107
  7. Consulte `protocol/route-packs.yaml` antes de abrir todos os YAML da rota.
105
108
  8. Abra arquivos completos apenas quando o resumo compacto nao bastar.
106
109
  9. Execute, valide e entregue com evidencia.
110
+ 10. Atualize memoria apenas quando surgir um fato duravel e seguro.
107
111
 
108
- Regra de seguranca da v0.2.0:
112
+ Regra de seguranca:
109
113
 
110
114
  ```text
111
115
  A IA pode expandir contexto.
@@ -127,6 +131,9 @@ Comece por:
127
131
  - `docs/05-validacao-e-entrega.md`
128
132
  - `docs/15-contexto-persistente.md`
129
133
  - `docs/17-documentacao-atomica.md`
134
+ - `docs/18-memoria-adaptativa.md`
135
+ - `docs/19-orcamento-de-contexto.md`
136
+ - `docs/20-validacao-seletiva.md`
130
137
 
131
138
  Use `docs/` para entender a metodologia. Use `protocol/` quando quiser aplicar
132
139
  as regras em uma tarefa real.
@@ -151,6 +158,13 @@ Meca custo aproximado de leitura por rota:
151
158
  python scripts/token_report.py
152
159
  ```
153
160
 
161
+ Valide a memoria e selecione apenas as verificacoes necessarias:
162
+
163
+ ```powershell
164
+ python scripts/memory_manager.py --root . validate
165
+ python scripts/selective_validation.py
166
+ ```
167
+
154
168
  ## Instalacao em outro projeto
155
169
 
156
170
  Projeto novo:
@@ -193,6 +207,15 @@ python scripts/verify_install.py --target C:\caminho\projeto
193
207
 
194
208
  O final esperado da verificacao e `PASS`.
195
209
 
210
+ Atualizacao pelos pacotes publicados:
211
+
212
+ ```powershell
213
+ npm install -g ai-execution-protocol@latest
214
+ python -m pip install --upgrade ai-execution-protocol
215
+ ai-protocol install C:\caminho\projeto
216
+ ai-protocol verify C:\caminho\projeto
217
+ ```
218
+
196
219
  ## Licenca
197
220
 
198
221
  Distribuido sob a licenca MIT. Veja `LICENSE`.
@@ -31,15 +31,16 @@ O protocolo nao tenta transformar toda tarefa em um processo pesado. A regra e
31
31
  proporcionalidade: tarefa simples deve ser rapida; tarefa critica exige mais
32
32
  mapa, confirmacao e evidencia.
33
33
 
34
- Na v0.2.0, o framework adiciona uma camada leve de contexto persistente:
34
+ Na v0.3.0, o framework adiciona memoria adaptativa verificada, orcamento de
35
+ contexto e validacao seletiva:
35
36
 
36
37
  ```text
37
- pedido -> intencao -> dominio -> contexto minimo -> validacao -> acao
38
+ pedido -> risco -> memoria relevante -> contexto limitado -> acao -> validacao
38
39
  ```
39
40
 
40
- Essa camada usa `canonical-state.yaml`, `context-map.yaml`, `decisions/` e
41
- `protocol/persistent-context.yaml` para reduzir leitura desnecessaria. Ela e um
42
- bootstrap seguro, nao um indexador automatico completo.
41
+ Memoria orienta, o pedido atual autoriza e arquivos verificados definem a
42
+ realidade. Inferencias ficam candidatas ate acumularem evidencia, e conteudo
43
+ sensivel e bloqueado.
43
44
 
44
45
  ## Status
45
46
 
@@ -57,6 +58,8 @@ continuam obrigatorios em tarefas criticas.
57
58
  - `context-map.yaml`: mapa pequeno de dominios, aliases e arquivos candidatos.
58
59
  - `config.yaml`: configuracao do alvo atual e versao do protocolo.
59
60
  - `decisions/`: decisoes importantes com status.
61
+ - `memory/`: preferencias, estado e padroes duraveis validados.
62
+ - `candidate-memory/`: inferencias ainda nao autoritativas.
60
63
  - `docs/`: explicacoes conceituais em Markdown.
61
64
  - `protocol/`: regras operacionais curtas em YAML.
62
65
  - `protocol/route-packs.yaml`: resumos compactos para reduzir leitura por rota.
@@ -83,8 +86,9 @@ continuam obrigatorios em tarefas criticas.
83
86
  7. Consulte `protocol/route-packs.yaml` antes de abrir todos os YAML da rota.
84
87
  8. Abra arquivos completos apenas quando o resumo compacto nao bastar.
85
88
  9. Execute, valide e entregue com evidencia.
89
+ 10. Atualize memoria apenas quando surgir um fato duravel e seguro.
86
90
 
87
- Regra de seguranca da v0.2.0:
91
+ Regra de seguranca:
88
92
 
89
93
  ```text
90
94
  A IA pode expandir contexto.
@@ -106,6 +110,9 @@ Comece por:
106
110
  - `docs/05-validacao-e-entrega.md`
107
111
  - `docs/15-contexto-persistente.md`
108
112
  - `docs/17-documentacao-atomica.md`
113
+ - `docs/18-memoria-adaptativa.md`
114
+ - `docs/19-orcamento-de-contexto.md`
115
+ - `docs/20-validacao-seletiva.md`
109
116
 
110
117
  Use `docs/` para entender a metodologia. Use `protocol/` quando quiser aplicar
111
118
  as regras em uma tarefa real.
@@ -130,6 +137,13 @@ Meca custo aproximado de leitura por rota:
130
137
  python scripts/token_report.py
131
138
  ```
132
139
 
140
+ Valide a memoria e selecione apenas as verificacoes necessarias:
141
+
142
+ ```powershell
143
+ python scripts/memory_manager.py --root . validate
144
+ python scripts/selective_validation.py
145
+ ```
146
+
133
147
  ## Instalacao em outro projeto
134
148
 
135
149
  Projeto novo:
@@ -172,6 +186,15 @@ python scripts/verify_install.py --target C:\caminho\projeto
172
186
 
173
187
  O final esperado da verificacao e `PASS`.
174
188
 
189
+ Atualizacao pelos pacotes publicados:
190
+
191
+ ```powershell
192
+ npm install -g ai-execution-protocol@latest
193
+ python -m pip install --upgrade ai-execution-protocol
194
+ ai-protocol install C:\caminho\projeto
195
+ ai-protocol verify C:\caminho\projeto
196
+ ```
197
+
175
198
  ## Licenca
176
199
 
177
200
  Distribuido sob a licenca MIT. Veja `LICENSE`.
@@ -9,126 +9,17 @@ from datetime import datetime
9
9
  from importlib import resources
10
10
  from pathlib import Path
11
11
 
12
+ from .install_support import manifest, template
12
13
 
13
14
  MARKER_START = "<!-- AI_PROTOCOL_BEGIN -->"
14
15
  MARKER_END = "<!-- AI_PROTOCOL_END -->"
15
- AIIGNORE_LINES = [
16
- "results/",
17
- "benchmarks/generated/",
18
- "model-runs/generated/",
19
- "dist/",
20
- "scripts/__pycache__/",
21
- "*.pyc",
16
+ MANIFEST = manifest()
17
+ AIIGNORE_LINES = MANIFEST["aiignore_lines"]
18
+ REQUIRED_PROTOCOL_FILES = MANIFEST["protocol_files"]
19
+ REQUIRED_FILES = MANIFEST["required_files"] + [
20
+ f"protocol/{name}" for name in REQUIRED_PROTOCOL_FILES
22
21
  ]
23
-
24
- MINIMAL_CANONICAL_STATE = """id: canonical_state
25
- type: project_state
26
- version: 0.1
27
- purpose: small_current_truth_summary_for_ai_navigation
28
- status: bootstrap_template
29
- truth_order:
30
- - current_user_request
31
- - verified_current_files
32
- - protocol_rules
33
- - project_docs
34
- - conversation_history
35
- notes:
36
- - update_this_file_when_project_state_or_decisions_change
37
- - do_not_treat_this_file_as_truth_without_current_file_verification
38
- """
39
-
40
- MINIMAL_CONTEXT_MAP = """id: project_context_map
41
- type: context_map
42
- version: 0.1
43
- purpose: small_index_for_progressive_context_retrieval
44
- maintenance:
45
- current_mode: manual_bootstrap
46
- rule: aliases_are_pointers_not_truth
47
- read_first:
48
- - canonical-state.yaml
49
- - protocol/fast-path.yaml
50
- - protocol/router.yaml
51
- - protocol/route-packs.yaml
52
- domains: {}
53
- retrieval_policy:
54
- order:
55
- - match_domain_by_alias
56
- - read_domain_docs_only_when_needed
57
- - search_candidate_files_or_symbols
58
- - read_relevant_snippet_first
59
- - read_full_file_when_snippet_is_not_enough
60
- """
61
-
62
- MINIMAL_DECISIONS_README = """# Decisions
63
-
64
- Use esta pasta para registrar decisoes estaveis que a IA deve considerar ao
65
- mapear contexto.
66
-
67
- Cada decisao deve indicar status, escopo, impacto e arquivo relacionado quando
68
- existir.
69
- """
70
- REQUIRED_PROTOCOL_FILES = [
71
- "README.yaml",
72
- "fast-path.yaml",
73
- "router.yaml",
74
- "route-packs.yaml",
75
- "modes.yaml",
76
- "execution-rules.yaml",
77
- "risk-levels.yaml",
78
- "mapping-checklists.yaml",
79
- "validation-checklist.yaml",
80
- "context-rules.yaml",
81
- "context-compiler.yaml",
82
- "persistent-context.yaml",
83
- "formatting-rules.yaml",
84
- "prompt-economy.yaml",
85
- "spec-driven.yaml",
86
- ]
87
- REQUIRED_FILES = [
88
- "AGENTS.md",
89
- ".aiignore",
90
- "canonical-state.yaml",
91
- "context-map.yaml",
92
- "decisions/README.md",
93
- *[f"protocol/{name}" for name in REQUIRED_PROTOCOL_FILES],
94
- ]
95
- REQUIRED_TEXT = {
96
- "AGENTS.md": [
97
- "AI_PROTOCOL_BEGIN",
98
- "protocol/fast-path.yaml",
99
- "protocol/router.yaml",
100
- "protocol/route-packs.yaml",
101
- "Classifique o risco antes de agir",
102
- "Nenhum arquivo deve passar de 400 linhas.",
103
- ],
104
- ".aiignore": [
105
- "results/",
106
- "dist/",
107
- "*.pyc",
108
- ],
109
- "canonical-state.yaml": [
110
- "canonical_state",
111
- "truth_order",
112
- ],
113
- "context-map.yaml": [
114
- "project_context_map",
115
- "aliases_are_pointers_not_truth",
116
- ],
117
- "protocol/router.yaml": [
118
- "feature_or_spec",
119
- "spec-driven.yaml",
120
- "prompt_improvement",
121
- ],
122
- "protocol/route-packs.yaml": [
123
- "read_pack_first_expand_only_when_needed",
124
- "simple_answer",
125
- "context_optimization",
126
- ],
127
- "protocol/spec-driven.yaml": [
128
- "protocol_is_base_spec_is_tool",
129
- "do_not_create_spec_for_low_value_tasks",
130
- ],
131
- }
22
+ REQUIRED_TEXT = MANIFEST["required_text"]
132
23
 
133
24
 
134
25
  def protocol_source() -> resources.abc.Traversable:
@@ -136,70 +27,7 @@ def protocol_source() -> resources.abc.Traversable:
136
27
 
137
28
 
138
29
  def minimal_agents() -> str:
139
- return """# AGENTS.md
140
-
141
- ## Regra principal
142
-
143
- <!-- AI_PROTOCOL_BEGIN -->
144
-
145
- Use `protocol/fast-path.yaml` como entrada operacional minima.
146
-
147
- Siga `.aiignore` antes de abrir relatorios gerados.
148
-
149
- Este protocolo e obrigatorio para tarefas tecnicas neste projeto. Antes de
150
- editar, classifique risco, escolha rota e valide a entrega.
151
-
152
- ## Ordem de leitura
153
-
154
- 1. `protocol/fast-path.yaml`
155
- 2. `protocol/router.yaml`
156
- 3. `protocol/route-packs.yaml` para ler o resumo compacto da rota.
157
- 4. Arquivo YAML especifico em `protocol/` somente quando o pack nao bastar.
158
-
159
- ## Regras de execucao
160
-
161
- - Classifique o risco antes de agir.
162
- - Use o menor contexto suficiente.
163
- - Leia apenas os arquivos indicados por `protocol/router.yaml`.
164
- - Use `protocol/route-packs.yaml` antes de abrir todos os arquivos da rota.
165
- - Quando houver contexto grande, historico longo ou risco de confusao, use
166
- `protocol/context-compiler.yaml` antes de abrir muitos arquivos.
167
- - Use `protocol/spec-driven.yaml` para feature, refatoracao grande ou tarefa
168
- critica, sem criar spec pesada para tarefa simples.
169
- - Sempre entregue `Prompt original` e `Prompt melhorado da IA`; em baixo risco,
170
- prefira micro formato legivel com `PO`, `PM` e `OK`.
171
- - Nao edite arquivo que nao foi identificado como candidato.
172
- - Preserve documentos, regras de IDE e configuracoes de framework existentes,
173
- salvo pedido explicito do usuario.
174
- - Se o risco subir, atualize a classificacao antes de continuar.
175
- - Para nivel critico, peca confirmacao antes de acao sensivel.
176
- - Quando houver risco de quebrar fluxo existente, entregue uma lista do que
177
- testar.
178
- - Entregue com evidencia em poucas linhas: mudanca, validacao, limite e risco
179
- residual.
180
- - Explique o resultado em linguagem clara para uma pessoa leiga entender.
181
-
182
- ## Convivencia com arquivos existentes
183
-
184
- Quando houver conflito, siga esta prioridade:
185
-
186
- 1. pedido atual do usuario;
187
- 2. este bloco obrigatorio em `AGENTS.md`;
188
- 3. regras especificas da IDE ou do projeto;
189
- 4. docs e historico somente quando a rota pedir.
190
-
191
- Nao sobrescreva `README.md`, `docs/`, `.cursorrules`, `CLAUDE.md`,
192
- `.github/copilot-instructions.md` ou configs de framework sem pedido claro.
193
-
194
- ## Regras de organizacao
195
-
196
- - Nenhum arquivo deve passar de 400 linhas.
197
- - Organize primeiro para legibilidade por IA.
198
- - Use YAML para regras operacionais.
199
- - Evite duplicar a mesma regra em muitos lugares.
200
-
201
- <!-- AI_PROTOCOL_END -->
202
- """
30
+ return template("AGENTS.md")
203
31
 
204
32
 
205
33
  def protocol_block() -> str:
@@ -265,9 +93,10 @@ def write_if_missing(path: Path, text: str) -> None:
265
93
 
266
94
 
267
95
  def install_context_templates(target_root: Path) -> None:
268
- write_if_missing(target_root / "canonical-state.yaml", MINIMAL_CANONICAL_STATE)
269
- write_if_missing(target_root / "context-map.yaml", MINIMAL_CONTEXT_MAP)
270
- write_if_missing(target_root / "decisions" / "README.md", MINIMAL_DECISIONS_README)
96
+ for item in MANIFEST["required_files"]:
97
+ if item in {"AGENTS.md", ".aiignore"}:
98
+ continue
99
+ write_if_missing(target_root / item, template(item))
271
100
 
272
101
 
273
102
  def print_dry_run(target_root: Path, force: bool) -> None:
@@ -0,0 +1,64 @@
1
+ {
2
+ "protocol_files": [
3
+ "README.yaml",
4
+ "fast-path.yaml",
5
+ "router.yaml",
6
+ "route-packs.yaml",
7
+ "modes.yaml",
8
+ "execution-rules.yaml",
9
+ "risk-levels.yaml",
10
+ "mapping-checklists.yaml",
11
+ "validation-checklist.yaml",
12
+ "selective-validation.yaml",
13
+ "context-rules.yaml",
14
+ "context-compiler.yaml",
15
+ "context-budget.yaml",
16
+ "persistent-context.yaml",
17
+ "adaptive-memory.yaml",
18
+ "formatting-rules.yaml",
19
+ "prompt-economy.yaml",
20
+ "spec-driven.yaml"
21
+ ],
22
+ "required_files": [
23
+ "AGENTS.md",
24
+ ".aiignore",
25
+ "canonical-state.yaml",
26
+ "context-map.yaml",
27
+ "decisions/README.md",
28
+ "memory/INDEX.yaml",
29
+ "candidate-memory/README.md"
30
+ ],
31
+ "aiignore_lines": [
32
+ "results/",
33
+ "benchmarks/generated/",
34
+ "model-runs/generated/",
35
+ "dist/",
36
+ "scripts/__pycache__/",
37
+ "*.pyc"
38
+ ],
39
+ "required_text": {
40
+ "AGENTS.md": [
41
+ "AI_PROTOCOL_BEGIN",
42
+ "protocol/fast-path.yaml",
43
+ "protocol/router.yaml",
44
+ "protocol/route-packs.yaml",
45
+ "Classifique o risco antes de agir"
46
+ ],
47
+ "memory/INDEX.yaml": [
48
+ "memory_index",
49
+ "read_only_matching_subjects"
50
+ ],
51
+ "protocol/adaptive-memory.yaml": [
52
+ "memory_guides_current_request_authorizes",
53
+ "blocked_sensitive"
54
+ ],
55
+ "protocol/context-budget.yaml": [
56
+ "budget_guides_reading",
57
+ "stop_when"
58
+ ],
59
+ "protocol/selective-validation.yaml": [
60
+ "smallest_validation_set",
61
+ "release"
62
+ ]
63
+ }
64
+ }
@@ -0,0 +1,17 @@
1
+ """Shared installation data loaded from packaged manifest and templates."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from importlib import resources
7
+
8
+
9
+ PACKAGE = resources.files("ai_execution_protocol")
10
+
11
+
12
+ def manifest() -> dict:
13
+ return json.loads(PACKAGE.joinpath("install-manifest.json").read_text(encoding="utf-8"))
14
+
15
+
16
+ def template(path: str) -> str:
17
+ return PACKAGE.joinpath("templates", "minimal", *path.split("/")).read_text(encoding="utf-8")
@@ -1,7 +1,7 @@
1
1
  id: protocol_index
2
2
  type: index
3
3
  format: yaml
4
- protocol_version: 0.2.1
4
+ protocol_version: 0.3.0
5
5
  purpose: ai_operational_rules
6
6
  source_docs: ../docs
7
7
  constraints:
@@ -25,12 +25,18 @@ files:
25
25
  purpose: pre_change_maps_by_risk
26
26
  - path: validation-checklist.yaml
27
27
  purpose: validation_and_final_delivery
28
+ - path: selective-validation.yaml
29
+ purpose: choose_smallest_sufficient_validation
28
30
  - path: context-rules.yaml
29
31
  purpose: context_window_file_size_memory
30
32
  - path: context-compiler.yaml
31
33
  purpose: compile_minimum_context_package_and_canonical_state
34
+ - path: context-budget.yaml
35
+ purpose: enforce_context_cost_limits_by_risk
32
36
  - path: persistent-context.yaml
33
37
  purpose: progressive_context_retrieval_with_aliases
38
+ - path: adaptive-memory.yaml
39
+ purpose: maintain_verified_user_and_project_memory
34
40
  - path: formatting-rules.yaml
35
41
  purpose: ai_readable_file_format
36
42
  - path: prompt-economy.yaml
@@ -0,0 +1,97 @@
1
+ id: adaptive_memory
2
+ type: operational_rules
3
+ version: 0.3
4
+ purpose: evolve_with_user_and_project_through_verified_external_memory
5
+ principle: memory_guides_current_request_authorizes_verified_files_define_reality
6
+ entrypoints:
7
+ - memory/INDEX.yaml
8
+ - memory/user/
9
+ - memory/projects/
10
+ - memory/patterns/
11
+ - candidate-memory/
12
+ authority_order:
13
+ - current_user_request
14
+ - verified_current_files
15
+ - active_project_decisions
16
+ - explicit_user_preferences
17
+ - inferred_patterns_with_evidence
18
+ - conversation_summary
19
+ - old_history
20
+ memory_types:
21
+ explicit_preference:
22
+ promotion: automatic_when_non_sensitive_and_explicit
23
+ project_decision:
24
+ promotion: automatic_when_confirmed_and_scoped
25
+ project_state:
26
+ promotion: require_current_file_evidence
27
+ inferred_preference:
28
+ promotion: candidate_until_repeated_or_confirmed
29
+ workflow_pattern:
30
+ promotion: candidate_until_repeated
31
+ conversation_summary:
32
+ promotion: optional_and_never_mandatory_context
33
+ required_fields:
34
+ - id
35
+ - type
36
+ - subject
37
+ - value
38
+ - scope
39
+ - status
40
+ - confidence
41
+ - source
42
+ - evidence_count
43
+ - sensitive
44
+ - created_at
45
+ - updated_at
46
+ status:
47
+ active:
48
+ use: current_memory
49
+ candidate:
50
+ use: not_authoritative
51
+ replaced:
52
+ use: history_only
53
+ revoked:
54
+ use: never_as_current_truth
55
+ expired:
56
+ use: revalidate_before_use
57
+ maintenance:
58
+ always_check_after_task: true
59
+ allowed_results:
60
+ - updated
61
+ - unchanged
62
+ - candidate
63
+ - replaced
64
+ - blocked_sensitive
65
+ flow:
66
+ - extract_candidate
67
+ - classify_sensitivity
68
+ - search_existing_subject_and_aliases
69
+ - compare_value_scope_and_source
70
+ - merge_replace_or_discard
71
+ - update_index
72
+ - validate_duplicates_conflicts_and_size
73
+ safety:
74
+ never_store:
75
+ - passwords
76
+ - api_tokens
77
+ - private_keys
78
+ - customer_data
79
+ - unnecessary_personal_data
80
+ - raw_logs
81
+ - unredacted_sensitive_conversation
82
+ prediction:
83
+ allow:
84
+ - suggest_likely_preference
85
+ - choose_low_risk_defaults
86
+ never:
87
+ - expand_scope
88
+ - authorize_sensitive_action
89
+ - override_current_request
90
+ - claim_perfect_prediction
91
+ economy:
92
+ - read_index_before_memory_files
93
+ - retrieve_only_matching_subjects
94
+ - do_not_load_archive_by_default
95
+ - do_not_write_when_result_is_unchanged
96
+ - keep_one_trackable_subject_per_file
97
+ - enforce_context_budget
@@ -0,0 +1,44 @@
1
+ id: context_budget
2
+ type: operational_rules
3
+ version: 0.3
4
+ purpose: limit_context_cost_without_trading_correctness_or_safety
5
+ principle: budget_guides_reading_risk_can_justify_expansion
6
+ levels:
7
+ level_0:
8
+ initial_tokens_est: 300
9
+ max_files_before_justification: 2
10
+ level_1:
11
+ initial_tokens_est: 1000
12
+ max_files_before_justification: 5
13
+ level_2:
14
+ initial_tokens_est: 4000
15
+ max_files_before_justification: 12
16
+ level_3:
17
+ initial_tokens_est: 6000
18
+ mode: adaptive
19
+ max_files_before_justification: 20
20
+ count:
21
+ - protocol_rules
22
+ - memory_entries
23
+ - project_docs
24
+ - code_snippets
25
+ exclude:
26
+ - generated_reports_not_read
27
+ - files_only_listed_not_opened
28
+ expansion_requires:
29
+ - unresolved_risk
30
+ - missing_dependency
31
+ - unclear_scope
32
+ - insufficient_snippet
33
+ - validation_gap
34
+ stop_when:
35
+ - objective_is_clear
36
+ - target_is_identified
37
+ - risk_is_classified
38
+ - validation_plan_is_clear
39
+ - no_unresolved_gap_requires_more_context
40
+ delivery:
41
+ report_when_exceeded:
42
+ - initial_budget
43
+ - estimated_context_used
44
+ - expansion_reason