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.
- package/AGENTS.md +5 -1
- package/README.md +41 -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 +4 -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 +1 -1
- package/dist/minimal/context-map.yaml +1 -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 +9 -1
- package/dist/minimal/protocol/capability-gate.yaml +56 -0
- package/dist/minimal/protocol/capability-router.yaml +1 -1
- package/dist/minimal/protocol/context-rules.yaml +2 -1
- package/dist/minimal/protocol/fast-path.yaml +6 -1
- package/dist/minimal/protocol/intelligence-router.yaml +63 -0
- package/dist/minimal/protocol/route-packs.yaml +38 -1
- package/dist/minimal/protocol/router.yaml +28 -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 +27 -2
- package/package.json +9 -2
- package/protocol/README.yaml +9 -1
- package/protocol/capability-gate.yaml +56 -0
- package/protocol/capability-router.yaml +1 -1
- package/protocol/context-rules.yaml +2 -1
- package/protocol/fast-path.yaml +6 -1
- package/protocol/intelligence-router.yaml +63 -0
- package/protocol/route-packs.yaml +38 -1
- package/protocol/router.yaml +28 -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 +46 -0
- 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 +4 -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 +1 -1
- package/templates/minimal/context-map.yaml +1 -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
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
id: fast_path
|
|
2
2
|
type: agent_entrypoint
|
|
3
|
-
version: 0.
|
|
3
|
+
version: 0.4.0
|
|
4
4
|
purpose: minimum_rules_to_start_any_task
|
|
5
5
|
read_next:
|
|
6
6
|
- router.yaml
|
|
7
7
|
- route-packs.yaml
|
|
8
8
|
- context-budget.yaml
|
|
9
9
|
- capability-router.yaml
|
|
10
|
+
- capability-gate.yaml
|
|
11
|
+
- intelligence-router.yaml
|
|
10
12
|
- modes.yaml
|
|
11
13
|
core_rules:
|
|
12
14
|
- classify_risk_before_action
|
|
@@ -26,6 +28,9 @@ core_rules:
|
|
|
26
28
|
- check_memory_update_result_after_task
|
|
27
29
|
- use_selective_validation_by_blast_radius
|
|
28
30
|
- select_minimum_capability_set_before_loading_skills_or_mcps
|
|
31
|
+
- require_capability_plan_before_skill_mcp_or_remote_tool_use
|
|
32
|
+
- choose_intelligence_level_proportional_to_risk_and_complexity
|
|
33
|
+
- follow_behavioral_execution_contract
|
|
29
34
|
risk_short:
|
|
30
35
|
level_0: answer_only
|
|
31
36
|
level_1: small_clear_reversible_isolated_change
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
id: intelligence_router
|
|
2
|
+
type: operational_rules
|
|
3
|
+
version: 0.4.0
|
|
4
|
+
purpose: choose_model_reasoning_and_effort_proportional_to_task_need
|
|
5
|
+
principle: use_the_cheapest_sufficient_intelligence_without_trading_correctness
|
|
6
|
+
levels:
|
|
7
|
+
minimal:
|
|
8
|
+
use_when:
|
|
9
|
+
- level_0_direct_answer
|
|
10
|
+
- no_current_external_data_needed
|
|
11
|
+
- no_file_change
|
|
12
|
+
model_need: low_cost_fast
|
|
13
|
+
reasoning_depth: low
|
|
14
|
+
tools: none
|
|
15
|
+
standard:
|
|
16
|
+
use_when:
|
|
17
|
+
- level_1_small_change
|
|
18
|
+
- focused_file_read
|
|
19
|
+
- simple_validation
|
|
20
|
+
model_need: default
|
|
21
|
+
reasoning_depth: medium
|
|
22
|
+
tools: local_only
|
|
23
|
+
deep:
|
|
24
|
+
use_when:
|
|
25
|
+
- level_2_flow_bug
|
|
26
|
+
- refactor
|
|
27
|
+
- ambiguous_impact
|
|
28
|
+
- failed_first_validation
|
|
29
|
+
model_need: stronger_or_more_reasoning
|
|
30
|
+
reasoning_depth: high
|
|
31
|
+
tools: selected_local_or_targeted_remote
|
|
32
|
+
critical:
|
|
33
|
+
use_when:
|
|
34
|
+
- level_3_data_auth_security_deploy_publish_destructive
|
|
35
|
+
- high_blast_radius
|
|
36
|
+
- irreversible_or_external_side_effect
|
|
37
|
+
model_need: strongest_available_for_task
|
|
38
|
+
reasoning_depth: high_with_audit
|
|
39
|
+
tools: least_privilege_confirmed
|
|
40
|
+
escalate_when:
|
|
41
|
+
- risk_level_increases
|
|
42
|
+
- ambiguity_blocks_safe_action
|
|
43
|
+
- validation_fails
|
|
44
|
+
- context_conflict_detected
|
|
45
|
+
- external_current_data_is_required
|
|
46
|
+
- specialized_modality_is_required
|
|
47
|
+
deescalate_when:
|
|
48
|
+
- task_is_direct_answer
|
|
49
|
+
- no_code_or_external_state_needed
|
|
50
|
+
- validation_plan_is_trivial
|
|
51
|
+
- previous_high_risk_assumption_is_not_supported_by_evidence
|
|
52
|
+
never_trade:
|
|
53
|
+
- security
|
|
54
|
+
- correctness
|
|
55
|
+
- required_validation
|
|
56
|
+
- explicit_user_scope
|
|
57
|
+
delivery:
|
|
58
|
+
include_when_level_2_or_3:
|
|
59
|
+
- intelligence_level
|
|
60
|
+
- escalation_reason_if_any
|
|
61
|
+
- why_lower_level_was_not_enough
|
|
62
|
+
omit_for_level_0:
|
|
63
|
+
- model_discussion_unless_user_asks
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: route_packs
|
|
2
2
|
type: route_summary_index
|
|
3
|
-
version: 0.
|
|
3
|
+
version: 0.4.0
|
|
4
4
|
purpose: compact_first_read_before_full_route_files
|
|
5
5
|
principle: read_pack_first_expand_only_when_needed
|
|
6
6
|
use:
|
|
@@ -120,10 +120,12 @@ packs:
|
|
|
120
120
|
- run_post_deploy_check_if_executed
|
|
121
121
|
evaluate_response:
|
|
122
122
|
read_if_pack_insufficient:
|
|
123
|
+
- ../behavior/contract.yaml
|
|
123
124
|
- ../eval/rubric.yaml
|
|
124
125
|
- ../schema/evaluated-response.schema.json
|
|
125
126
|
do:
|
|
126
127
|
- score_risk_behavior_avoidance_delivery_clarity
|
|
128
|
+
- check_behavior_contract_alignment
|
|
127
129
|
- apply_automatic_fail_rules
|
|
128
130
|
create_or_edit_yaml:
|
|
129
131
|
read_if_pack_insufficient:
|
|
@@ -186,10 +188,45 @@ packs:
|
|
|
186
188
|
risk: adaptive
|
|
187
189
|
read_if_pack_insufficient:
|
|
188
190
|
- capability-router.yaml
|
|
191
|
+
- capability-gate.yaml
|
|
189
192
|
- context-budget.yaml
|
|
190
193
|
do:
|
|
191
194
|
- define_required_outcomes_and_operations
|
|
192
195
|
- select_smallest_available_capability_set
|
|
193
196
|
- load_only_selected_skill_or_mcp
|
|
194
197
|
- require_confirmation_for_sensitive_remote_effect
|
|
198
|
+
- audit_used_capabilities_against_selected_plan
|
|
195
199
|
- stop_discovery_when_quality_coverage_is_complete
|
|
200
|
+
intelligence_selection:
|
|
201
|
+
risk: adaptive
|
|
202
|
+
read_if_pack_insufficient:
|
|
203
|
+
- intelligence-router.yaml
|
|
204
|
+
- context-budget.yaml
|
|
205
|
+
do:
|
|
206
|
+
- choose_cheapest_sufficient_intelligence_level
|
|
207
|
+
- escalate_for_risk_ambiguity_validation_failure_or_large_context
|
|
208
|
+
- deescalate_when_task_is_direct_and_low_risk
|
|
209
|
+
- do_not_trade_security_correctness_or_validation_for_cost
|
|
210
|
+
behavior_evaluation:
|
|
211
|
+
risk: 1
|
|
212
|
+
read_if_pack_insufficient:
|
|
213
|
+
- ../behavior/contract.yaml
|
|
214
|
+
- ../behavior/audit-checklist.yaml
|
|
215
|
+
- ../eval/rubric.yaml
|
|
216
|
+
do:
|
|
217
|
+
- compare_response_to_observable_behaviors
|
|
218
|
+
- verify_simple_tasks_are_not_overprocessed
|
|
219
|
+
- verify_critical_tasks_are_not_undercontrolled
|
|
220
|
+
- apply_behavior_automatic_fail_rules
|
|
221
|
+
dataset_preparation:
|
|
222
|
+
risk: 1
|
|
223
|
+
read_if_pack_insufficient:
|
|
224
|
+
- ../behavior/contract.yaml
|
|
225
|
+
- ../behavior/audit-checklist.yaml
|
|
226
|
+
- prompt-economy.yaml
|
|
227
|
+
- ../dataset/README.md
|
|
228
|
+
do:
|
|
229
|
+
- create_examples_from_observable_behavior
|
|
230
|
+
- include_good_bad_and_reason
|
|
231
|
+
- keep_training_examples_consistent
|
|
232
|
+
- avoid_rewarding_bureaucracy
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id: protocol_router
|
|
2
2
|
type: read_router
|
|
3
|
-
version: 0.
|
|
3
|
+
version: 0.4.0
|
|
4
4
|
purpose: choose_minimum_protocol_files_by_task
|
|
5
5
|
default_read:
|
|
6
6
|
- fast-path.yaml
|
|
@@ -76,8 +76,17 @@ routes:
|
|
|
76
76
|
evaluate_response:
|
|
77
77
|
read:
|
|
78
78
|
- fast-path.yaml
|
|
79
|
+
- ../behavior/contract.yaml
|
|
79
80
|
- ../eval/rubric.yaml
|
|
80
81
|
- ../schema/evaluated-response.schema.json
|
|
82
|
+
behavior_evaluation:
|
|
83
|
+
risk: 1
|
|
84
|
+
read:
|
|
85
|
+
- fast-path.yaml
|
|
86
|
+
- ../behavior/contract.yaml
|
|
87
|
+
- ../behavior/audit-checklist.yaml
|
|
88
|
+
- ../eval/rubric.yaml
|
|
89
|
+
- ../dataset/README.md
|
|
81
90
|
create_or_edit_yaml:
|
|
82
91
|
read:
|
|
83
92
|
- fast-path.yaml
|
|
@@ -118,7 +127,22 @@ routes:
|
|
|
118
127
|
read:
|
|
119
128
|
- fast-path.yaml
|
|
120
129
|
- capability-router.yaml
|
|
130
|
+
- capability-gate.yaml
|
|
131
|
+
- context-budget.yaml
|
|
132
|
+
intelligence_selection:
|
|
133
|
+
risk: adaptive
|
|
134
|
+
read:
|
|
135
|
+
- fast-path.yaml
|
|
136
|
+
- intelligence-router.yaml
|
|
121
137
|
- context-budget.yaml
|
|
138
|
+
dataset_preparation:
|
|
139
|
+
risk: 1
|
|
140
|
+
read:
|
|
141
|
+
- fast-path.yaml
|
|
142
|
+
- ../behavior/contract.yaml
|
|
143
|
+
- ../behavior/audit-checklist.yaml
|
|
144
|
+
- prompt-economy.yaml
|
|
145
|
+
- ../dataset/README.md
|
|
122
146
|
rules:
|
|
123
147
|
- start_with_default_read
|
|
124
148
|
- choose_one_route_if_task_type_is_clear
|
|
@@ -127,6 +151,9 @@ rules:
|
|
|
127
151
|
- apply_context_budget_to_selected_route
|
|
128
152
|
- retrieve_only_matching_memory_subjects
|
|
129
153
|
- select_capabilities_before_loading_skill_or_connecting_mcp
|
|
154
|
+
- require_capability_gate_before_invocation
|
|
155
|
+
- route_model_or_reasoning_effort_by_risk_and_complexity
|
|
156
|
+
- use_behavior_contract_when_task_is_about_adherence_dataset_or_training
|
|
130
157
|
- if_route_unclear_read_risk_levels_then_choose_route
|
|
131
158
|
- do_not_read_docs_unless_protocol_is_insufficient
|
|
132
159
|
- do_not_read_cases_unless_testing_or_comparing_behavior
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 00 - Visao Geral
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
Uma IA que trabalha em codigo, projetos ou tarefas tecnicas nao deve apenas
|
|
6
|
+
obedecer ao prompt literal. Ela deve entender a intencao real, classificar o
|
|
7
|
+
risco, buscar o contexto minimo, executar com escopo controlado e entregar com
|
|
8
|
+
evidencia.
|
|
9
|
+
|
|
10
|
+
O objetivo nao e criar um prompt maior. O objetivo e criar um metodo de
|
|
11
|
+
decisao.
|
|
12
|
+
|
|
13
|
+
## Nome de trabalho
|
|
14
|
+
|
|
15
|
+
Protocolo de Execucao Segura para IA.
|
|
16
|
+
|
|
17
|
+
## Problema que resolve
|
|
18
|
+
|
|
19
|
+
Pedidos humanos costumam ser curtos, informais ou incompletos. Sem metodo, a IA
|
|
20
|
+
pode alterar arquivos antes de entender impacto, ler contexto demais, tratar
|
|
21
|
+
tarefa critica como simples ou entregar sem provar o que validou.
|
|
22
|
+
|
|
23
|
+
## Camadas
|
|
24
|
+
|
|
25
|
+
1. Filosofia: interpretar, reduzir risco e executar com evidencia.
|
|
26
|
+
2. Processo: entender, classificar risco, buscar contexto, mapear, alterar,
|
|
27
|
+
validar e entregar.
|
|
28
|
+
3. Operacao: usar templates e regras YAML curtas para guiar agentes.
|
|
29
|
+
4. Contexto: compilar apenas o pacote minimo necessario antes de raciocinar.
|
|
30
|
+
|
|
31
|
+
## Principio principal
|
|
32
|
+
|
|
33
|
+
O processo deve ser proporcional ao risco.
|
|
34
|
+
|
|
35
|
+
Tarefa simples deve ser rapida. Tarefa com banco, autenticacao, seguranca,
|
|
36
|
+
deploy, dados reais ou comandos destrutivos exige mapa critico, confirmacao e
|
|
37
|
+
validacao forte.
|
|
38
|
+
|
|
39
|
+
A conversa nao deve ser fonte da verdade. A fonte da verdade deve ser o estado
|
|
40
|
+
atual verificado por `INDEX.yaml`, `config.yaml`, protocolo instalado e arquivos
|
|
41
|
+
lidos na tarefa atual.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 01 - Modelo de Execucao
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
A IA deve transformar um pedido humano em uma tarefa tecnica clara e escolher o
|
|
6
|
+
menor caminho seguro.
|
|
7
|
+
|
|
8
|
+
## Fluxo
|
|
9
|
+
|
|
10
|
+
1. Entender o objetivo.
|
|
11
|
+
2. Identificar a area provavel.
|
|
12
|
+
3. Avaliar risco.
|
|
13
|
+
4. Buscar contexto minimo suficiente.
|
|
14
|
+
5. Planejar a menor alteracao segura.
|
|
15
|
+
6. Executar.
|
|
16
|
+
7. Validar.
|
|
17
|
+
8. Explicar resultado, limites e pendencias.
|
|
18
|
+
|
|
19
|
+
## Quando mostrar interpretacao
|
|
20
|
+
|
|
21
|
+
Mostre a interpretacao tecnica quando houver ambiguidade, risco, multiplas
|
|
22
|
+
interpretacoes ou pedido explicito.
|
|
23
|
+
|
|
24
|
+
Para tarefas simples, resolver direto costuma ser melhor.
|
|
25
|
+
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# 02 - Niveis de Risco
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
O volume de contexto e planejamento deve acompanhar o risco.
|
|
6
|
+
|
|
7
|
+
## Nivel 0
|
|
8
|
+
|
|
9
|
+
Resposta simples. Nao altera arquivo e nao executa acao sensivel.
|
|
10
|
+
|
|
11
|
+
## Nivel 1
|
|
12
|
+
|
|
13
|
+
Caminho rapido. A tarefa e clara, pequena, reversivel e isolada.
|
|
14
|
+
|
|
15
|
+
## Nivel 2
|
|
16
|
+
|
|
17
|
+
Mapa de impacto. Use quando ha comportamento relevante, mais de um arquivo,
|
|
18
|
+
ambiguidade ou impacto para usuario.
|
|
19
|
+
|
|
20
|
+
## Nivel 3
|
|
21
|
+
|
|
22
|
+
Mapa critico. Use quando envolve dados reais, seguranca, autenticacao,
|
|
23
|
+
permissoes, banco, deploy, integracoes criticas ou comandos destrutivos.
|
|
24
|
+
|
|
25
|
+
## Regra de subida
|
|
26
|
+
|
|
27
|
+
Comece pequeno. Suba o nivel quando aparecer evidencia de risco. Nunca reduza o
|
|
28
|
+
nivel ignorando risco ja descoberto.
|
|
29
|
+
|
|
30
|
+
## Classificacao proporcional
|
|
31
|
+
|
|
32
|
+
Nao trate toda tarefa com varios passos como nivel 3.
|
|
33
|
+
|
|
34
|
+
Comece pelo menor nivel seguro para o escopo conhecido. Suba apenas quando
|
|
35
|
+
aparecer evidencia concreta: dados reais, autenticacao, permissoes, banco,
|
|
36
|
+
deploy, segredo, comando destrutivo ou impacto incerto em fluxo existente.
|
|
37
|
+
|
|
38
|
+
Se a tarefa puder ser dividida, classifique cada subtarefa pelo proprio escopo.
|
|
39
|
+
Uma parte critica pode continuar bloqueada em nivel 3 enquanto uma parte segura
|
|
40
|
+
segue como nivel 1 ou 2.
|
|
41
|
+
|
|
42
|
+
Isso tambem economiza contexto: a IA nao precisa carregar contexto critico para
|
|
43
|
+
uma subtarefa segura, mas deve manter o risco critico registrado quando ele
|
|
44
|
+
continua no pedido original.
|
|
45
|
+
|
|
46
|
+
## Acao critica bloqueada
|
|
47
|
+
|
|
48
|
+
Se uma tarefa foi classificada como nivel 3 e a parte critica nao pode ser
|
|
49
|
+
executada, nao reduza o risco da tarefa original apenas para economizar
|
|
50
|
+
contexto.
|
|
51
|
+
|
|
52
|
+
Marque a parte critica como bloqueada ou pendente. Depois, se houver partes
|
|
53
|
+
seguras e uteis, separe essas partes como subtarefas menores e classifique cada
|
|
54
|
+
uma pelo proprio escopo.
|
|
55
|
+
|
|
56
|
+
Exemplo: se o pedido e publicar em producao, mas nao existe acesso ao deploy, o
|
|
57
|
+
deploy continua nivel 3 bloqueado. Preparar README, revisar `.gitignore` ou
|
|
58
|
+
montar comandos de publicacao pode ser tratado como subtarefa segura, com
|
|
59
|
+
contexto menor.
|
|
60
|
+
|
|
61
|
+
So reduza o escopo quando a acao critica for removida explicitamente do pedido
|
|
62
|
+
ou quando nova evidencia provar que o risco critico nao se aplica.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 03 - Mapeamento Antes de Alterar
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
Antes de modificar, a IA deve saber o que esta alterando, por que esta
|
|
6
|
+
alterando e como provar que funcionou.
|
|
7
|
+
|
|
8
|
+
## Mapa minimo
|
|
9
|
+
|
|
10
|
+
Use em tarefas simples:
|
|
11
|
+
|
|
12
|
+
- objetivo;
|
|
13
|
+
- area afetada;
|
|
14
|
+
- arquivos candidatos;
|
|
15
|
+
- risco;
|
|
16
|
+
- plano;
|
|
17
|
+
- validacao.
|
|
18
|
+
|
|
19
|
+
## Mapa de impacto
|
|
20
|
+
|
|
21
|
+
Use em tarefas medias:
|
|
22
|
+
|
|
23
|
+
- objetivo real;
|
|
24
|
+
- fluxo tecnico;
|
|
25
|
+
- arquivos candidatos;
|
|
26
|
+
- riscos e efeitos colaterais;
|
|
27
|
+
- fora do escopo;
|
|
28
|
+
- plano de alteracao;
|
|
29
|
+
- rollback mental;
|
|
30
|
+
- validacao esperada.
|
|
31
|
+
|
|
32
|
+
## Mapa critico
|
|
33
|
+
|
|
34
|
+
Use em tarefas sensiveis:
|
|
35
|
+
|
|
36
|
+
- dados afetados;
|
|
37
|
+
- permissoes;
|
|
38
|
+
- superficie de seguranca;
|
|
39
|
+
- riscos criticos;
|
|
40
|
+
- plano seguro;
|
|
41
|
+
- confirmacao necessaria;
|
|
42
|
+
- rollback.
|
|
43
|
+
|
|
44
|
+
## Regra pratica
|
|
45
|
+
|
|
46
|
+
Nao editar arquivo que nao foi identificado como candidato. Se um novo arquivo
|
|
47
|
+
se tornar necessario, atualizar o mapa antes de editar.
|
|
48
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 04 - Janela de Contexto
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
Janela de contexto e o limite de informacao que a IA consegue considerar em uma
|
|
6
|
+
conversa ou execucao.
|
|
7
|
+
|
|
8
|
+
Ela inclui mensagens, instrucoes, arquivos lidos, outputs, logs, diffs e
|
|
9
|
+
resumos.
|
|
10
|
+
|
|
11
|
+
## Risco
|
|
12
|
+
|
|
13
|
+
Contexto demais aumenta custo e pode fazer a IA misturar decisoes antigas com
|
|
14
|
+
informacoes novas.
|
|
15
|
+
|
|
16
|
+
## Boas praticas
|
|
17
|
+
|
|
18
|
+
- Manter cada arquivo com no maximo 400 linhas.
|
|
19
|
+
- Ler trechos em vez de arquivos inteiros quando possivel.
|
|
20
|
+
- Usar busca textual para localizar a parte relevante.
|
|
21
|
+
- Evitar repetir regras longas no chat.
|
|
22
|
+
- Separar historico de estado atual.
|
|
23
|
+
- Tratar a conversa como interface, nao como fonte da verdade.
|
|
24
|
+
- Usar `protocol/context-compiler.yaml` para montar um pacote minimo de contexto
|
|
25
|
+
antes de tarefas grandes ou com historico confuso.
|
|
26
|
+
- Abrir nova conversa quando a continuidade ficar arriscada.
|
|
27
|
+
|
|
28
|
+
## MVP recomendado
|
|
29
|
+
|
|
30
|
+
Antes de bancos vetoriais ou grafo completo, use:
|
|
31
|
+
|
|
32
|
+
- `canonical-state.yaml` como estado atual resumido;
|
|
33
|
+
- `context-map.yaml` como mapa de dominios e aliases;
|
|
34
|
+
- `decisions/` para decisoes ativas;
|
|
35
|
+
- `INDEX.yaml` como mapa;
|
|
36
|
+
- `config.yaml` como estado atual;
|
|
37
|
+
- `protocol/router.yaml` como seletor de regras;
|
|
38
|
+
- busca textual para localizar arquivos candidatos;
|
|
39
|
+
- trechos relevantes em vez de arquivos inteiros;
|
|
40
|
+
- resumo de handoff quando a conversa ficar longa.
|
|
41
|
+
|
|
42
|
+
Meta economica: reduzir contexto desnecessario em ate 90% quando isso nao
|
|
43
|
+
prejudicar seguranca, classificacao de risco, precisao ou validacao.
|
|
44
|
+
|
|
45
|
+
Essa meta mede contexto irrelevante evitado. Ela nao autoriza ignorar arquivo,
|
|
46
|
+
dependencia ou validacao necessaria.
|
|
47
|
+
|
|
48
|
+
Use RAG, grafo de conhecimento ou cache semantico apenas quando o projeto tiver
|
|
49
|
+
volume real suficiente para justificar o custo.
|
|
50
|
+
|
|
51
|
+
## Limite de arquivo
|
|
52
|
+
|
|
53
|
+
Nenhum arquivo deve passar de 400 linhas.
|
|
54
|
+
|
|
55
|
+
Quando um arquivo se aproximar desse limite, dividir por assunto e manter um
|
|
56
|
+
indice curto.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 05 - Validacao e Entrega
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
Uma entrega so fica confiavel quando existe evidencia do que foi validado e do
|
|
6
|
+
que nao foi validado.
|
|
7
|
+
|
|
8
|
+
## Validacao automatica
|
|
9
|
+
|
|
10
|
+
Pode incluir testes, typecheck, build, lint, verificacao de links e checagem de
|
|
11
|
+
diff.
|
|
12
|
+
|
|
13
|
+
Selecione primeiro o menor conjunto capaz de provar o comportamento alterado.
|
|
14
|
+
Amplie para a suite completa quando a mudanca atingir contrato compartilhado,
|
|
15
|
+
instalacao, seguranca, varios modulos ou release.
|
|
16
|
+
|
|
17
|
+
## Validacao manual
|
|
18
|
+
|
|
19
|
+
Deve explicar onde testar, quais passos executar, resultado esperado e sinais de
|
|
20
|
+
regressao.
|
|
21
|
+
|
|
22
|
+
Quando houver chance de quebrar fluxo existente, impacto visual, dados,
|
|
23
|
+
permissao, build, deploy ou integracao, a IA deve entregar uma lista objetiva do
|
|
24
|
+
que testar manualmente.
|
|
25
|
+
|
|
26
|
+
## Transparencia
|
|
27
|
+
|
|
28
|
+
A IA nao deve dizer que algo foi testado se nao foi.
|
|
29
|
+
|
|
30
|
+
## Entrega clara
|
|
31
|
+
|
|
32
|
+
Quando houver interpretacao tecnica, uma boa resposta final separa:
|
|
33
|
+
|
|
34
|
+
- prompt original;
|
|
35
|
+
- prompt melhorado da IA;
|
|
36
|
+
- o que mudou;
|
|
37
|
+
- o que foi validado;
|
|
38
|
+
- o que nao foi validado;
|
|
39
|
+
- o que testar quando houver risco de quebra;
|
|
40
|
+
- risco residual;
|
|
41
|
+
- resumo em linguagem simples;
|
|
42
|
+
- proximo passo apenas quando necessario.
|
|
43
|
+
|
|
44
|
+
Por padrao, use uma linha por item. Cresca o formato somente quando risco,
|
|
45
|
+
validacao ou explicacao exigirem.
|
|
46
|
+
|
|
47
|
+
Uma resposta direta de nivel 0 pode omitir a comparacao de prompt quando nao
|
|
48
|
+
houver interpretacao de escopo.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# 06 - Memoria e Continuidade
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
Memoria ajuda a preservar decisoes, mas deve ser curta e seletiva.
|
|
6
|
+
|
|
7
|
+
## Registrar
|
|
8
|
+
|
|
9
|
+
- decisao estavel;
|
|
10
|
+
- regra recorrente;
|
|
11
|
+
- problema conhecido;
|
|
12
|
+
- checkpoint para retomada;
|
|
13
|
+
- comando ou validacao importante.
|
|
14
|
+
|
|
15
|
+
## Nao registrar
|
|
16
|
+
|
|
17
|
+
- logs longos;
|
|
18
|
+
- detalhes temporarios;
|
|
19
|
+
- historico sem utilidade futura;
|
|
20
|
+
- conclusoes sem evidencia;
|
|
21
|
+
- informacao especifica demais.
|
|
22
|
+
|
|
23
|
+
## Retomada
|
|
24
|
+
|
|
25
|
+
Quando for melhor abrir nova conversa, deixar resumo com objetivo, ultimo corte,
|
|
26
|
+
areas relevantes, validacoes feitas, pendencias e proximo passo.
|
|
27
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# 07 - Legibilidade Para IA
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
Os arquivos devem ser organizados para a IA ler e aplicar com o minimo de
|
|
6
|
+
ambiguidade.
|
|
7
|
+
|
|
8
|
+
## Regras
|
|
9
|
+
|
|
10
|
+
- Um assunto principal por arquivo.
|
|
11
|
+
- Um arquivo deve representar um assunto rastreavel, nao apenas ser curto.
|
|
12
|
+
- Titulos diretos e previsiveis.
|
|
13
|
+
- Listas curtas e objetivas.
|
|
14
|
+
- Regras antes de exemplos.
|
|
15
|
+
- Termos consistentes.
|
|
16
|
+
- Separar teoria, criterio, template e exemplo.
|
|
17
|
+
- Evitar texto decorativo.
|
|
18
|
+
- Evitar paragrafos longos escondendo decisao importante.
|
|
19
|
+
- Evitar nomes genericos como `geral.md`, `notas.md` ou `parte-1.md`.
|
|
20
|
+
|
|
21
|
+
## Documentacao atomica
|
|
22
|
+
|
|
23
|
+
Use arquivos por dominio, fluxo, decisao, componente ou integracao.
|
|
24
|
+
|
|
25
|
+
O nome do arquivo deve conter termos que a IA provavelmente buscaria. Depois de
|
|
26
|
+
abrir a doc certa, use `rg` para encontrar simbolos e trechos no codigo.
|
|
27
|
+
|
|
28
|
+
Regra curta:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
Doc atomica localiza.
|
|
32
|
+
rg encontra.
|
|
33
|
+
Codigo verificado decide.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Formato preferido
|
|
37
|
+
|
|
38
|
+
1. Ideia central.
|
|
39
|
+
2. Quando usar.
|
|
40
|
+
3. Regras.
|
|
41
|
+
4. Criterios.
|
|
42
|
+
5. Excecoes.
|
|
43
|
+
6. Exemplos.
|
|
44
|
+
7. Validacao ou entrega esperada.
|
|
45
|
+
|
|
46
|
+
Nem todo arquivo precisa ter todas as secoes. O importante e manter ordem
|
|
47
|
+
previsivel.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 08 - Posicionamento
|
|
2
|
+
|
|
3
|
+
## O que e
|
|
4
|
+
|
|
5
|
+
Um framework para orientar IA em tarefas tecnicas com risco controlado,
|
|
6
|
+
contexto minimo, validacao e entrega com evidencia.
|
|
7
|
+
|
|
8
|
+
## Para quem e
|
|
9
|
+
|
|
10
|
+
- Agentes de codigo.
|
|
11
|
+
- Assistentes em IDE.
|
|
12
|
+
- Times que usam IA para desenvolvimento.
|
|
13
|
+
- Pessoas que querem reduzir erro, retrabalho e custo de contexto.
|
|
14
|
+
|
|
15
|
+
## Problema que resolve
|
|
16
|
+
|
|
17
|
+
IA tecnica costuma errar quando age rapido demais, le contexto demais ou trata
|
|
18
|
+
tarefa critica como simples.
|
|
19
|
+
|
|
20
|
+
O framework cria um processo para a IA decidir antes de agir.
|
|
21
|
+
|
|
22
|
+
## O que nao tenta resolver
|
|
23
|
+
|
|
24
|
+
- Nao substitui testes reais.
|
|
25
|
+
- Nao substitui revisao humana em tarefa critica.
|
|
26
|
+
- Nao garante que a IA sempre esteja certa.
|
|
27
|
+
- Nao elimina necessidade de entender o projeto.
|
|
28
|
+
|
|
29
|
+
## Promessa
|
|
30
|
+
|
|
31
|
+
Reduzir erro operacional e custo de contexto ao fazer a IA:
|
|
32
|
+
|
|
33
|
+
- classificar risco;
|
|
34
|
+
- abrir menos arquivos;
|
|
35
|
+
- mapear impacto quando necessario;
|
|
36
|
+
- pedir confirmacao em tarefa critica;
|
|
37
|
+
- validar antes de entregar;
|
|
38
|
+
- explicar limites e risco residual.
|
|
39
|
+
|
|
40
|
+
## Como medir sucesso
|
|
41
|
+
|
|
42
|
+
- Menos arquivos lidos por tarefa.
|
|
43
|
+
- Menos tokens por rota.
|
|
44
|
+
- Mais tarefas com risco classificado corretamente.
|
|
45
|
+
- Menos acoes sensiveis sem confirmacao.
|
|
46
|
+
- Mais entregas com validacao clara.
|
|
47
|
+
- Menos regressao por mudanca fora de escopo.
|
|
48
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 09 - Governanca de Mudancas
|
|
2
|
+
|
|
3
|
+
## Ideia central
|
|
4
|
+
|
|
5
|
+
O protocolo deve evoluir sem perder clareza, economia e confiabilidade.
|
|
6
|
+
|
|
7
|
+
## Quando mudar uma regra
|
|
8
|
+
|
|
9
|
+
Mude uma regra quando houver:
|
|
10
|
+
|
|
11
|
+
- falha repetida em caso real;
|
|
12
|
+
- ambiguidade detectada por teste;
|
|
13
|
+
- custo alto de contexto;
|
|
14
|
+
- duplicacao clara;
|
|
15
|
+
- nova categoria de risco.
|
|
16
|
+
|
|
17
|
+
## Antes de mudar
|
|
18
|
+
|
|
19
|
+
- Identifique o arquivo certo.
|
|
20
|
+
- Verifique se a mudanca afeta `protocol/`, `cases/`, `eval/` ou `scripts/`.
|
|
21
|
+
- Evite duplicar regra existente.
|
|
22
|
+
- Mantenha o arquivo abaixo de 400 linhas.
|
|
23
|
+
|
|
24
|
+
## Depois de mudar
|
|
25
|
+
|
|
26
|
+
- Atualize indice relacionado.
|
|
27
|
+
- Se criar ou dividir docs, atualize `docs/README.md`, `INDEX.yaml` ou
|
|
28
|
+
`context-map.yaml` quando relevante.
|
|
29
|
+
- Verifique se a mudanca criou duplicidade entre assuntos.
|
|
30
|
+
- Atualize `CHANGELOG.md`.
|
|
31
|
+
- Rode `scripts/health_check.py`.
|
|
32
|
+
- Se mudar `protocol/`, rode `scripts/build_dist.py`.
|
|
33
|
+
- Se mudar avaliacao, rode benchmarks.
|
|
34
|
+
|
|
35
|
+
## Regra de economia
|
|
36
|
+
|
|
37
|
+
Toda mudanca deve reduzir ambiguidade sem aumentar contexto desnecessario.
|
|
38
|
+
|
|
39
|
+
## Regra para docs novas
|
|
40
|
+
|
|
41
|
+
Antes de criar uma doc nova, procure se o assunto ja existe:
|
|
42
|
+
|
|
43
|
+
```powershell
|
|
44
|
+
rg -n "termo-do-assunto|alias|simbolo" docs context-map.yaml INDEX.yaml
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Se existir, atualize a doc existente. Se nao existir e o assunto tiver valor
|
|
48
|
+
proprio, crie uma doc atomica com nome buscavel.
|