ai-execution-protocol 0.2.1 → 0.3.1

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 (48) hide show
  1. package/AGENTS.md +18 -1
  2. package/README.md +42 -6
  3. package/dist/minimal/.aiignore +8 -8
  4. package/dist/minimal/AGENTS.md +45 -63
  5. package/dist/minimal/candidate-memory/README.md +4 -0
  6. package/dist/minimal/canonical-state.yaml +16 -14
  7. package/dist/minimal/capabilities/registry.yaml +48 -0
  8. package/dist/minimal/context-map.yaml +23 -20
  9. package/dist/minimal/decisions/README.md +4 -7
  10. package/dist/minimal/memory/INDEX.yaml +20 -0
  11. package/dist/minimal/protocol/README.yaml +9 -1
  12. package/dist/minimal/protocol/adaptive-memory.yaml +97 -0
  13. package/dist/minimal/protocol/capability-router.yaml +123 -0
  14. package/dist/minimal/protocol/context-budget.yaml +44 -0
  15. package/dist/minimal/protocol/context-compiler.yaml +24 -1
  16. package/dist/minimal/protocol/fast-path.yaml +8 -1
  17. package/dist/minimal/protocol/persistent-context.yaml +13 -3
  18. package/dist/minimal/protocol/prompt-economy.yaml +16 -8
  19. package/dist/minimal/protocol/route-packs.yaml +43 -1
  20. package/dist/minimal/protocol/router.yaml +30 -1
  21. package/dist/minimal/protocol/selective-validation.yaml +44 -0
  22. package/dist/minimal/protocol/validation-checklist.yaml +10 -1
  23. package/install-manifest.json +75 -0
  24. package/package.json +3 -1
  25. package/protocol/README.yaml +9 -1
  26. package/protocol/adaptive-memory.yaml +97 -0
  27. package/protocol/capability-router.yaml +123 -0
  28. package/protocol/context-budget.yaml +44 -0
  29. package/protocol/context-compiler.yaml +24 -1
  30. package/protocol/fast-path.yaml +8 -1
  31. package/protocol/persistent-context.yaml +13 -3
  32. package/protocol/prompt-economy.yaml +16 -8
  33. package/protocol/route-packs.yaml +43 -1
  34. package/protocol/router.yaml +30 -1
  35. package/protocol/selective-validation.yaml +44 -0
  36. package/protocol/validation-checklist.yaml +10 -1
  37. package/scripts/README.md +75 -0
  38. package/scripts/build_dist.py +12 -151
  39. package/scripts/npm_install_protocol.js +10 -161
  40. package/scripts/verify_install.py +23 -79
  41. package/templates/minimal/.aiignore +8 -0
  42. package/templates/minimal/AGENTS.md +45 -0
  43. package/templates/minimal/candidate-memory/README.md +4 -0
  44. package/templates/minimal/canonical-state.yaml +16 -0
  45. package/templates/minimal/capabilities/registry.yaml +48 -0
  46. package/templates/minimal/context-map.yaml +23 -0
  47. package/templates/minimal/decisions/README.md +4 -0
  48. package/templates/minimal/memory/INDEX.yaml +20 -0
package/AGENTS.md CHANGED
@@ -25,7 +25,11 @@ metodologia. Para executar tarefas, prefira as regras curtas em `protocol/`.
25
25
  1. `protocol/fast-path.yaml`
26
26
  2. `protocol/router.yaml`
27
27
  3. `protocol/route-packs.yaml` para ler o resumo compacto da rota.
28
- 4. Arquivo YAML especifico em `protocol/` somente quando o pack nao bastar:
28
+ 4. `protocol/context-budget.yaml` para limitar a leitura inicial.
29
+ 5. `memory/INDEX.yaml` somente quando memoria puder ajudar.
30
+ 6. `protocol/capability-router.yaml` quando skills, MCPs ou ferramentas
31
+ opcionais puderem ser necessarios.
32
+ 7. Arquivo YAML especifico em `protocol/` somente quando o pack nao bastar:
29
33
  - `README.yaml`
30
34
  - `modes.yaml`
31
35
  - `execution-rules.yaml`
@@ -34,6 +38,10 @@ metodologia. Para executar tarefas, prefira as regras curtas em `protocol/`.
34
38
  - `validation-checklist.yaml`
35
39
  - `context-rules.yaml`
36
40
  - `context-compiler.yaml`
41
+ - `context-budget.yaml`
42
+ - `adaptive-memory.yaml`
43
+ - `capability-router.yaml`
44
+ - `selective-validation.yaml`
37
45
  - `route-packs.yaml`
