@semacode/cli 1.5.17 → 1.5.18

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 (66) hide show
  1. package/README.md +104 -112
  2. package/SEMA_BRIEF.curto.txt +6 -6
  3. package/SEMA_BRIEF.md +17 -24
  4. package/SEMA_BRIEF.micro.txt +5 -5
  5. package/SEMA_INDEX.json +86 -224
  6. package/dist/drift.d.ts +3 -3
  7. package/dist/drift.js +5 -111
  8. package/dist/drift.js.map +1 -1
  9. package/dist/importador.d.ts +1 -1
  10. package/dist/importador.js +1 -200
  11. package/dist/importador.js.map +1 -1
  12. package/dist/index.js +59 -479
  13. package/dist/index.js.map +1 -1
  14. package/dist/projeto.js +0 -20
  15. package/dist/projeto.js.map +1 -1
  16. package/dist/tipos.d.ts +1 -1
  17. package/docs/AGENT_STARTER.md +9 -8
  18. package/docs/cli.md +106 -119
  19. package/docs/como-ensinar-a-sema-para-ia.md +4 -4
  20. package/docs/env.md +56 -56
  21. package/docs/fluxo-pratico-ia-sema.md +171 -167
  22. package/docs/integracao-com-ia.md +98 -96
  23. package/docs/mcp.md +51 -53
  24. package/docs/pagamento-ponta-a-ponta.md +11 -1
  25. package/docs/persistencia-vendor-first.md +1 -1
  26. package/docs/prompt-base-ia-sema.md +6 -5
  27. package/docs/rollback.md +1 -1
  28. package/docs/sintaxe.md +196 -394
  29. package/exemplos/agendamento.sema +0 -1
  30. package/exemplos/assinatura.sema +0 -3
  31. package/exemplos/auditoria.sema +2 -1
  32. package/exemplos/estoque.sema +2 -1
  33. package/exemplos/fila.sema +2 -3
  34. package/exemplos/multi_tenant.sema +2 -2
  35. package/exemplos/notificacao.sema +53 -2
  36. package/exemplos/operacao_estrategia.sema +231 -0
  37. package/exemplos/pagamento.sema +214 -2
  38. package/exemplos/pedido.sema +156 -20
  39. package/exemplos/replica_analitica_erp.sema +160 -0
  40. package/exemplos/webhook.sema +2 -4
  41. package/node_modules/@sema/gerador-css/package.json +1 -1
  42. package/node_modules/@sema/gerador-dart/package.json +1 -1
  43. package/node_modules/@sema/gerador-html/package.json +1 -1
  44. package/node_modules/@sema/gerador-javascript/package.json +1 -1
  45. package/node_modules/@sema/gerador-lua/package.json +1 -1
  46. package/node_modules/@sema/gerador-python/package.json +1 -1
  47. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  48. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +2 -4
  49. package/node_modules/@sema/nucleo/dist/formatador/index.js +14 -42
  50. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -1
  51. package/node_modules/@sema/nucleo/dist/ir/conversor.js +9 -204
  52. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  53. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -35
  54. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +0 -21
  55. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -1
  56. package/node_modules/@sema/nucleo/dist/parser/parser.js +0 -40
  57. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  58. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +6 -5
  59. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +76 -307
  60. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  61. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +2 -0
  62. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +32 -2
  63. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -1
  64. package/node_modules/@sema/nucleo/package.json +1 -1
  65. package/node_modules/@sema/padroes/package.json +1 -1
  66. package/package.json +14 -14
@@ -1,177 +1,181 @@
1
- # Fluxo Pratico para IA Antes de Editar `.sema`
2
-
1
+ # Fluxo Pratico para IA Antes de Editar `.sema`
2
+
3
3
  Este documento descreve o fluxo operacional recomendado para qualquer IA antes, durante e depois de alterar arquivos `.sema`.
4
4
 
5
5
  Se a IA seguir isso, ela trabalha com contexto. Se nao seguir, vira adivinhacao gourmet.
6
6
 
