ai-execution-protocol 0.2.0__tar.gz → 0.2.1__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.
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/PKG-INFO +6 -19
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/README.md +5 -18
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/cli.py +86 -5
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/README.yaml +3 -1
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/context-rules.yaml +13 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/fast-path.yaml +1 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/formatting-rules.yaml +27 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/persistent-context.yaml +27 -1
- ai_execution_protocol-0.2.1/ai_execution_protocol/protocol/route-packs.yaml +153 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/router.yaml +2 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol.egg-info/PKG-INFO +6 -19
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol.egg-info/SOURCES.txt +1 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/pyproject.toml +1 -1
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/LICENSE +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/__init__.py +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/__main__.py +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/__init__.py +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/context-compiler.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/execution-rules.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/mapping-checklists.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/modes.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/prompt-economy.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/risk-levels.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/spec-driven.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/protocol/validation-checklist.yaml +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol.egg-info/dependency_links.txt +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol.egg-info/entry_points.txt +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol.egg-info/top_level.txt +0 -0
- {ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ai-execution-protocol
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
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
|
|
@@ -80,6 +80,7 @@ continuam obrigatorios em tarefas criticas.
|
|
|
80
80
|
- `decisions/`: decisoes importantes com status.
|
|
81
81
|
- `docs/`: explicacoes conceituais em Markdown.
|
|
82
82
|
- `protocol/`: regras operacionais curtas em YAML.
|
|
83
|
+
- `protocol/route-packs.yaml`: resumos compactos para reduzir leitura por rota.
|
|
83
84
|
- `cases/`: casos estruturados para testar o comportamento da IA.
|
|
84
85
|
- `examples/`: exemplos humanos de uso do framework.
|
|
85
86
|
- `schema/`: contratos para manter os YAML padronizados.
|
|
@@ -100,8 +101,9 @@ continuam obrigatorios em tarefas criticas.
|
|
|
100
101
|
4. Confirme o alvo atual em `config.yaml`.
|
|
101
102
|
5. Leia `protocol/fast-path.yaml`.
|
|
102
103
|
6. Use `protocol/router.yaml` para escolher o menor contexto suficiente.
|
|
103
|
-
7.
|
|
104
|
-
8.
|
|
104
|
+
7. Consulte `protocol/route-packs.yaml` antes de abrir todos os YAML da rota.
|
|
105
|
+
8. Abra arquivos completos apenas quando o resumo compacto nao bastar.
|
|
106
|
+
9. Execute, valide e entregue com evidencia.
|
|
105
107
|
|
|
106
108
|
Regra de seguranca da v0.2.0:
|
|
107
109
|
|
|
@@ -124,8 +126,7 @@ Comece por:
|
|
|
124
126
|
- `docs/04-janela-de-contexto.md`
|
|
125
127
|
- `docs/05-validacao-e-entrega.md`
|
|
126
128
|
- `docs/15-contexto-persistente.md`
|
|
127
|
-
- `docs/
|
|
128
|
-
- `docs/16-release-e-atualizacao.md`
|
|
129
|
+
- `docs/17-documentacao-atomica.md`
|
|
129
130
|
|
|
130
131
|
Use `docs/` para entender a metodologia. Use `protocol/` quando quiser aplicar
|
|
131
132
|
as regras em uma tarefa real.
|
|
@@ -192,20 +193,6 @@ python scripts/verify_install.py --target C:\caminho\projeto
|
|
|
192
193
|
|
|
193
194
|
O final esperado da verificacao e `PASS`.
|
|
194
195
|
|
|
195
|
-
## Publicacao
|
|
196
|
-
|
|
197
|
-
Antes de publicar, revise `docs/14-publicacao.md`.
|
|
198
|
-
Para atualizar uma versao ja publicada, revise `docs/16-release-e-atualizacao.md`.
|
|
199
|
-
|
|
200
|
-
Resumo minimo:
|
|
201
|
-
|
|
202
|
-
- nao publique `.env`, chaves, tokens, senhas, logs reais ou dados de cliente;
|
|
203
|
-
- mantenha artefatos gerados fora do Git quando nao forem necessarios;
|
|
204
|
-
- use `.gitignore`;
|
|
205
|
-
- publique com `README.md`, `LICENSE`, `docs/`, `protocol/`, `cases/`,
|
|
206
|
-
`examples/`, `schema/`, `eval/` e `scripts/` quando fizer sentido;
|
|
207
|
-
- preserve o posicionamento como pesquisa experimental e framework em evolucao.
|
|
208
|
-
|
|
209
196
|
## Licenca
|
|
210
197
|
|
|
211
198
|
Distribuido sob a licenca MIT. Veja `LICENSE`.
|
|
@@ -59,6 +59,7 @@ continuam obrigatorios em tarefas criticas.
|
|
|
59
59
|
- `decisions/`: decisoes importantes com status.
|
|
60
60
|
- `docs/`: explicacoes conceituais em Markdown.
|
|
61
61
|
- `protocol/`: regras operacionais curtas em YAML.
|
|
62
|
+
- `protocol/route-packs.yaml`: resumos compactos para reduzir leitura por rota.
|
|
62
63
|
- `cases/`: casos estruturados para testar o comportamento da IA.
|
|
63
64
|
- `examples/`: exemplos humanos de uso do framework.
|
|
64
65
|
- `schema/`: contratos para manter os YAML padronizados.
|
|
@@ -79,8 +80,9 @@ continuam obrigatorios em tarefas criticas.
|
|
|
79
80
|
4. Confirme o alvo atual em `config.yaml`.
|
|
80
81
|
5. Leia `protocol/fast-path.yaml`.
|
|
81
82
|
6. Use `protocol/router.yaml` para escolher o menor contexto suficiente.
|
|
82
|
-
7.
|
|
83
|
-
8.
|
|
83
|
+
7. Consulte `protocol/route-packs.yaml` antes de abrir todos os YAML da rota.
|
|
84
|
+
8. Abra arquivos completos apenas quando o resumo compacto nao bastar.
|
|
85
|
+
9. Execute, valide e entregue com evidencia.
|
|
84
86
|
|
|
85
87
|
Regra de seguranca da v0.2.0:
|
|
86
88
|
|
|
@@ -103,8 +105,7 @@ Comece por:
|
|
|
103
105
|
- `docs/04-janela-de-contexto.md`
|
|
104
106
|
- `docs/05-validacao-e-entrega.md`
|
|
105
107
|
- `docs/15-contexto-persistente.md`
|
|
106
|
-
- `docs/
|
|
107
|
-
- `docs/16-release-e-atualizacao.md`
|
|
108
|
+
- `docs/17-documentacao-atomica.md`
|
|
108
109
|
|
|
109
110
|
Use `docs/` para entender a metodologia. Use `protocol/` quando quiser aplicar
|
|
110
111
|
as regras em uma tarefa real.
|
|
@@ -171,20 +172,6 @@ python scripts/verify_install.py --target C:\caminho\projeto
|
|
|
171
172
|
|
|
172
173
|
O final esperado da verificacao e `PASS`.
|
|
173
174
|
|
|
174
|
-
## Publicacao
|
|
175
|
-
|
|
176
|
-
Antes de publicar, revise `docs/14-publicacao.md`.
|
|
177
|
-
Para atualizar uma versao ja publicada, revise `docs/16-release-e-atualizacao.md`.
|
|
178
|
-
|
|
179
|
-
Resumo minimo:
|
|
180
|
-
|
|
181
|
-
- nao publique `.env`, chaves, tokens, senhas, logs reais ou dados de cliente;
|
|
182
|
-
- mantenha artefatos gerados fora do Git quando nao forem necessarios;
|
|
183
|
-
- use `.gitignore`;
|
|
184
|
-
- publique com `README.md`, `LICENSE`, `docs/`, `protocol/`, `cases/`,
|
|
185
|
-
`examples/`, `schema/`, `eval/` e `scripts/` quando fizer sentido;
|
|
186
|
-
- preserve o posicionamento como pesquisa experimental e framework em evolucao.
|
|
187
|
-
|
|
188
175
|
## Licenca
|
|
189
176
|
|
|
190
177
|
Distribuido sob a licenca MIT. Veja `LICENSE`.
|
|
@@ -20,10 +20,58 @@ AIIGNORE_LINES = [
|
|
|
20
20
|
"scripts/__pycache__/",
|
|
21
21
|
"*.pyc",
|
|
22
22
|
]
|
|
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
|
+
"""
|
|
23
70
|
REQUIRED_PROTOCOL_FILES = [
|
|
24
71
|
"README.yaml",
|
|
25
72
|
"fast-path.yaml",
|
|
26
73
|
"router.yaml",
|
|
74
|
+
"route-packs.yaml",
|
|
27
75
|
"modes.yaml",
|
|
28
76
|
"execution-rules.yaml",
|
|
29
77
|
"risk-levels.yaml",
|
|
@@ -39,6 +87,9 @@ REQUIRED_PROTOCOL_FILES = [
|
|
|
39
87
|
REQUIRED_FILES = [
|
|
40
88
|
"AGENTS.md",
|
|
41
89
|
".aiignore",
|
|
90
|
+
"canonical-state.yaml",
|
|
91
|
+
"context-map.yaml",
|
|
92
|
+
"decisions/README.md",
|
|
42
93
|
*[f"protocol/{name}" for name in REQUIRED_PROTOCOL_FILES],
|
|
43
94
|
]
|
|
44
95
|
REQUIRED_TEXT = {
|
|
@@ -46,6 +97,7 @@ REQUIRED_TEXT = {
|
|
|
46
97
|
"AI_PROTOCOL_BEGIN",
|
|
47
98
|
"protocol/fast-path.yaml",
|
|
48
99
|
"protocol/router.yaml",
|
|
100
|
+
"protocol/route-packs.yaml",
|
|
49
101
|
"Classifique o risco antes de agir",
|
|
50
102
|
"Nenhum arquivo deve passar de 400 linhas.",
|
|
51
103
|
],
|
|
@@ -54,10 +106,23 @@ REQUIRED_TEXT = {
|
|
|
54
106
|
"dist/",
|
|
55
107
|
"*.pyc",
|
|
56
108
|
],
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
|
|
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",
|
|
61
126
|
],
|
|
62
127
|
"protocol/spec-driven.yaml": [
|
|
63
128
|
"protocol_is_base_spec_is_tool",
|
|
@@ -88,13 +153,15 @@ editar, classifique risco, escolha rota e valide a entrega.
|
|
|
88
153
|
|
|
89
154
|
1. `protocol/fast-path.yaml`
|
|
90
155
|
2. `protocol/router.yaml`
|
|
91
|
-
3.
|
|
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.
|
|
92
158
|
|
|
93
159
|
## Regras de execucao
|
|
94
160
|
|
|
95
161
|
- Classifique o risco antes de agir.
|
|
96
162
|
- Use o menor contexto suficiente.
|
|
97
163
|
- Leia apenas os arquivos indicados por `protocol/router.yaml`.
|
|
164
|
+
- Use `protocol/route-packs.yaml` antes de abrir todos os arquivos da rota.
|
|
98
165
|
- Quando houver contexto grande, historico longo ou risco de confusao, use
|
|
99
166
|
`protocol/context-compiler.yaml` antes de abrir muitos arquivos.
|
|
100
167
|
- Use `protocol/spec-driven.yaml` para feature, refatoracao grande ou tarefa
|
|
@@ -190,6 +257,19 @@ def install_aiignore(target: Path) -> None:
|
|
|
190
257
|
target.write_text("\n".join(lines).strip() + "\n", encoding="utf-8")
|
|
191
258
|
|
|
192
259
|
|
|
260
|
+
def write_if_missing(path: Path, text: str) -> None:
|
|
261
|
+
if path.exists():
|
|
262
|
+
return
|
|
263
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
264
|
+
path.write_text(text, encoding="utf-8")
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
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)
|
|
271
|
+
|
|
272
|
+
|
|
193
273
|
def print_dry_run(target_root: Path, force: bool) -> None:
|
|
194
274
|
print(f"DRY-RUN target -> {target_root.resolve()}")
|
|
195
275
|
print(("update" if (target_root / "AGENTS.md").exists() else "create") + ":AGENTS.md")
|
|
@@ -220,6 +300,7 @@ def install(target: str, force: bool, dry_run: bool = False) -> int:
|
|
|
220
300
|
|
|
221
301
|
install_agents(target_root / "AGENTS.md")
|
|
222
302
|
install_aiignore(target_root / ".aiignore")
|
|
303
|
+
install_context_templates(target_root)
|
|
223
304
|
copy_protocol(target_root / "protocol", force, backup_root)
|
|
224
305
|
|
|
225
306
|
print(f"installed protocol -> {target_root}")
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: protocol_index
|
|
2
2
|
type: index
|
|
3
3
|
format: yaml
|
|
4
|
-
protocol_version: 0.2.
|
|
4
|
+
protocol_version: 0.2.1
|
|
5
5
|
purpose: ai_operational_rules
|
|
6
6
|
source_docs: ../docs
|
|
7
7
|
constraints:
|
|
@@ -13,6 +13,8 @@ files:
|
|
|
13
13
|
purpose: minimum_rules_to_start_any_task
|
|
14
14
|
- path: router.yaml
|
|
15
15
|
purpose: choose_minimum_files_to_read_by_task
|
|
16
|
+
- path: route-packs.yaml
|
|
17
|
+
purpose: compact_first_read_before_full_route_files
|
|
16
18
|
- path: modes.yaml
|
|
17
19
|
purpose: choose_fast_balanced_or_strict_behavior
|
|
18
20
|
- path: execution-rules.yaml
|
|
@@ -5,6 +5,7 @@ context_policy:
|
|
|
5
5
|
use: minimum_sufficient_context
|
|
6
6
|
prefer:
|
|
7
7
|
- context_map_before_domain_docs
|
|
8
|
+
- atomic_subject_docs_before_broad_docs
|
|
8
9
|
- aliases_for_search_not_truth
|
|
9
10
|
- targeted_search
|
|
10
11
|
- relevant_snippets
|
|
@@ -16,12 +17,24 @@ context_policy:
|
|
|
16
17
|
- mixing_old_and_current_docs
|
|
17
18
|
- treating_conversation_as_source_of_truth
|
|
18
19
|
- treating_aliases_as_verified_behavior
|
|
20
|
+
- reading_broad_docs_when_atomic_subject_doc_exists
|
|
19
21
|
file_size:
|
|
20
22
|
max_lines: 400
|
|
21
23
|
when_near_limit:
|
|
22
24
|
- split_by_subject
|
|
23
25
|
- keep_main_file_short
|
|
24
26
|
- update_index
|
|
27
|
+
subject_docs:
|
|
28
|
+
rule: docs_should_be_grouped_by_searchable_subject_not_only_by_size
|
|
29
|
+
do:
|
|
30
|
+
- create_or_update_one_doc_per_domain_flow_decision_or_component
|
|
31
|
+
- use_filename_terms_that_match_likely_user_requests_and_code_symbols
|
|
32
|
+
- use_rg_to_find_exact_code_symbols_after_reading_subject_doc
|
|
33
|
+
- verify_code_before_treating_doc_as_truth
|
|
34
|
+
avoid:
|
|
35
|
+
- fragmenting_into_micro_docs_without_standalone_subject
|
|
36
|
+
- duplicating_same_subject_across_docs
|
|
37
|
+
- keeping_cross_domain_docs_without_links_to_specific_subject_docs
|
|
25
38
|
memory:
|
|
26
39
|
record:
|
|
27
40
|
- stable_decision
|
|
@@ -6,6 +6,7 @@ priority:
|
|
|
6
6
|
second: human_readability
|
|
7
7
|
principles:
|
|
8
8
|
- one_main_subject_per_file
|
|
9
|
+
- atomic_docs_by_trackable_subject
|
|
9
10
|
- stable_keys
|
|
10
11
|
- direct_names
|
|
11
12
|
- short_lists
|
|
@@ -73,3 +74,29 @@ maintenance:
|
|
|
73
74
|
if_near_limit:
|
|
74
75
|
- split_by_theme
|
|
75
76
|
- update_readme
|
|
77
|
+
atomic_documentation:
|
|
78
|
+
principle: one_file_one_trackable_subject
|
|
79
|
+
use_for:
|
|
80
|
+
- domain
|
|
81
|
+
- flow
|
|
82
|
+
- decision
|
|
83
|
+
- component
|
|
84
|
+
- integration
|
|
85
|
+
- validation_area
|
|
86
|
+
naming:
|
|
87
|
+
do:
|
|
88
|
+
- include_search_terms_in_filename
|
|
89
|
+
- prefer_domain_flow_or_component_names
|
|
90
|
+
- keep_titles_matching_filename_subject
|
|
91
|
+
avoid:
|
|
92
|
+
- generic_names_like_general_notes_part1
|
|
93
|
+
- duplicate_files_for_same_subject
|
|
94
|
+
- oversized_docs_with_multiple_unrelated_subjects
|
|
95
|
+
split_when:
|
|
96
|
+
- file_has_multiple_independent_subjects
|
|
97
|
+
- file_nears_line_limit
|
|
98
|
+
- rg_search_would_match_unrelated_sections
|
|
99
|
+
update_when_split:
|
|
100
|
+
- docs_readme
|
|
101
|
+
- index_or_context_map_when_relevant
|
|
102
|
+
- aliases_when_subject_terms_change
|
|
@@ -29,7 +29,7 @@ progressive_retrieval:
|
|
|
29
29
|
- match_domain_or_alias_in_context_map
|
|
30
30
|
- read_canonical_state_when_project_truth_matters
|
|
31
31
|
- read_active_decisions_for_domain
|
|
32
|
-
-
|
|
32
|
+
- read_only_needed_atomic_subject_docs
|
|
33
33
|
- search_candidate_symbols_or_files
|
|
34
34
|
- read_relevant_snippet_first
|
|
35
35
|
- read_direct_dependencies_when_needed
|
|
@@ -101,3 +101,29 @@ validation:
|
|
|
101
101
|
- state_context_used_when_relevant
|
|
102
102
|
- state_context_not_loaded_when_excluded_for_economy
|
|
103
103
|
- escalate_context_if_snippet_is_insufficient
|
|
104
|
+
- update_subject_index_when_docs_are_split
|
|
105
|
+
atomic_subject_flow:
|
|
106
|
+
order:
|
|
107
|
+
- identify_subject_terms_from_request
|
|
108
|
+
- find_subject_doc_by_context_map_index_or_rg
|
|
109
|
+
- read_subject_doc_before_broad_doc
|
|
110
|
+
- use_rg_for_exact_code_symbol_or_term
|
|
111
|
+
- read_code_snippet_first
|
|
112
|
+
- expand_to_full_file_or_related_doc_when_needed
|
|
113
|
+
failure_mitigations:
|
|
114
|
+
fragmentation:
|
|
115
|
+
- do_not_create_doc_for_micro_detail_without_standalone_subject
|
|
116
|
+
- merge_or_link_overlapping_docs
|
|
117
|
+
bad_names:
|
|
118
|
+
- include_domain_flow_component_or_symbol_terms_in_filename
|
|
119
|
+
duplicates:
|
|
120
|
+
- search_existing_docs_before_creating_new_doc
|
|
121
|
+
- prefer_updating_existing_subject_doc
|
|
122
|
+
stale_docs:
|
|
123
|
+
- verify_current_code_before_behavior_claim
|
|
124
|
+
- report_stale_doc_risk
|
|
125
|
+
wrong_search_terms:
|
|
126
|
+
- use_aliases_and_synonyms_as_search_terms
|
|
127
|
+
- search_docs_and_code_with_rg
|
|
128
|
+
insufficient_snippet:
|
|
129
|
+
- expand_to_imports_types_callers_or_full_file
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
id: route_packs
|
|
2
|
+
type: route_summary_index
|
|
3
|
+
version: 0.1
|
|
4
|
+
purpose: compact_first_read_before_full_route_files
|
|
5
|
+
principle: read_pack_first_expand_only_when_needed
|
|
6
|
+
use:
|
|
7
|
+
- after_router_selects_route
|
|
8
|
+
- before_opening_all_route_files
|
|
9
|
+
- when_task_is_clear_enough_for_compact_rules
|
|
10
|
+
expand_when:
|
|
11
|
+
- risk_or_scope_is_unclear
|
|
12
|
+
- validation_plan_is_not_clear
|
|
13
|
+
- route_pack_conflicts_with_user_request
|
|
14
|
+
- task_is_level_2_or_3_and_impact_is_not_mapped
|
|
15
|
+
- yaml_schema_or_exact_rule_text_is_needed
|
|
16
|
+
packs:
|
|
17
|
+
simple_answer:
|
|
18
|
+
risk: 0
|
|
19
|
+
read_if_pack_insufficient:
|
|
20
|
+
- fast-path.yaml
|
|
21
|
+
do:
|
|
22
|
+
- answer_directly
|
|
23
|
+
- avoid_plan_or_file_reads
|
|
24
|
+
- keep_po_pm_ok_short_when_required
|
|
25
|
+
small_fix:
|
|
26
|
+
risk: 1
|
|
27
|
+
read_if_pack_insufficient:
|
|
28
|
+
- fast-path.yaml
|
|
29
|
+
- validation-checklist.yaml
|
|
30
|
+
do:
|
|
31
|
+
- identify_small_reversible_target
|
|
32
|
+
- read_focused_context
|
|
33
|
+
- change_minimum_needed
|
|
34
|
+
- validate_directly
|
|
35
|
+
user_flow_bug:
|
|
36
|
+
risk: 2
|
|
37
|
+
read_if_pack_insufficient:
|
|
38
|
+
- context-compiler.yaml
|
|
39
|
+
- risk-levels.yaml
|
|
40
|
+
- mapping-checklists.yaml
|
|
41
|
+
- validation-checklist.yaml
|
|
42
|
+
do:
|
|
43
|
+
- map_flow_candidate_files_and_regression_risk
|
|
44
|
+
- read_snippets_before_full_files
|
|
45
|
+
- preserve_expected_behavior
|
|
46
|
+
- validate_main_success_and_failure_paths
|
|
47
|
+
refactor:
|
|
48
|
+
risk: 2
|
|
49
|
+
read_if_pack_insufficient:
|
|
50
|
+
- context-compiler.yaml
|
|
51
|
+
- mapping-checklists.yaml
|
|
52
|
+
- validation-checklist.yaml
|
|
53
|
+
- spec-driven.yaml
|
|
54
|
+
do:
|
|
55
|
+
- define_behavior_to_preserve
|
|
56
|
+
- keep_scope_incremental
|
|
57
|
+
- avoid_new_features
|
|
58
|
+
- validate_behavior_after_change
|
|
59
|
+
feature_or_spec:
|
|
60
|
+
risk: 2
|
|
61
|
+
read_if_pack_insufficient:
|
|
62
|
+
- context-compiler.yaml
|
|
63
|
+
- risk-levels.yaml
|
|
64
|
+
- mapping-checklists.yaml
|
|
65
|
+
- validation-checklist.yaml
|
|
66
|
+
- spec-driven.yaml
|
|
67
|
+
do:
|
|
68
|
+
- use_light_spec_when_scope_or_risk_benefits
|
|
69
|
+
- define_objective_scope_validation
|
|
70
|
+
- implement_incrementally
|
|
71
|
+
- avoid_full_spec_for_small_clear_tasks
|
|
72
|
+
docs_update:
|
|
73
|
+
risk: 1
|
|
74
|
+
read_if_pack_insufficient:
|
|
75
|
+
- context-rules.yaml
|
|
76
|
+
- formatting-rules.yaml
|
|
77
|
+
do:
|
|
78
|
+
- update_only_affected_docs
|
|
79
|
+
- keep_docs_atomic_by_subject
|
|
80
|
+
- verify_links_or_references
|
|
81
|
+
- update_index_when_structure_changes
|
|
82
|
+
database_or_data:
|
|
83
|
+
risk: 3
|
|
84
|
+
read_if_pack_insufficient:
|
|
85
|
+
- context-compiler.yaml
|
|
86
|
+
- risk-levels.yaml
|
|
87
|
+
- mapping-checklists.yaml
|
|
88
|
+
- validation-checklist.yaml
|
|
89
|
+
- spec-driven.yaml
|
|
90
|
+
do:
|
|
91
|
+
- map_affected_data
|
|
92
|
+
- avoid_destructive_action_without_confirmation
|
|
93
|
+
- define_backup_or_rollback
|
|
94
|
+
- validate_before_and_after
|
|
95
|
+
auth_security_secret:
|
|
96
|
+
risk: 3
|
|
97
|
+
read_if_pack_insufficient:
|
|
98
|
+
- context-compiler.yaml
|
|
99
|
+
- risk-levels.yaml
|
|
100
|
+
- mapping-checklists.yaml
|
|
101
|
+
- validation-checklist.yaml
|
|
102
|
+
- spec-driven.yaml
|
|
103
|
+
do:
|
|
104
|
+
- map_security_surface
|
|
105
|
+
- avoid_exposing_secrets
|
|
106
|
+
- require_confirmation_for_sensitive_write
|
|
107
|
+
- validate_allowed_and_denied_paths
|
|
108
|
+
deploy_or_production:
|
|
109
|
+
risk: 3
|
|
110
|
+
read_if_pack_insufficient:
|
|
111
|
+
- context-compiler.yaml
|
|
112
|
+
- risk-levels.yaml
|
|
113
|
+
- validation-checklist.yaml
|
|
114
|
+
- context-rules.yaml
|
|
115
|
+
- spec-driven.yaml
|
|
116
|
+
do:
|
|
117
|
+
- verify_local_state
|
|
118
|
+
- run_pre_deploy_validation
|
|
119
|
+
- require_confirmation_before_deploy
|
|
120
|
+
- run_post_deploy_check_if_executed
|
|
121
|
+
evaluate_response:
|
|
122
|
+
read_if_pack_insufficient:
|
|
123
|
+
- ../eval/rubric.yaml
|
|
124
|
+
- ../schema/evaluated-response.schema.json
|
|
125
|
+
do:
|
|
126
|
+
- score_risk_behavior_avoidance_delivery_clarity
|
|
127
|
+
- apply_automatic_fail_rules
|
|
128
|
+
create_or_edit_yaml:
|
|
129
|
+
read_if_pack_insufficient:
|
|
130
|
+
- formatting-rules.yaml
|
|
131
|
+
- ../schema/protocol-rule.schema.yaml
|
|
132
|
+
do:
|
|
133
|
+
- keep_yaml_compact
|
|
134
|
+
- validate_schema_when_available
|
|
135
|
+
- update_index_when_new_file_is_added
|
|
136
|
+
prompt_improvement:
|
|
137
|
+
read_if_pack_insufficient:
|
|
138
|
+
- prompt-economy.yaml
|
|
139
|
+
do:
|
|
140
|
+
- preserve_user_intent
|
|
141
|
+
- improve_only_as_much_as_needed
|
|
142
|
+
- keep_prompt_proportional_to_risk
|
|
143
|
+
- avoid_long_specs_for_simple_tasks
|
|
144
|
+
context_optimization:
|
|
145
|
+
read_if_pack_insufficient:
|
|
146
|
+
- persistent-context.yaml
|
|
147
|
+
- context-rules.yaml
|
|
148
|
+
- context-compiler.yaml
|
|
149
|
+
do:
|
|
150
|
+
- use_context_map_and_aliases_as_pointers
|
|
151
|
+
- read_atomic_subject_doc_before_broad_doc
|
|
152
|
+
- search_with_rg_before_full_file_reads
|
|
153
|
+
- expand_context_without_expanding_scope
|
|
@@ -96,6 +96,8 @@ routes:
|
|
|
96
96
|
rules:
|
|
97
97
|
- start_with_default_read
|
|
98
98
|
- choose_one_route_if_task_type_is_clear
|
|
99
|
+
- read_route_pack_before_full_route_files_when_available
|
|
100
|
+
- expand_from_route_pack_only_when_needed
|
|
99
101
|
- if_route_unclear_read_risk_levels_then_choose_route
|
|
100
102
|
- do_not_read_docs_unless_protocol_is_insufficient
|
|
101
103
|
- do_not_read_cases_unless_testing_or_comparing_behavior
|
{ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ai-execution-protocol
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
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
|
|
@@ -80,6 +80,7 @@ continuam obrigatorios em tarefas criticas.
|
|
|
80
80
|
- `decisions/`: decisoes importantes com status.
|
|
81
81
|
- `docs/`: explicacoes conceituais em Markdown.
|
|
82
82
|
- `protocol/`: regras operacionais curtas em YAML.
|
|
83
|
+
- `protocol/route-packs.yaml`: resumos compactos para reduzir leitura por rota.
|
|
83
84
|
- `cases/`: casos estruturados para testar o comportamento da IA.
|
|
84
85
|
- `examples/`: exemplos humanos de uso do framework.
|
|
85
86
|
- `schema/`: contratos para manter os YAML padronizados.
|
|
@@ -100,8 +101,9 @@ continuam obrigatorios em tarefas criticas.
|
|
|
100
101
|
4. Confirme o alvo atual em `config.yaml`.
|
|
101
102
|
5. Leia `protocol/fast-path.yaml`.
|
|
102
103
|
6. Use `protocol/router.yaml` para escolher o menor contexto suficiente.
|
|
103
|
-
7.
|
|
104
|
-
8.
|
|
104
|
+
7. Consulte `protocol/route-packs.yaml` antes de abrir todos os YAML da rota.
|
|
105
|
+
8. Abra arquivos completos apenas quando o resumo compacto nao bastar.
|
|
106
|
+
9. Execute, valide e entregue com evidencia.
|
|
105
107
|
|
|
106
108
|
Regra de seguranca da v0.2.0:
|
|
107
109
|
|
|
@@ -124,8 +126,7 @@ Comece por:
|
|
|
124
126
|
- `docs/04-janela-de-contexto.md`
|
|
125
127
|
- `docs/05-validacao-e-entrega.md`
|
|
126
128
|
- `docs/15-contexto-persistente.md`
|
|
127
|
-
- `docs/
|
|
128
|
-
- `docs/16-release-e-atualizacao.md`
|
|
129
|
+
- `docs/17-documentacao-atomica.md`
|
|
129
130
|
|
|
130
131
|
Use `docs/` para entender a metodologia. Use `protocol/` quando quiser aplicar
|
|
131
132
|
as regras em uma tarefa real.
|
|
@@ -192,20 +193,6 @@ python scripts/verify_install.py --target C:\caminho\projeto
|
|
|
192
193
|
|
|
193
194
|
O final esperado da verificacao e `PASS`.
|
|
194
195
|
|
|
195
|
-
## Publicacao
|
|
196
|
-
|
|
197
|
-
Antes de publicar, revise `docs/14-publicacao.md`.
|
|
198
|
-
Para atualizar uma versao ja publicada, revise `docs/16-release-e-atualizacao.md`.
|
|
199
|
-
|
|
200
|
-
Resumo minimo:
|
|
201
|
-
|
|
202
|
-
- nao publique `.env`, chaves, tokens, senhas, logs reais ou dados de cliente;
|
|
203
|
-
- mantenha artefatos gerados fora do Git quando nao forem necessarios;
|
|
204
|
-
- use `.gitignore`;
|
|
205
|
-
- publique com `README.md`, `LICENSE`, `docs/`, `protocol/`, `cases/`,
|
|
206
|
-
`examples/`, `schema/`, `eval/` e `scripts/` quando fizer sentido;
|
|
207
|
-
- preserve o posicionamento como pesquisa experimental e framework em evolucao.
|
|
208
|
-
|
|
209
196
|
## Licenca
|
|
210
197
|
|
|
211
198
|
Distribuido sob a licenca MIT. Veja `LICENSE`.
|
|
@@ -21,6 +21,7 @@ ai_execution_protocol/protocol/modes.yaml
|
|
|
21
21
|
ai_execution_protocol/protocol/persistent-context.yaml
|
|
22
22
|
ai_execution_protocol/protocol/prompt-economy.yaml
|
|
23
23
|
ai_execution_protocol/protocol/risk-levels.yaml
|
|
24
|
+
ai_execution_protocol/protocol/route-packs.yaml
|
|
24
25
|
ai_execution_protocol/protocol/router.yaml
|
|
25
26
|
ai_execution_protocol/protocol/spec-driven.yaml
|
|
26
27
|
ai_execution_protocol/protocol/validation-checklist.yaml
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ai-execution-protocol"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.1"
|
|
8
8
|
description = "Experimental AI execution protocol for safer agent workflows, minimal context, risk classification, validation, and evidence-based delivery."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
File without changes
|
{ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/__init__.py
RENAMED
|
File without changes
|
{ai_execution_protocol-0.2.0 → ai_execution_protocol-0.2.1}/ai_execution_protocol/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|