38
46
  - `formatting-rules.yaml`
39
47
  - `prompt-economy.yaml`
@@ -57,6 +65,13 @@ metodologia. Para executar tarefas, prefira as regras curtas em `protocol/`.
57
65
  - Use o menor contexto suficiente.
58
66
  - Leia apenas os arquivos indicados por `protocol/router.yaml`.
59
67
  - Use `protocol/route-packs.yaml` antes de abrir todos os arquivos da rota.
68
+ - Respeite `protocol/context-budget.yaml` e justifique expansao.
69
+ - Use `protocol/capability-router.yaml` antes de carregar skills, MCPs ou
70
+ ferramentas opcionais.
71
+ - Leia apenas assuntos de memoria relacionados ao pedido.
72
+ - Ao terminar, registre `updated`, `unchanged`, `candidate`, `replaced` ou
73
+ `blocked_sensitive`.
74
+ - Use validacao seletiva e aumente apenas quando o impacto exigir.
60
75
  - Quando houver contexto grande, historico longo ou risco de confusao, use
61
76
  `protocol/context-compiler.yaml` antes de abrir muitos arquivos.
62
77
  - Siga `.aiignore` e `INDEX.yaml/read_policy.ignore_by_default` antes de abrir
@@ -66,6 +81,8 @@ metodologia. Para executar tarefas, prefira as regras curtas em `protocol/`.
66
81
  prefira micro formato legivel com `PO`, `PM` e `OK`.
67
82
  - Ao criar feature, refatoracao grande ou tarefa critica, use
68
83
  `protocol/spec-driven.yaml` sem transformar tarefa simples em spec pesada.
84
+ - Selecione apenas capacidades necessarias para cobrir resultado e validacao.
85
+ Risco maior restringe permissao; nao aumenta ferramentas por padrao.
69
86
  - Nao edite arquivo que nao foi identificado como candidato.
70
87
  - Se o risco subir, atualize a classificacao antes de continuar.
71
88
  - Para nivel critico, peca confirmacao antes de acao sensivel.
package/README.md CHANGED
@@ -31,15 +31,25 @@ 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.1, o framework combina memoria adaptativa, orcamento de contexto,
35
+ validacao seletiva e roteamento de capacidades:
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.
44
+
45
+ Skills, MCPs e ferramentas opcionais seguem outro limite:
46
+
47
+ ```text
48
+ resultado necessario -> capacidade minima -> permissao -> validacao
49
+ ```
50
+
51
+ Risco maior restringe permissoes. Ele nao aumenta automaticamente a quantidade
52
+ de ferramentas.
43
53
 
44
54
  ## Status
45
55
 
@@ -57,6 +67,9 @@ continuam obrigatorios em tarefas criticas.
57
67
  - `context-map.yaml`: mapa pequeno de dominios, aliases e arquivos candidatos.
58
68
  - `config.yaml`: configuracao do alvo atual e versao do protocolo.
59
69
  - `decisions/`: decisoes importantes com status.
70
+ - `memory/`: preferencias, estado e padroes duraveis validados.
71
+ - `candidate-memory/`: inferencias ainda nao autoritativas.
72
+ - `capabilities/`: registro pequeno de skills, MCPs e ferramentas conhecidas.
60
73
  - `docs/`: explicacoes conceituais em Markdown.
61
74
  - `protocol/`: regras operacionais curtas em YAML.
62
75
  - `protocol/route-packs.yaml`: resumos compactos para reduzir leitura por rota.
@@ -83,8 +96,10 @@ continuam obrigatorios em tarefas criticas.
83
96
  7. Consulte `protocol/route-packs.yaml` antes de abrir todos os YAML da rota.
84
97
  8. Abra arquivos completos apenas quando o resumo compacto nao bastar.
85
98
  9. Execute, valide e entregue com evidencia.
99
+ 10. Atualize memoria apenas quando surgir um fato duravel e seguro.
100
+ 11. Carregue apenas capacidades necessarias para resultado e validacao.
86
101
 
87
- Regra de seguranca da v0.2.0:
102
+ Regra de seguranca:
88
103
 
89
104
  ```text
90
105
  A IA pode expandir contexto.
@@ -106,6 +121,10 @@ Comece por:
106
121
  - `docs/05-validacao-e-entrega.md`
107
122
  - `docs/15-contexto-persistente.md`
108
123
  - `docs/17-documentacao-atomica.md`
124
+ - `docs/18-memoria-adaptativa.md`
125
+ - `docs/19-orcamento-de-contexto.md`
126
+ - `docs/20-validacao-seletiva.md`
127
+ - `docs/21-roteamento-de-capacidades.md`
109
128
 
110
129
  Use `docs/` para entender a metodologia. Use `protocol/` quando quiser aplicar
111
130
  as regras em uma tarefa real.
@@ -130,6 +149,14 @@ Meca custo aproximado de leitura por rota:
130
149
  python scripts/token_report.py
131
150
  ```