7
- ## Fluxo curto
8
-
9
- 1. ler contexto do projeto
10
- 2. identificar a capacidade da IA
11
- 3. identificar o modulo alvo
12
- 4. consultar o menor artefato semantico suficiente
13
- 5. editar
14
- 6. formatar
15
- 7. validar
16
- 8. verificar
17
-
18
- ## Fluxo detalhado
19
-
20
- ### Etapa 1. Ler contexto minimo
21
-
22
- Antes de tocar em qualquer arquivo, a IA deve ler:
23
-
24
- - [README.md](../README.md)
25
- - [integracao-com-ia.md](./integracao-com-ia.md)
26
- - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
27
-
28
- Se o trabalho estiver ligado a pagamento, ler tambem:
29
-
30
- - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
31
-
32
- ### Etapa 2. Escolher a faixa de capacidade
33
-
34
- Antes de despejar contexto na IA, escolha o que ela aguenta:
35
-
36
- - IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
37
- - IA media: `sema resumo --curto`, `briefing.min.json` e `drift.json`
38
- - IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
39
-
40
- ### Etapa 3. Ler o modulo alvo e um exemplo parecido
41
-
42
- A IA deve identificar:
43
-
44
- - qual arquivo sera editado
45
- - qual modulo esse arquivo representa
46
- - qual exemplo oficial mais se parece com o que precisa ser feito
47
-
48
- Regra pratica:
49
-
50
- - automacao: [automacao.sema](../exemplos/automacao.sema)
51
- - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
52
- - borda publica e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
53
-
54
- ### Etapa 4. Consultar AST e IR quando fizer sentido
55
-
56
- Antes de alterar, a IA deve executar:
57
-
58
- ```bash
59
- sema resumo caminho/arquivo.sema --curto --para mudanca
60
- sema ast caminho/arquivo.sema --json
61
- sema ir caminho/arquivo.sema --json
62
- ```
63
-
64
- Objetivo:
65
-
66
- - ver a forma sintatica quando a capacidade aguentar
67
- - ver a forma semantica resolvida quando a capacidade aguentar
68
- - evitar interpretar errado o contrato
69
-
70
- ### Etapa 5. Editar o `.sema`
71
-
7
+ O ponto central: Sema nao e texto para agradar humano. E contrato semantico IA-first. Humanos autorizam e revisam; a IA consome o contrato para decidir o proximo movimento.
8
+
9
+ ## Fluxo curto
10
+
11
+ 1. ler contexto do projeto
12
+ 2. identificar a capacidade da IA
13
+ 3. identificar o modulo alvo
14
+ 4. consultar o menor artefato semantico suficiente
15
+ 5. editar
16
+ 6. formatar
17
+ 7. validar
18
+ 8. verificar
19
+
20
+ ## Fluxo detalhado
21
+
22
+ ### Etapa 1. Ler contexto minimo
23
+
24
+ Antes de tocar em qualquer arquivo, a IA deve ler:
25
+
26
+ - [README.md](../README.md)
27
+ - [integracao-com-ia.md](./integracao-com-ia.md)
28
+ - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
29
+
30
+ Se o trabalho estiver ligado a pagamento, ler tambem:
31
+
32
+ - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
33
+
34
+ ### Etapa 2. Escolher a faixa de capacidade
35
+
36
+ Antes de despejar contexto na IA, escolha o que ela aguenta:
37
+
38
+ - IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
39
+ - IA media: `sema resumo --curto`, `briefing.min.json` e `drift.json`
40
+ - IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
41
+
42
+ ### Etapa 3. Ler o modulo alvo e um exemplo parecido
43
+
44
+ A IA deve identificar:
45
+
46
+ - qual arquivo sera editado
47
+ - qual modulo esse arquivo representa
48
+ - qual exemplo oficial mais se parece com o que precisa ser feito
49
+
50
+ Regra pratica:
51
+
52
+ - automacao: [automacao.sema](../exemplos/automacao.sema)
53
+ - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
54
+ - borda publica e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
55
+
56
+ ### Etapa 4. Consultar AST e IR quando fizer sentido
57
+
58
+ Antes de alterar, a IA deve executar:
59
+
60
+ ```bash
61
+ sema resumo caminho/arquivo.sema --curto --para mudanca
62
+ sema ast caminho/arquivo.sema --json
63
+ sema ir caminho/arquivo.sema --json
64
+ ```
65
+
66
+ Objetivo:
67
+
68
+ - ver a forma sintatica quando a capacidade aguentar
69
+ - ver a forma semantica resolvida quando a capacidade aguentar
70
+ - evitar interpretar errado o contrato
71
+
72
+ ### Etapa 5. Editar o `.sema`
73
+
72
74
  Ao editar, a IA deve:
73
75
 
74
76
  - preservar a intencao do modulo
75
77
  - seguir a gramatica existente
76
78
  - evitar criar bloco ou operador nao suportado
77
79
  - preferir a forma ja usada nos exemplos oficiais
78
-
79
- ### Etapa 6. Formatar
80
-
81
- Depois da edicao:
82
-
83
- ```bash
84
- sema formatar caminho/arquivo.sema
85
- sema formatar caminho/arquivo.sema --check
86
- ```
87
-
88
- Se `--check` falhar, o trabalho ainda nao esta pronto.
89
-
90
- ### Etapa 7. Validar e diagnosticar
91
-
92
- Depois da formatacao:
93
-
94
- ```bash
95
- sema validar caminho/arquivo.sema --json
96
- sema diagnosticos caminho/arquivo.sema --json
97
- ```
98
-
99
- Se houver falha:
100
-
101
- - usar os diagnosticos estruturados como contrato de correcao
102
- - nao insistir em leitura manual teimosa quando a CLI ja disse onde esta a merda
103
-
104
- ### Etapa 7.5. Compilar quando a tarefa pedir codigo derivado
105
-
106
- Se a tarefa nao for so editar contrato, mas tambem gerar base de implementacao, a IA deve rodar explicitamente:
107
-
108
- ```bash
109
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
110
- ```
111
-
112
- Ou trocar o alvo para `python`, `dart` ou `lua`, conforme o caso.
113
-
114
- Regra pratica:
115
-
116
- - se a entrega inclui codigo derivado, `sema compilar` nao e opcional
117
- - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema ja gera sozinha, que e burrice operacional
118
-
119
- ### Etapa 8. Verificar
120
-
121
- No fechamento:
122
-
123
- ```bash
124
- sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
125
- ```
126
-
127
- ## Fluxo minimo para automacao
128
-
129
- Se voce quiser o menor fluxo aceitavel para uma IA pequena:
130
-
131
- ```bash
132
- sema resumo caminho/arquivo.sema --micro --para mudanca
133
- sema formatar caminho/arquivo.sema
134
- sema validar caminho/arquivo.sema --json
135
- ```
136
-
137
- Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
138
-
139
- Se a tarefa envolver codigo derivado, o fluxo minimo aceitavel vira:
140
-
141
- ```bash
142
- sema ir caminho/arquivo.sema --json
143
- sema formatar caminho/arquivo.sema
144
- sema validar caminho/arquivo.sema --json
145
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
146
- ```
147
-
148
- ## Checklist de saida
149
-
150
- Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
151
-
152
- - eu entendi o modulo e o contrato?
153
- - eu mantive a sintaxe dentro do que a linguagem suporta?
154
- - eu formatei o arquivo?
155
- - eu validei?
156
- - eu olhei diagnosticos se algo falhou?
157
- - eu fechei com verificacao?
158
-
159
- Se alguma resposta for "nao", ainda nao terminou.
160
-
161
- ## Regra de ouro
162
-
163
- Em Sema, a IA nao deveria operar no escuro.
164
-
165
- Ela deve trabalhar sempre com:
166
-
167
- - exemplo oficial
168
- - AST
169
- - IR
170
- - diagnosticos
171
- - formatador
172
-
173
- Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e nao so no discurso bonito.
174
-
175
- ## Observacao sobre caminhos
176
-
177
- Esta documentacao usa placeholders de arquivo e pasta, nao caminhos do monorepo da Sema. A IA deve adaptar isso ao projeto atual e continuar tratando `sema` como interface publica principal.
80
+ - usar blocos existentes como `auth`, `authz`, `dados`, `audit`, `forbidden`, `execucao`, `use`, `state` e `enum` antes de propor sintaxe nova
81
+ - evitar teste fraco em task sensivel; `expect { sucesso: verdadeiro }` sozinho nao prova semantica operacional
82
+
83
+ ### Etapa 6. Formatar
84
+
85
+ Depois da edicao:
86
+
87
+ ```bash
88
+ sema formatar caminho/arquivo.sema
89
+ sema formatar caminho/arquivo.sema --check
90
+ ```
91
+
92
+ Se `--check` falhar, o trabalho ainda nao esta pronto.
93
+
94
+ ### Etapa 7. Validar e diagnosticar
95
+
96
+ Depois da formatacao:
97
+
98
+ ```bash
99
+ sema validar caminho/arquivo.sema --json
100
+ sema diagnosticos caminho/arquivo.sema --json
101
+ ```
102
+
103
+ Se houver falha:
104
+
105
+ - usar os diagnosticos estruturados como contrato de correcao
106
+ - nao insistir em leitura manual teimosa quando a CLI ja disse onde esta a merda
107
+
108
+ ### Etapa 7.5. Compilar quando a tarefa pedir codigo derivado
109
+
110
+ Se a tarefa nao for so editar contrato, mas tambem gerar base de implementacao, a IA deve rodar explicitamente:
111
+
112
+ ```bash
113
+ sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
114
+ ```
115
+
116
+ Ou trocar o alvo para `python` ou `dart`, conforme o caso.
117
+
118
+ Regra pratica:
119
+
120
+ - se a entrega inclui codigo derivado, `sema compilar` nao e opcional
121
+ - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema ja gera sozinha, que e burrice operacional
122
+
123
+ ### Etapa 8. Verificar
124
+
125
+ No fechamento:
126
+
127
+ ```bash
128
+ sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
129
+ ```
130
+
131
+ ## Fluxo minimo para automacao
132
+
133
+ Se voce quiser o menor fluxo aceitavel para uma IA pequena:
134
+
135
+ ```bash
136
+ sema resumo caminho/arquivo.sema --micro --para mudanca
137
+ sema formatar caminho/arquivo.sema
138
+ sema validar caminho/arquivo.sema --json
139
+ ```
140
+
141
+ Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
142
+
143
+ Se a tarefa envolver codigo derivado, o fluxo minimo aceitavel vira:
144
+
145
+ ```bash
146
+ sema ir caminho/arquivo.sema --json
147
+ sema formatar caminho/arquivo.sema
148
+ sema validar caminho/arquivo.sema --json
149
+ sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
150
+ ```
151
+
152
+ ## Checklist de saida
153
+
154
+ Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
155
+
156
+ - eu entendi o modulo e o contrato?
157
+ - eu mantive a sintaxe dentro do que a linguagem suporta?
158
+ - eu formatei o arquivo?
159
+ - eu validei?
160
+ - eu olhei diagnosticos se algo falhou?
161
+ - eu fechei com verificacao?
162
+
163
+ Se alguma resposta for "nao", ainda nao terminou.
164
+
165
+ ## Regra de ouro
166
+
167
+ Em Sema, a IA nao deveria operar no escuro.
168
+
169
+ Ela deve trabalhar sempre com:
170
+
171
+ - exemplo oficial
172
+ - AST
173
+ - IR
174
+ - diagnosticos
175
+ - formatador
176
+
177
+ Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e nao so no discurso bonito.
178
+
179
+ ## Observacao sobre caminhos
180
+
181
+ Esta documentacao usa placeholders de arquivo e pasta, nao caminhos do monorepo da Sema. A IA deve adaptar isso ao projeto atual e continuar tratando `sema` como interface publica principal.
@@ -1,101 +1,103 @@
1
- # Integracao com IA
2
-
3
- Sema foi feita para IA operar software vivo com menos adivinhacao.
4
-
5
- ## Ordem recomendada
6
-
7
- 1. `sema inspecionar . --json`
8
- 2. `sema resumo <arquivo-ou-pasta> --micro --para onboarding`
9
- 3. `sema drift <arquivo-ou-pasta> --json`
10
- 4. `sema contexto-ia <arquivo.sema> --saida <diretorio> --json`
11
-
12
- Nao comece cavando codigo bruto quando a ferramenta ja consegue te dar contrato, score, lacuna e superficie viva.
13
-
14
- ## Por capacidade do modelo
15
-
16
- IA pequena:
17
-
18
- - `sema resumo --micro`
19
- - `briefing.min.json`
20
- - `prompt-curto.txt`
21
-
22
- IA media:
23
-
24
- - `sema resumo --curto`
25
- - `drift.json`
26
- - `briefing.min.json`
27
-
28
- IA grande:
29
-
30
- - `sema contexto-ia`
31
- - `briefing.json`
32
- - `ir.json`
33
- - `ast.json`
34
-
35
- ## MCP
36
-
37
- Se o agente usa MCP:
38
-
39
- ```bash
40
- npm install -g @semacode/cli @semacode/mcp
41
- ```
42
-
43
- Depois configure:
44
-
45
- ```json
46
- {
47
- "mcpServers": {
48
- "sema": {
49
- "command": "npx",
50
- "args": ["-y", "@semacode/mcp"]
51
- }
52
- }
53
- }
54
- ```
55
-
56
- Ferramentas mais uteis no fluxo de mudanca:
57
-
58
- - `sema_drift` para medir coerencia viva
59
- - `sema_impacto` para dizer o que tocar
60
- - `sema_renomear_semantico` para guiar troca de nomes sem misturar payload antigo e novo
61
- - `sema_docs_impacto` para obrigar leitura das docs relacionadas antes de agir
62
- - `sema_finalizar_mudanca` para bloquear conclusao sem leitura documental comprovada
63
-
64
- As ferramentas MCP usam a CLI como backend operacional. Portanto, suporte de linguagem como Lua em `use`, `impl`, IR, `drift` e importacao fica disponivel no MCP quando `@semacode/cli` e `@semacode/mcp` estao na mesma linha publica.
65
-
66
- ## Portao documental
67
-
68
- Antes de editar ou executar operacao sensivel, declare a intencao:
69
-
70
- ```bash
71
- sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
72
- ```
73
-
74
- Leia todos os itens em `leituraObrigatoria`. Se `docsAusentes` vier preenchido, crie ou complete os documentos antes da acao.
75
-
76
- Antes de concluir:
77
-
78
- ```bash
79
- sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
80
- ```
81
-
82
- Se houver diagnostico de severidade 4+, a IA nao deve finalizar a mudanca.
83
-
84
- ## Regras praticas
85
-
1
+ # Integracao com IA
2
+
3
+ Sema foi feita para IA operar software vivo com menos adivinhacao. O consumidor principal nao e o humano lendo arquivo bonito; e o agente decidindo o que pode tocar, que efeito vai causar e como validar antes de mexer no codigo vivo.
4
+
5
+ Humanos entram como autores, revisores e aprovadores do contrato. A ponte da Sema e da intencao operacional para um formato que IA consegue consumir sem transformar contexto em chute.
6
+
7
+ ## Ordem recomendada
8
+
9
+ 1. `sema inspecionar . --json`
10
+ 2. `sema resumo <arquivo-ou-pasta> --micro --para onboarding`
11
+ 3. `sema drift <arquivo-ou-pasta> --json`
12
+ 4. `sema contexto-ia <arquivo.sema> --saida <diretorio> --json`
13
+
14
+ Nao comece cavando codigo bruto quando a ferramenta ja consegue te dar contrato, score, lacuna e superficie viva.
15
+
16
+ ## Por capacidade do modelo
17
+
18
+ IA pequena:
19
+
20
+ - `sema resumo --micro`
21
+ - `briefing.min.json`
22
+ - `prompt-curto.txt`
23
+
24
+ IA media:
25
+
26
+ - `sema resumo --curto`
27
+ - `drift.json`
28
+ - `briefing.min.json`
29
+
30
+ IA grande:
31
+
32
+ - `sema contexto-ia`
33
+ - `briefing.json`
34
+ - `ir.json`
35
+ - `ast.json`
36
+
37
+ ## MCP
38
+
39
+ Se o agente usa MCP:
40
+
41
+ ```bash
42
+ npm install -g @semacode/cli @semacode/mcp
43
+ ```
44
+
45
+ Depois configure:
46
+
47
+ ```json
48
+ {
49
+ "mcpServers": {
50
+ "sema": {
51
+ "command": "npx",
52
+ "args": ["-y", "@semacode/mcp"]
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ Ferramentas mais uteis no fluxo de mudanca:
59
+
60
+ - `sema_drift` para medir coerencia viva
61
+ - `sema_impacto` para dizer o que tocar
62
+ - `sema_renomear_semantico` para guiar troca de nomes sem misturar payload antigo e novo
63
+ - `sema_docs_impacto` para obrigar leitura das docs relacionadas antes de agir
64
+ - `sema_finalizar_mudanca` para bloquear conclusao sem leitura documental comprovada
65
+
66
+ ## Portao documental
67
+
68
+ Antes de editar ou executar operacao sensivel, declare a intencao:
69
+
70
+ ```bash
71
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
72
+ ```
73
+
74
+ Leia todos os itens em `leituraObrigatoria`. Se `docsAusentes` vier preenchido, crie ou complete os documentos antes da acao.
75
+
76
+ Antes de concluir:
77
+
78
+ ```bash
79
+ sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
80
+ ```
81
+
82
+ Se houver diagnostico de severidade 4+, a IA nao deve finalizar a mudanca.
83
+
84
+ ## Regras praticas
85
+
86
86
  - trate `.sema` e IR como fonte de verdade semantica
87
+ - trate humanos como donos/aprovadores e agentes como consumidores primarios do contrato
87
88
  - trate `drift` como juiz da adocao incremental
88
89
  - use `briefing.min.json` antes de abrir dezenas de arquivos
89
90
  - nao invente sintaxe fora da gramatica oficial
91
+ - em task sensivel, teste que valida apenas `sucesso` e fraco; inclua output, erro esperado ou garantia observavel
90
92
  - em persistencia, nao assuma que bancos diferentes tem o mesmo contrato operacional
91
-
92
- ## Arquivos uteis no repo
93
-
94
- - `AGENTS.md`
95
- - `llms.txt`
96
- - `llms-full.txt`
97
- - `SEMA_BRIEF.md`
98
- - `SEMA_INDEX.json`
99
- - `docs/persistencia-vendor-first.md`
100
- - `docs/mcp.md`
101
- - `docs/documentacao.md`
93
+
94
+ ## Arquivos uteis no repo
95
+
96
+ - `AGENTS.md`
97
+ - `llms.txt`
98
+ - `llms-full.txt`
99
+ - `SEMA_BRIEF.md`
100
+ - `SEMA_INDEX.json`
101
+ - `docs/persistencia-vendor-first.md`
102
+ - `docs/mcp.md`
103
+ - `docs/documentacao.md`
package/docs/mcp.md CHANGED
@@ -1,53 +1,51 @@
1
- # MCP
2
-
3
- O MCP da Sema e a porta de entrada para agentes que precisam obedecer contrato, ler contexto certo e fechar mudanca com verificacao rastreavel.
4
-
5
- ## Fluxo obrigatorio para agentes
6
-
7
- Antes de uma acao operacional, a IA deve declarar a intencao e chamar:
8
-
9
- ```bash
10
- sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
11
- ```
12
-
13
- Via MCP, use `sema_docs_impacto` com a mesma intencao. A resposta contem `leituraObrigatoria` com caminhos, motivos e conteudo dos documentos existentes. Se algum documento obrigatorio estiver ausente, o resultado vem com bloqueio de severidade 4.
14
-
15
- Antes de concluir, a IA deve comprovar leitura:
16
-
17
- ```bash
18
- sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
19
- ```
20
-
21
- Via MCP, use `sema_finalizar_mudanca`.
22
-
23
- ## Ferramentas de documentacao
24
-
25
- - `sema_docs_impacto`: resolve docs obrigatorias por intencao, arquivos alvo e categoria inferida.
26
- - `sema_finalizar_mudanca`: bloqueia conclusao sem docs lidas ou docs ausentes.
27
-
28
- ## Quando criar docs
29
-
30
- Se a intencao exige um runbook e ele nao existe, rode `sema_docs_impacto` com `criar_ausentes: true`. Exemplos:
31
-
32
- - deploy: cria `docs/deploy.md`, `docs/env.md` e `docs/rollback.md`.
33
- - rota/API: cria `docs/api.md`.
34
- - auth: cria `docs/auth.md` e `docs/seguranca.md`.
35
- - banco: cria `docs/database.md`.
36
- - MCP: cria `docs/mcp.md`.
37
- - extensao: cria `docs/extensao-vscode.md`.
38
-
39
- O documento criado e um ponto de partida. A IA ainda deve preencher detalhes reais do projeto antes de executar a acao.
40
-
41
- ## Regra de conclusao
42
-
43
- Uma mudanca nao deve ser considerada concluida enquanto `sema_finalizar_mudanca` retornar diagnostico de severidade 4 ou maior. Isso inclui:
44
-
45
- - documento obrigatorio ausente
46
- - leitura obrigatoria nao comprovada
47
- - runbook criado mas ainda nao revisado para a operacao real
48
-
49
- ## Relacao com contratos
50
-
51
- Essas ferramentas nao substituem `sema_resumo`, `sema_inspecionar`, `sema_drift` ou `sema_validar`. Elas adicionam o portao documental: a IA descobre o que ler e o que documentar antes de agir.
52
-
53
- O MCP acompanha a semantica entregue pela CLI. Quando a CLI aceita uma origem viva, como Lua em `use`, `impl`, IR, `drift` e `sema importar`, a ferramenta MCP correspondente passa a operar esse contrato desde que CLI e MCP estejam na mesma versao.
1
+ # MCP
2
+
3
+ O MCP da Sema e a porta de entrada para agentes que precisam obedecer contrato, ler contexto certo e fechar mudanca com verificacao rastreavel.
4
+
5
+ ## Fluxo obrigatorio para agentes
6
+
7
+ Antes de uma acao operacional, a IA deve declarar a intencao e chamar:
8
+
9
+ ```bash
10
+ sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
11
+ ```
12
+
13
+ Via MCP, use `sema_docs_impacto` com a mesma intencao. A resposta contem `leituraObrigatoria` com caminhos, motivos e conteudo dos documentos existentes. Se algum documento obrigatorio estiver ausente, o resultado vem com bloqueio de severidade 4.
14
+
15
+ Antes de concluir, a IA deve comprovar leitura:
16
+
17
+ ```bash
18
+ sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
19
+ ```
20
+
21
+ Via MCP, use `sema_finalizar_mudanca`.
22
+
23
+ ## Ferramentas de documentacao
24
+
25
+ - `sema_docs_impacto`: resolve docs obrigatorias por intencao, arquivos alvo e categoria inferida.
26
+ - `sema_finalizar_mudanca`: bloqueia conclusao sem docs lidas ou docs ausentes.
27
+
28
+ ## Quando criar docs
29
+
30
+ Se a intencao exige um runbook e ele nao existe, rode `sema_docs_impacto` com `criar_ausentes: true`. Exemplos:
31
+
32
+ - deploy: cria `docs/deploy.md`, `docs/env.md` e `docs/rollback.md`.
33
+ - rota/API: cria `docs/api.md`.
34
+ - auth: cria `docs/auth.md` e `docs/seguranca.md`.
35
+ - banco: cria `docs/database.md`.
36
+ - MCP: cria `docs/mcp.md`.
37
+ - extensao: cria `docs/extensao-vscode.md`.
38
+
39
+ O documento criado e um ponto de partida. A IA ainda deve preencher detalhes reais do projeto antes de executar a acao.
40
+
41
+ ## Regra de conclusao
42
+
43
+ Uma mudanca nao deve ser considerada concluida enquanto `sema_finalizar_mudanca` retornar diagnostico de severidade 4 ou maior. Isso inclui:
44
+
45
+ - documento obrigatorio ausente
46
+ - leitura obrigatoria nao comprovada
47
+ - runbook criado mas ainda nao revisado para a operacao real
48
+
49
+ ## Relacao com contratos
50
+
51
+ Essas ferramentas nao substituem `sema_resumo`, `sema_inspecionar`, `sema_drift` ou `sema_validar`. Elas adicionam o portao documental: a IA descobre o que ler e o que documentar antes de agir.