132
151
 
152
+ Valide a memoria e selecione apenas as verificacoes necessarias:
153
+
154
+ ```powershell
155
+ python scripts/memory_manager.py --root . validate
156
+ python scripts/selective_validation.py
157
+ python scripts/capability_router.py --risk 1 --operation read --tag code_search
158
+ ```
159
+
133
160
  ## Instalacao em outro projeto
134
161
 
135
162
  Projeto novo:
@@ -172,6 +199,15 @@ python scripts/verify_install.py --target C:\caminho\projeto
172
199
 
173
200
  O final esperado da verificacao e `PASS`.
174
201
 
202
+ Atualizacao pelos pacotes publicados:
203
+
204
+ ```powershell
205
+ npm install -g ai-execution-protocol@latest
206
+ python -m pip install --upgrade ai-execution-protocol
207
+ ai-protocol install C:\caminho\projeto
208
+ ai-protocol verify C:\caminho\projeto
209
+ ```
210
+
175
211
  ## Licenca
176
212
 
177
213
  Distribuido sob a licenca MIT. Veja `LICENSE`.
@@ -1,8 +1,8 @@
1
- # Context files ignored by default for AI reading.
2
-
3
- results/
4
- benchmarks/generated/
5
- model-runs/generated/
6
- dist/
7
- scripts/__pycache__/
8
- *.pyc
1
+ results/
2
+ benchmarks/generated/
3
+ model-runs/generated/
4
+ dist/
5
+ memory/archive/
6
+ candidate-memory/
7
+ scripts/__pycache__/
8
+ *.pyc
@@ -1,63 +1,45 @@
1
- # AGENTS.md
2
-
3
- ## Regra principal
4
-
5
- <!-- AI_PROTOCOL_BEGIN -->
6
-
7
- Use `protocol/fast-path.yaml` como entrada operacional minima.
8
-
9
- Siga `.aiignore` antes de abrir relatorios gerados.
10
-
11
- Este protocolo e obrigatorio para tarefas tecnicas neste projeto. Antes de
12
- editar, classifique risco, escolha rota e valide a entrega.
13
-
14
- ## Ordem de leitura
15
-
16
- 1. `protocol/fast-path.yaml`
17
- 2. `protocol/router.yaml`
18
- 3. `protocol/route-packs.yaml` para ler o resumo compacto da rota.
19
- 4. Arquivo YAML especifico em `protocol/` somente quando o pack nao bastar.
20
-
21
- ## Regras de execucao
22
-
23
- - Classifique o risco antes de agir.
24
- - Use o menor contexto suficiente.
25
- - Leia apenas os arquivos indicados por `protocol/router.yaml`.
26
- - Use `protocol/route-packs.yaml` antes de abrir todos os arquivos da rota.
27
- - Quando houver contexto grande, historico longo ou risco de confusao, use
28
- `protocol/context-compiler.yaml` antes de abrir muitos arquivos.
29
- - Use `protocol/spec-driven.yaml` para feature, refatoracao grande ou tarefa
30
- critica, sem criar spec pesada para tarefa simples.
31
- - Sempre entregue `Prompt original` e `Prompt melhorado da IA`; em baixo risco,
32
- prefira micro formato legivel com `PO`, `PM` e `OK`.
33
- - Nao edite arquivo que nao foi identificado como candidato.
34
- - Preserve documentos, regras de IDE e configuracoes de framework existentes,
35
- salvo pedido explicito do usuario.
36
- - Se o risco subir, atualize a classificacao antes de continuar.
37
- - Para nivel critico, peca confirmacao antes de acao sensivel.
38
- - Quando houver risco de quebrar fluxo existente, entregue uma lista do que
39
- testar.
40
- - Entregue com evidencia em poucas linhas: mudanca, validacao, limite e risco
41
- residual.
42
- - Explique o resultado em linguagem clara para uma pessoa leiga entender.
43
-
44
- ## Convivencia com arquivos existentes
45
-
46
- Quando houver conflito, siga esta prioridade:
47
-
48
- 1. pedido atual do usuario;
49
- 2. este bloco obrigatorio em `AGENTS.md`;
50
- 3. regras especificas da IDE ou do projeto;
51
- 4. docs e historico somente quando a rota pedir.
52
-
53
- Nao sobrescreva `README.md`, `docs/`, `.cursorrules`, `CLAUDE.md`,
54
- `.github/copilot-instructions.md` ou configs de framework sem pedido claro.
55
-
56
- ## Regras de organizacao
57
-
58
- - Nenhum arquivo deve passar de 400 linhas.
59
- - Organize primeiro para legibilidade por IA.
60
- - Use YAML para regras operacionais.
61
- - Evite duplicar a mesma regra em muitos lugares.
62
-
63
- <!-- AI_PROTOCOL_END -->
1
+ # AGENTS.md
2
+
3
+ ## Regra principal
4
+
5
+ <!-- AI_PROTOCOL_BEGIN -->
6
+
7
+ Use `protocol/fast-path.yaml` como entrada operacional minima.
8
+
9
+ Este protocolo e obrigatorio para tarefas tecnicas. Classifique risco, escolha
10
+ rota, consulte o pack compacto, carregue somente memoria relevante e valide a
11
+ entrega.
12
+
13
+ ## Ordem de leitura
14
+
15
+ 1. `protocol/fast-path.yaml`
16
+ 2. `protocol/router.yaml`
17
+ 3. `protocol/route-packs.yaml`
18
+ 4. `memory/INDEX.yaml` somente quando memoria puder ajudar
19
+ 5. `capabilities/registry.yaml` somente quando a tarefa exigir ferramenta
20
+ 6. YAML completo da rota somente quando o pack nao bastar
21
+
22
+ ## Regras de execucao
23
+
24
+ - Classifique o risco antes de agir.
25
+ - Use o menor contexto suficiente e respeite `protocol/context-budget.yaml`.
26
+ - Use `protocol/capability-router.yaml` para carregar somente skills, MCPs e
27
+ ferramentas necessarias.
28
+ - Risco maior restringe permissao; nao aumenta a quantidade por padrao.
29
+ - Memoria orienta; pedido atual autoriza; codigo verificado define realidade.
30
+ - Nunca amplie escopo com base em previsao ou preferencia antiga.
31
+ - Use `protocol/selective-validation.yaml` para escolher a menor prova suficiente.
32
+ - Ao terminar, verifique memoria: updated, unchanged, candidate, replaced ou
33
+ blocked_sensitive.
34
+ - Nao persista segredo, token, dado de cliente ou informacao pessoal desnecessaria.
35
+ - Para nivel critico, peca confirmacao antes de acao sensivel.
36
+ - Entregue mudanca, validacao, limite e risco residual em poucas linhas.
37
+
38
+ ## Regras de organizacao
39
+
40
+ - Nenhum arquivo fonte deve passar de 400 linhas.
41
+ - Organize por assunto rastreavel.
42
+ - Use YAML para operacao e Markdown para explicacao.
43
+ - Evite duplicar regras e memoria.
44
+
45
+ <!-- AI_PROTOCOL_END -->
@@ -0,0 +1,4 @@
1
+ # Candidate Memory
2
+
3
+ Store inferred, non-sensitive memory candidates here until evidence or user
4
+ confirmation is enough for promotion.
@@ -1,14 +1,16 @@
1
- id: canonical_state
2
- type: project_state
3
- version: 0.1
4
- purpose: small_current_truth_summary_for_ai_navigation
5
- status: bootstrap_template
6
- truth_order:
7
- - current_user_request
8
- - verified_current_files
9
- - protocol_rules
10
- - project_docs
11
- - conversation_history
12
- notes:
13
- - update_this_file_when_project_state_or_decisions_change
14
- - do_not_treat_this_file_as_truth_without_current_file_verification
1
+ id: canonical_state
2
+ type: project_state
3
+ version: 0.3.1
4
+ purpose: small_current_truth_summary_for_ai_navigation
5
+ status: bootstrap_template
6
+ truth_order:
7
+ - current_user_request
8
+ - verified_current_files
9
+ - active_project_decisions
10
+ - explicit_user_preferences
11
+ - inferred_patterns_with_evidence
12
+ - project_docs
13
+ - conversation_history
14
+ notes:
15
+ - memory_guides_current_request_authorizes
16
+ - update_when_verified_project_state_changes
@@ -0,0 +1,48 @@
1
+ id: capability_registry
2
+ type: capability_registry
3
+ version: 0.3.1
4
+ purpose: project_capabilities_available_to_the_agent
5
+ policy:
6
+ default_available: false
7
+ runtime_availability_must_be_verified: true
8
+ capabilities:
9
+ - id: local_search
10
+ type: local_tool
11
+ available: true
12
+ tags: [code_search, file_discovery]
13
+ operations: [read]
14
+ cost: {tokens: low, latency: low}
15
+ side_effect: none
16
+ confirmation: never
17
+ - id: local_files
18
+ type: local_tool
19
+ available: true
20
+ tags: [file_read, file_write]
21
+ operations: [read, write]
22
+ cost: {tokens: low, latency: low}
23
+ side_effect: local_write
24
+ confirmation: risk_based
25
+ - id: focused_skill
26
+ type: skill
27
+ available: runtime
28
+ tags: [domain_guidance]
29
+ operations: [read]
30
+ cost: {tokens: medium, latency: low}
31
+ side_effect: none
32
+ confirmation: never
33
+ - id: targeted_mcp
34
+ type: mcp
35
+ available: runtime
36
+ tags: [external_context, remote_operation]
37
+ operations: [read, write]
38
+ cost: {tokens: medium, latency: medium}
39
+ side_effect: remote_write
40
+ confirmation: operation_based
41
+ - id: publish_service
42
+ type: remote_service
43
+ available: runtime
44
+ tags: [publish]
45
+ operations: [publish]
46
+ cost: {tokens: low, latency: medium}
47
+ side_effect: publish
48
+ confirmation: always
@@ -1,20 +1,23 @@
1
- id: project_context_map
2
- type: context_map
3
- version: 0.1
4
- purpose: small_index_for_progressive_context_retrieval
5
- maintenance:
6
- current_mode: manual_bootstrap
7
- rule: aliases_are_pointers_not_truth
8
- read_first:
9
- - canonical-state.yaml
10
- - protocol/fast-path.yaml
11
- - protocol/router.yaml
12
- - protocol/route-packs.yaml
13
- domains: {}
14
- retrieval_policy:
15
- order:
16
- - match_domain_by_alias
17
- - read_domain_docs_only_when_needed
18
- - search_candidate_files_or_symbols
19
- - read_relevant_snippet_first
20
- - read_full_file_when_snippet_is_not_enough
1
+ id: project_context_map
2
+ type: context_map
3
+ version: 0.3.1
4
+ purpose: small_index_for_progressive_context_retrieval
5
+ maintenance:
6
+ current_mode: manual_bootstrap
7
+ rule: aliases_are_pointers_not_truth
8
+ read_first:
9
+ - canonical-state.yaml
10
+ - protocol/fast-path.yaml
11
+ - protocol/router.yaml
12
+ - protocol/route-packs.yaml
13
+ - memory/INDEX.yaml
14
+ - capabilities/registry.yaml
15
+ domains: {}
16
+ retrieval_policy:
17
+ order:
18
+ - match_domain_by_alias
19
+ - read_matching_memory_subjects
20
+ - read_domain_docs_only_when_needed
21
+ - search_candidate_files_or_symbols
22
+ - read_relevant_snippet_first
23
+ - read_full_file_when_snippet_is_not_enough
@@ -1,7 +1,4 @@
1
- # Decisions
2
-
3
- Use esta pasta para registrar decisoes estaveis que a IA deve considerar ao
4
- mapear contexto.
5
-
6
- Cada decisao deve indicar status, escopo, impacto e arquivo relacionado quando
7
- existir.
1
+ # Decisions
2
+
3
+ Record confirmed project decisions with status, scope, evidence and replacement
4
+ history.
@@ -0,0 +1,20 @@
1
+ id: memory_index
2
+ type: memory_index
3
+ version: 0.3.1
4
+ purpose: route_to_minimum_relevant_persistent_memory
5
+ policy:
6
+ - read_only_matching_subjects
7
+ - do_not_load_archive_by_default
8
+ - current_request_overrides_memory
9
+ - verified_files_override_stale_memory
10
+ entries: []
11
+ areas:
12
+ user:
13
+ path: memory/user/
14
+ projects:
15
+ path: memory/projects/
16
+ patterns:
17
+ path: memory/patterns/
18
+ archive:
19
+ path: memory/archive/
20
+ read_by_default: false
@@ -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.1
5
5
  purpose: ai_operational_rules
6
6
  source_docs: ../docs
7
7
  constraints:
@@ -25,12 +25,20 @@ 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
40
+ - path: capability-router.yaml
41
+ purpose: select_minimum_skills_mcps_and_tools_by_value_cost_and_risk
34
42
  - path: formatting-rules.yaml
35
43
  purpose: ai_readable_file_format
36
44
  - 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