@semacode/cli 0.9.0 → 1.1.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.
Files changed (46) hide show
  1. package/AGENTS.md +50 -0
  2. package/README.md +24 -3
  3. package/SEMA_BRIEF.curto.txt +9 -0
  4. package/SEMA_BRIEF.md +49 -0
  5. package/SEMA_BRIEF.micro.txt +7 -0
  6. package/SEMA_INDEX.json +501 -0
  7. package/dist/drift.d.ts +15 -0
  8. package/dist/drift.js +496 -5
  9. package/dist/drift.js.map +1 -1
  10. package/dist/importador.d.ts +1 -1
  11. package/dist/importador.js +681 -3
  12. package/dist/importador.js.map +1 -1
  13. package/dist/index.js +1578 -123
  14. package/dist/index.js.map +1 -1
  15. package/dist/projeto.js +49 -1
  16. package/dist/projeto.js.map +1 -1
  17. package/dist/tipos.d.ts +1 -1
  18. package/docs/AGENT_STARTER.md +40 -8
  19. package/docs/como-ensinar-a-sema-para-ia.md +17 -11
  20. package/docs/fluxo-pratico-ia-sema.md +42 -38
  21. package/docs/instalacao-e-primeiro-uso.md +196 -0
  22. package/docs/integracao-com-ia.md +228 -0
  23. package/docs/pagamento-ponta-a-ponta.md +155 -0
  24. package/docs/prompt-base-ia-sema.md +10 -3
  25. package/docs/sintaxe.md +267 -0
  26. package/exemplos/automacao.sema +107 -0
  27. package/exemplos/cadastro_usuario.sema +54 -0
  28. package/exemplos/calculadora.sema +78 -0
  29. package/exemplos/crud_simples.sema +89 -0
  30. package/exemplos/operacao_estrategia.sema +402 -0
  31. package/exemplos/pagamento.sema +222 -0
  32. package/exemplos/pagamento_dominio.sema +35 -0
  33. package/exemplos/testes_embutidos.sema +45 -0
  34. package/exemplos/tratamento_erro.sema +157 -0
  35. package/llms-full.txt +34 -0
  36. package/llms.txt +17 -0
  37. package/node_modules/@sema/gerador-dart/package.json +1 -1
  38. package/node_modules/@sema/gerador-python/dist/index.js +92 -10
  39. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -1
  40. package/node_modules/@sema/gerador-python/package.json +1 -1
  41. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  42. package/node_modules/@sema/nucleo/package.json +1 -1
  43. package/node_modules/@sema/padroes/dist/index.js +47 -1
  44. package/node_modules/@sema/padroes/dist/index.js.map +1 -1
  45. package/node_modules/@sema/padroes/package.json +1 -1
  46. package/package.json +15 -7
package/AGENTS.md ADDED
@@ -0,0 +1,50 @@
1
+ # AGENTS.md
2
+
3
+ Sema e IA-first. Este repositorio nao foi desenhado para ergonomia humana como objetivo principal.
4
+
5
+ Se voce for uma IA, nao comece pelo codigo cru. Comece pela trilha canonica:
6
+
7
+ 1. `llms.txt`
8
+ 2. `SEMA_BRIEF.md`
9
+ 3. `SEMA_INDEX.json`
10
+ 4. `README.md`
11
+ 5. `docs/AGENT_STARTER.md`
12
+
13
+ Roteamento por capacidade:
14
+
15
+ - IA pequena ou gratuita: `llms.txt` -> `SEMA_BRIEF.micro.txt` -> `SEMA_INDEX.json` -> `README.md`
16
+ - IA media: `llms.txt` -> `SEMA_BRIEF.curto.txt` -> `SEMA_INDEX.json` -> `README.md` -> `docs/AGENT_STARTER.md`
17
+ - IA grande ou com tool use: `llms-full.txt` -> `SEMA_BRIEF.md` -> `SEMA_INDEX.json` -> `README.md` -> `docs/AGENT_STARTER.md`
18
+
19
+ Fontes de verdade:
20
+
21
+ 1. artefatos Sema gerados ou versionados na raiz
22
+ 2. JSON da CLI
23
+ 3. docs oficiais
24
+ 4. exemplos oficiais
25
+ 5. codigo vivo
26
+
27
+ Regras:
28
+
29
+ - trate a Sema como camada semantica para IA operar backend vivo com menos adivinhacao
30
+ - preserve contrato, vinculo, execucao, erro, efeito, garantia, score, confianca e lacunas
31
+ - se existir artefato Sema para a tarefa, use-o antes de abrir o codigo
32
+ - nao trate texto solto como mais confiavel que `drift`, `ir`, `diagnosticos` ou `briefing`
33
+ - se a IA for pequena, nao tente carregar AST e IR de cara
34
+ - nao invente sintaxe fora da gramatica oficial
35
+
36
+ Comandos minimos:
37
+
38
+ - `sema resumo <arquivo-ou-pasta> --micro --para mudanca`
39
+ - `sema prompt-curto <arquivo-ou-pasta> --curto --para review`
40
+ - `sema drift <arquivo-ou-pasta> --json`
41
+ - `sema contexto-ia <arquivo.sema> --saida ./.tmp/contexto --json`
42
+ - `sema validar <arquivo-ou-pasta> --json`
43
+ - `sema verificar <arquivo-ou-pasta> --json`
44
+
45
+ Se a tarefa envolver edicao real:
46
+
47
+ 1. leia o menor artefato que resolver
48
+ 2. suba para `drift` e `briefing` antes de editar
49
+ 3. use `diagnosticos` para correcao
50
+ 4. valide e verifique no fim
package/README.md CHANGED
@@ -2,14 +2,30 @@
2
2
 
3
3
  Sema e um Protocolo de Governanca de Intencao para IA e backend vivo.
4
4
 
5
+ Ela nao foi desenhada para ergonomia humana como prioridade. O alvo principal e IA operando contrato, drift e contexto de sistema vivo com menos chute.
6
+
5
7
  Este pacote entrega a CLI oficial para:
6
8
 
7
9
  - validar contratos `.sema`
8
10
  - inspecionar projeto
9
11
  - medir `drift` entre contrato e codigo vivo
10
12
  - importar legado
13
+ - gerar resumo compacto por capacidade de IA
11
14
  - preparar contexto para IA
12
15
 
16
+ Quando a CLI roda em projeto, a trilha IA-first recomendada fica assim:
17
+
18
+ - raiz do repo: `llms.txt`, `SEMA_BRIEF.*`, `SEMA_INDEX.json`, `AGENTS.md`, `README.md`
19
+ - modulo alvo: `resumo.micro.txt`, `briefing.min.json`, `prompt-curto.txt`, `drift.json`, `briefing.json`
20
+
21
+ Isto nao existe para agradar humano. Existe para a IA achar o contexto certo sem entupir a janela com lixo.
22
+
23
+ Para regenerar os entrypoints IA-first da raiz:
24
+
25
+ ```bash
26
+ sema sync-ai-entrypoints --json
27
+ ```
28
+
13
29
  ## Instalacao pelo npm registry
14
30
 
15
31
  ```bash
@@ -20,7 +36,7 @@ sema --help
20
36
  ## Instalacao via tarball da release
21
37
 
22
38
  ```bash
23
- npm install -g ./sema-cli-0.9.0.tgz
39
+ npm install -g ./sema-cli-1.1.0.tgz
24
40
  ```
25
41
 
26
42
  Ou direto da GitHub Release:
@@ -39,14 +55,19 @@ npx sema --help
39
55
  Ou, se voce estiver testando um tarball local:
40
56
 
41
57
  ```bash
42
- npm install ./sema-cli-0.9.0.tgz
58
+ npm install ./sema-cli-1.1.0.tgz
43
59
  npx sema --help
44
60
  ```
45
61
 
46
62
  ## Primeiro teste
47
63
 
48
64
  ```bash
49
- sema validar exemplos/calculadora.sema --json
65
+ mkdir sema-demo
66
+ cd sema-demo
67
+ sema iniciar
68
+ sema validar contratos/pedidos.sema --json
69
+ sema starter-ia
70
+ sema resumo contratos/pedidos.sema --micro --para onboarding
50
71
  ```
51
72
 
52
73
  Repositorio: https://github.com/gerlanss/Sema
@@ -0,0 +1,9 @@
1
+ PROJETO: Sema
2
+ BASE: C:\GitHub\Sema
3
+ MODULOS: 4
4
+ ENTRADA_IA: llms.txt -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> AGENTS.md -> README.md
5
+ TOP_MODULOS: app.pedidos, sema.produto.ergonomia_e_dominio, sema.produto.governanca_ia, sema.produto.linguagem_composta
6
+ TOP_RISCOS: altera_persistencia, consultar_scorecard_compatibilidade:medio, converter_bloco_composto_para_ir:alto, criar_pedido:alto, efeito_critico, explicitar_variacao_e_compatibilidade:medio (+12)
7
+ TOP_LACUNAS: execucao_implicita, sem_impl, sem_vinculos
8
+ TOP_ARQUIVOS: C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\index.ts, C:\GitHub\Sema\pacotes\cli\src\projeto.ts, C:\GitHub\Sema\pacotes\gerador-python\src\index.ts, C:\GitHub\Sema\pacotes\gerador-typescript\src\index.ts, C:\GitHub\Sema\pacotes\nucleo\src\formatador\index.ts (+3)
9
+ GERADO_EM: 2026-03-31T16:04:57.600Z
package/SEMA_BRIEF.md ADDED
@@ -0,0 +1,49 @@
1
+ # SEMA_BRIEF
2
+
3
+ Sema e IA-first. Este arquivo existe para IA achar o ponto de entrada do projeto sem ter que catar o repo inteiro feito barata tonta.
4
+
5
+ - Gerado em: `2026-03-31T16:04:57.600Z`
6
+ - Modulos: `4`
7
+
8
+ ## Entrada canonica para IA
9
+
10
+ - Ordem minima: llms.txt -> SEMA_BRIEF.md -> SEMA_INDEX.json -> AGENTS.md -> README.md -> llms-full.txt
11
+ - IA pequena: llms.txt -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json -> AGENTS.md
12
+ - IA media: llms.txt -> SEMA_BRIEF.curto.txt -> SEMA_INDEX.json -> AGENTS.md -> README.md
13
+ - IA grande: llms-full.txt -> SEMA_BRIEF.md -> SEMA_INDEX.json -> AGENTS.md -> README.md
14
+
15
+ ## Guia por capacidade
16
+
17
+ - pequena: IA gratuita ou com contexto curto. Leia so o cartao semantico e o briefing minimo. Artefatos: resumo.micro.txt, briefing.min.json, prompt-curto.txt.
18
+ - media: IA com contexto medio. Aguenta resumo expandido, briefing minimo e drift. Artefatos: resumo.curto.txt, briefing.min.json, drift.json, prompt-curto.txt.
19
+ - grande: IA com contexto grande ou tool use. Pode consumir o pacote completo. Artefatos: README.md, resumo.md, briefing.json, drift.json, ir.json, ast.json.
20
+
21
+ ## Modulos
22
+
23
+ ### app.pedidos
24
+ - Faz: governa 1 rota(s), 1 task(s) com foco em criar pedido publico
25
+ - Publico: POST /pedidos
26
+ - Tocar: nenhum
27
+ - Score: 50 | Confianca: baixa | Risco: alto
28
+ - Lacunas: execucao_implicita, sem_impl, sem_vinculos
29
+
30
+ ### sema.produto.ergonomia_e_dominio
31
+ - Faz: governa 2 superficie(s), 5 task(s) com foco em scorecard atualizado
32
+ - Publico: evento:scorecard_atualizado, policy:compatibilidade_publica
33
+ - Tocar: C:\GitHub\Sema\pacotes\cli\src\projeto.ts, C:\GitHub\Sema\pacotes\nucleo\src\formatador\index.ts, C:\GitHub\Sema\pacotes\nucleo\src\ir\conversor.ts, C:\GitHub\Sema\pacotes\nucleo\src\semantico\analisador.ts
34
+ - Score: 90 | Confianca: alta | Risco: alto
35
+ - Lacunas: execucao_implicita, sem_impl, sem_vinculos
36
+
37
+ ### sema.produto.governanca_ia
38
+ - Faz: governa 2 superficie(s), 4 task(s) com foco em preparar briefing contextual
39
+ - Publico: webhook:confirmar_contexto_publico, worker:preparar_briefing_contextual
40
+ - Tocar: C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\index.ts, C:\GitHub\Sema\pacotes\cli\src\projeto.ts, C:\GitHub\Sema\pacotes\nucleo\src\formatador\index.ts
41
+ - Score: 90 | Confianca: alta | Risco: alto
42
+ - Lacunas: execucao_implicita, sem_impl, sem_vinculos
43
+
44
+ ### sema.produto.linguagem_composta
45
+ - Faz: governa 1 superficie(s), 5 task(s) com foco em regressao composta
46
+ - Publico: storage:regressao_composta
47
+ - Tocar: C:\GitHub\Sema\pacotes\gerador-python\src\index.ts, C:\GitHub\Sema\pacotes\gerador-typescript\src\index.ts, C:\GitHub\Sema\pacotes\nucleo\src\formatador\index.ts, C:\GitHub\Sema\pacotes\nucleo\src\ir\conversor.ts (+1)
48
+ - Score: 90 | Confianca: alta | Risco: alto
49
+ - Lacunas: execucao_implicita, sem_impl, sem_vinculos
@@ -0,0 +1,7 @@
1
+ PROJETO: Sema
2
+ MODULOS: 4
3
+ ENTRADA_IA: llms.txt -> SEMA_BRIEF.micro.txt -> SEMA_INDEX.json -> AGENTS.md
4
+ TOP_MODULOS: app.pedidos, sema.produto.ergonomia_e_dominio, sema.produto.governanca_ia (+1)
5
+ TOP_RISCOS: altera_persistencia, consultar_scorecard_compatibilidade:medio, converter_bloco_composto_para_ir:alto (+15)
6
+ TOP_LACUNAS: execucao_implicita, sem_impl, sem_vinculos
7
+ GERADO_EM: 2026-03-31T16:04:57.600Z
@@ -0,0 +1,501 @@
1
+ {
2
+ "comando": "resumo-projeto",
3
+ "geradoEm": "2026-03-31T16:04:57.600Z",
4
+ "cliVersao": "1.0.0",
5
+ "baseProjeto": "C:\\GitHub\\Sema",
6
+ "totalModulos": 4,
7
+ "entradaCanonica": {
8
+ "descricao": "Entrada canonica do repositorio para IA. O repo nao e human-first; a IA deve começar por esses artefatos antes de abrir codigo cru.",
9
+ "ordemLeitura": [
10
+ "llms.txt",
11
+ "SEMA_BRIEF.md",
12
+ "SEMA_INDEX.json",
13
+ "AGENTS.md",
14
+ "README.md",
15
+ "llms-full.txt"
16
+ ],
17
+ "porCapacidade": {
18
+ "pequena": [
19
+ "llms.txt",
20
+ "SEMA_BRIEF.micro.txt",
21
+ "SEMA_INDEX.json",
22
+ "AGENTS.md"
23
+ ],
24
+ "media": [
25
+ "llms.txt",
26
+ "SEMA_BRIEF.curto.txt",
27
+ "SEMA_INDEX.json",
28
+ "AGENTS.md",
29
+ "README.md"
30
+ ],
31
+ "grande": [
32
+ "llms-full.txt",
33
+ "SEMA_BRIEF.md",
34
+ "SEMA_INDEX.json",
35
+ "AGENTS.md",
36
+ "README.md"
37
+ ]
38
+ },
39
+ "docsSuporte": [
40
+ "docs/AGENT_STARTER.md",
41
+ "docs/integracao-com-ia.md",
42
+ "docs/fluxo-pratico-ia-sema.md",
43
+ "docs/como-ensinar-a-sema-para-ia.md",
44
+ "docs/sintaxe.md",
45
+ "docs/cli.md"
46
+ ],
47
+ "guiaPorCapacidade": {
48
+ "pequena": {
49
+ "descricao": "IA gratuita ou com contexto curto. Leia so o cartao semantico e o briefing minimo.",
50
+ "artefatos": [
51
+ "resumo.micro.txt",
52
+ "briefing.min.json",
53
+ "prompt-curto.txt"
54
+ ],
55
+ "ordemLeitura": [
56
+ "resumo.micro.txt",
57
+ "briefing.min.json",
58
+ "resumo.curto.txt"
59
+ ],
60
+ "evitar": [
61
+ "ast.json",
62
+ "ir.json",
63
+ "diagnosticos.json"
64
+ ]
65
+ },
66
+ "media": {
67
+ "descricao": "IA com contexto medio. Aguenta resumo expandido, briefing minimo e drift.",
68
+ "artefatos": [
69
+ "resumo.curto.txt",
70
+ "briefing.min.json",
71
+ "drift.json",
72
+ "prompt-curto.txt"
73
+ ],
74
+ "ordemLeitura": [
75
+ "resumo.curto.txt",
76
+ "briefing.min.json",
77
+ "drift.json",
78
+ "resumo.md"
79
+ ],
80
+ "evitar": [
81
+ "ast.json"
82
+ ]
83
+ },
84
+ "grande": {
85
+ "descricao": "IA com contexto grande ou tool use. Pode consumir o pacote completo.",
86
+ "artefatos": [
87
+ "README.md",
88
+ "resumo.md",
89
+ "briefing.json",
90
+ "drift.json",
91
+ "ir.json",
92
+ "ast.json"
93
+ ],
94
+ "ordemLeitura": [
95
+ "README.md",
96
+ "resumo.md",
97
+ "briefing.json",
98
+ "drift.json",
99
+ "ir.json",
100
+ "ast.json"
101
+ ],
102
+ "evitar": []
103
+ }
104
+ }
105
+ },
106
+ "guiaPorCapacidade": {
107
+ "pequena": {
108
+ "descricao": "IA gratuita ou com contexto curto. Leia so o cartao semantico e o briefing minimo.",
109
+ "artefatos": [
110
+ "resumo.micro.txt",
111
+ "briefing.min.json",
112
+ "prompt-curto.txt"
113
+ ],
114
+ "ordemLeitura": [
115
+ "resumo.micro.txt",
116
+ "briefing.min.json",
117
+ "resumo.curto.txt"
118
+ ],
119
+ "evitar": [
120
+ "ast.json",
121
+ "ir.json",
122
+ "diagnosticos.json"
123
+ ]
124
+ },
125
+ "media": {
126
+ "descricao": "IA com contexto medio. Aguenta resumo expandido, briefing minimo e drift.",
127
+ "artefatos": [
128
+ "resumo.curto.txt",
129
+ "briefing.min.json",
130
+ "drift.json",
131
+ "prompt-curto.txt"
132
+ ],
133
+ "ordemLeitura": [
134
+ "resumo.curto.txt",
135
+ "briefing.min.json",
136
+ "drift.json",
137
+ "resumo.md"
138
+ ],
139
+ "evitar": [
140
+ "ast.json"
141
+ ]
142
+ },
143
+ "grande": {
144
+ "descricao": "IA com contexto grande ou tool use. Pode consumir o pacote completo.",
145
+ "artefatos": [
146
+ "README.md",
147
+ "resumo.md",
148
+ "briefing.json",
149
+ "drift.json",
150
+ "ir.json",
151
+ "ast.json"
152
+ ],
153
+ "ordemLeitura": [
154
+ "README.md",
155
+ "resumo.md",
156
+ "briefing.json",
157
+ "drift.json",
158
+ "ir.json",
159
+ "ast.json"
160
+ ],
161
+ "evitar": []
162
+ }
163
+ },
164
+ "modulos": [
165
+ {
166
+ "geradoEm": "2026-03-31T16:04:57.600Z",
167
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\pedidos.sema",
168
+ "modulo": "app.pedidos",
169
+ "perfilCompatibilidade": "publico",
170
+ "scoreSemantico": 50,
171
+ "confiancaGeral": "baixa",
172
+ "riscoOperacional": "alto",
173
+ "faz": "governa 1 rota(s), 1 task(s) com foco em criar pedido publico",
174
+ "tarefasPrincipais": [
175
+ "criar_pedido"
176
+ ],
177
+ "entradasChave": [
178
+ "criar_pedido(cliente_id, total)"
179
+ ],
180
+ "saidasChave": [
181
+ "criar_pedido(pedido_id, status)"
182
+ ],
183
+ "superficiesPublicas": [
184
+ "POST /pedidos"
185
+ ],
186
+ "regrasCriticas": [
187
+ "pedido_id existe",
188
+ "status existe",
189
+ "total > 0"
190
+ ],
191
+ "efeitos": [
192
+ "auditoria pedidos",
193
+ "persistencia Pedido criticidade = alta"
194
+ ],
195
+ "erros": [],
196
+ "entidadesAfetadas": [
197
+ "Pedido",
198
+ "pedidos"
199
+ ],
200
+ "arquivosProvaveis": [],
201
+ "simbolosRelacionados": [],
202
+ "riscosPrincipais": [
203
+ "altera_persistencia",
204
+ "criar_pedido:alto",
205
+ "efeito_critico",
206
+ "vinculo_fraco"
207
+ ],
208
+ "lacunas": [
209
+ "execucao_implicita",
210
+ "sem_impl",
211
+ "sem_vinculos"
212
+ ],
213
+ "inferido": [],
214
+ "checksSugeridos": [
215
+ "revisar efeitos operacionais",
216
+ "rodar sema drift --json",
217
+ "rodar sema validar --json",
218
+ "verificar guarantees"
219
+ ],
220
+ "testesMinimos": [
221
+ "sema drift <arquivo> --json",
222
+ "sema validar <arquivo> --json",
223
+ "sema verificar <arquivo-ou-pasta> --json"
224
+ ]
225
+ },
226
+ {
227
+ "geradoEm": "2026-03-31T16:04:57.600Z",
228
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\ergonomia_e_dominio.sema",
229
+ "modulo": "sema.produto.ergonomia_e_dominio",
230
+ "perfilCompatibilidade": "interno",
231
+ "scoreSemantico": 90,
232
+ "confiancaGeral": "alta",
233
+ "riscoOperacional": "alto",
234
+ "faz": "governa 2 superficie(s), 5 task(s) com foco em scorecard atualizado",
235
+ "tarefasPrincipais": [
236
+ "reduzir_atrito_sintatico_em_contrato_rico",
237
+ "modelar_payload_com_mais_precisao",
238
+ "explicitar_variacao_e_compatibilidade",
239
+ "separar_validacao_regra_e_poscondicao",
240
+ "consultar_scorecard_compatibilidade"
241
+ ],
242
+ "entradasChave": [
243
+ "reduzir_atrito_sintatico_em_contrato_rico(contrato_atual, repeticao_detectada)",
244
+ "modelar_payload_com_mais_precisao(contrato_atual, payload_json_generico, exemplos_payload)",
245
+ "explicitar_variacao_e_compatibilidade(contrato_atual, perfil_atual)",
246
+ "separar_validacao_regra_e_poscondicao(contrato_atual, garantias_confusas)"
247
+ ],
248
+ "saidasChave": [
249
+ "reduzir_atrito_sintatico_em_contrato_rico(leitura_mais_limpa, ambiguidade_controlada, perfil)",
250
+ "modelar_payload_com_mais_precisao(tipo_composto_explicito, cardinalidade_explicita, shape_rico)",
251
+ "explicitar_variacao_e_compatibilidade(versao_explicita, fallback_claro, contrato_publico_distinto)",
252
+ "separar_validacao_regra_e_poscondicao(validacao_de_input_clara, regra_de_negocio_clara, pos_condicao_clara)"
253
+ ],
254
+ "superficiesPublicas": [
255
+ "evento:scorecard_atualizado",
256
+ "policy:compatibilidade_publica"
257
+ ],
258
+ "regrasCriticas": [
259
+ "ambiguidade_controlada existe",
260
+ "cardinalidade_explicita existe",
261
+ "contrato_publico_distinto existe",
262
+ "fallback_claro existe",
263
+ "leitura_mais_limpa existe",
264
+ "nota existe",
265
+ "perfil em [ PUBLICO , INTERNO , EXPERIMENTAL , LEGADO , DEPRECADO ]",
266
+ "pos_condicao_clara existe"
267
+ ],
268
+ "efeitos": [],
269
+ "erros": [],
270
+ "entidadesAfetadas": [
271
+ "PerfilCompatibilidade"
272
+ ],
273
+ "arquivosProvaveis": [
274
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
275
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
276
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
277
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\semantico\\analisador.ts"
278
+ ],
279
+ "simbolosRelacionados": [
280
+ "analisarSemantica",
281
+ "converterParaIr",
282
+ "formatarCodigo",
283
+ "resolverAlvosVerificacao"
284
+ ],
285
+ "riscosPrincipais": [
286
+ "consultar_scorecard_compatibilidade:medio",
287
+ "explicitar_variacao_e_compatibilidade:medio",
288
+ "modelar_payload_com_mais_precisao:alto",
289
+ "reduzir_atrito_sintatico_em_contrato_rico:medio",
290
+ "separar_validacao_regra_e_poscondicao:medio"
291
+ ],
292
+ "lacunas": [
293
+ "execucao_implicita",
294
+ "sem_impl",
295
+ "sem_vinculos"
296
+ ],
297
+ "inferido": [
298
+ "consultar_scorecard_compatibilidade:pacotes/cli/src/projeto.ts",
299
+ "evento:scorecard_atualizado:scorecard_compatibilidade",
300
+ "explicitar_variacao_e_compatibilidade:pacotes/nucleo/src/ir/conversor.ts",
301
+ "modelar_payload_com_mais_precisao:pacotes/nucleo/src/semantico/analisador.ts",
302
+ "policy:compatibilidade_publica:compatibilidade_publica",
303
+ "reduzir_atrito_sintatico_em_contrato_rico:pacotes/nucleo/src/formatador/index.ts"
304
+ ],
305
+ "checksSugeridos": [
306
+ "revisar efeitos operacionais",
307
+ "rodar sema drift --json",
308
+ "rodar sema validar --json",
309
+ "verificar guarantees"
310
+ ],
311
+ "testesMinimos": [
312
+ "sema drift <arquivo> --json",
313
+ "sema validar <arquivo> --json",
314
+ "sema verificar <arquivo-ou-pasta> --json"
315
+ ]
316
+ },
317
+ {
318
+ "geradoEm": "2026-03-31T16:04:57.600Z",
319
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\governanca_ia.sema",
320
+ "modulo": "sema.produto.governanca_ia",
321
+ "perfilCompatibilidade": "publico",
322
+ "scoreSemantico": 90,
323
+ "confiancaGeral": "alta",
324
+ "riscoOperacional": "alto",
325
+ "faz": "governa 2 superficie(s), 4 task(s) com foco em preparar briefing contextual",
326
+ "tarefasPrincipais": [
327
+ "mapear_projeto_sem_adivinhacao",
328
+ "normalizar_saida_sem_ruido",
329
+ "medir_drift_contra_codigo_vivo",
330
+ "padronizar_nomes_para_leitura_de_ia"
331
+ ],
332
+ "entradasChave": [
333
+ "mapear_projeto_sem_adivinhacao(entrada, explicito)",
334
+ "normalizar_saida_sem_ruido(estrutura_desejada)",
335
+ "medir_drift_contra_codigo_vivo(contrato_alvo, codigo_vivo)",
336
+ "padronizar_nomes_para_leitura_de_ia(contrato_atual, sinonimos_em_excesso)"
337
+ ],
338
+ "saidasChave": [
339
+ "mapear_projeto_sem_adivinhacao(base_resolvida, origens_coerentes, codigo_vivo_detectado)",
340
+ "normalizar_saida_sem_ruido(estrutura_canonica, alias_confuso)",
341
+ "medir_drift_contra_codigo_vivo(impls_resolvidas, rotas_resolvidas, ambiguidades_explicitas)",
342
+ "padronizar_nomes_para_leitura_de_ia(nomes_consistentes, leitura_rapida, casos_especiais_reduzidos)"
343
+ ],
344
+ "superficiesPublicas": [
345
+ "webhook:confirmar_contexto_publico",
346
+ "worker:preparar_briefing_contextual"
347
+ ],
348
+ "regrasCriticas": [
349
+ "alias_confuso existe",
350
+ "ambiguidades_explicitas existe",
351
+ "base_resolvida existe",
352
+ "casos_especiais_reduzidos existe",
353
+ "codigo_vivo_detectado existe",
354
+ "estrutura_canonica existe",
355
+ "impls_resolvidas existe",
356
+ "leitura_rapida existe"
357
+ ],
358
+ "efeitos": [],
359
+ "erros": [
360
+ "simbolo_ambiguo"
361
+ ],
362
+ "entidadesAfetadas": [],
363
+ "arquivosProvaveis": [
364
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\drift.ts",
365
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\index.ts",
366
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
367
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts"
368
+ ],
369
+ "simbolosRelacionados": [
370
+ "analisarDriftLegado",
371
+ "carregarProjeto",
372
+ "comandoContextoIa",
373
+ "formatarCodigo",
374
+ "normalizarEstruturaSaida"
375
+ ],
376
+ "riscosPrincipais": [
377
+ "mapear_projeto_sem_adivinhacao:medio",
378
+ "medir_drift_contra_codigo_vivo:alto",
379
+ "normalizar_saida_sem_ruido:medio",
380
+ "padronizar_nomes_para_leitura_de_ia:medio"
381
+ ],
382
+ "lacunas": [
383
+ "execucao_implicita",
384
+ "sem_impl",
385
+ "sem_vinculos"
386
+ ],
387
+ "inferido": [
388
+ "mapear_projeto_sem_adivinhacao:pacotes/cli/src/projeto.ts",
389
+ "medir_drift_contra_codigo_vivo:pacotes/cli/src/drift.ts",
390
+ "normalizar_saida_sem_ruido:pacotes/cli/src/projeto.ts",
391
+ "padronizar_nomes_para_leitura_de_ia:pacotes/nucleo/src/formatador/index.ts",
392
+ "sema.produto.governanca_ia:pacotes/cli/src/index.ts",
393
+ "webhook:confirmar_contexto_publico:/ interno / contexto-ia"
394
+ ],
395
+ "checksSugeridos": [
396
+ "revisar efeitos operacionais",
397
+ "rodar sema drift --json",
398
+ "rodar sema validar --json",
399
+ "verificar guarantees"
400
+ ],
401
+ "testesMinimos": [
402
+ "sema drift <arquivo> --json",
403
+ "sema validar <arquivo> --json",
404
+ "sema verificar <arquivo-ou-pasta> --json"
405
+ ]
406
+ },
407
+ {
408
+ "geradoEm": "2026-03-31T16:04:57.600Z",
409
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\linguagem_composta.sema",
410
+ "modulo": "sema.produto.linguagem_composta",
411
+ "perfilCompatibilidade": "interno",
412
+ "scoreSemantico": 90,
413
+ "confiancaGeral": "alta",
414
+ "riscoOperacional": "alto",
415
+ "faz": "governa 1 superficie(s), 5 task(s) com foco em regressao composta",
416
+ "tarefasPrincipais": [
417
+ "interpretar_bloco_nomeado",
418
+ "converter_bloco_composto_para_ir",
419
+ "formatar_bloco_composto",
420
+ "gerar_teste_python_composto",
421
+ "gerar_teste_typescript_composto"
422
+ ],
423
+ "entradasChave": [
424
+ "interpretar_bloco_nomeado(arquivo_semantico, sinais)",
425
+ "converter_bloco_composto_para_ir(arquivo_semantico)",
426
+ "formatar_bloco_composto(arquivo_semantico)",
427
+ "gerar_teste_python_composto(contrato)"
428
+ ],
429
+ "saidasChave": [
430
+ "interpretar_bloco_nomeado(ast_valida, blocos_preservados, status)",
431
+ "converter_bloco_composto_para_ir(ir_coerente, contexto_preservado, status)",
432
+ "formatar_bloco_composto(formato_canonico, bloco_legivel)",
433
+ "gerar_teste_python_composto(dataclass_aninhada, comparacao_tipada)"
434
+ ],
435
+ "superficiesPublicas": [
436
+ "storage:regressao_composta"
437
+ ],
438
+ "regrasCriticas": [
439
+ "asserts_coerentes existe",
440
+ "ast_valida existe",
441
+ "bloco_legivel existe",
442
+ "blocos_preservados existe",
443
+ "comparacao_tipada existe",
444
+ "contexto_preservado existe",
445
+ "dataclass_aninhada existe",
446
+ "formato_canonico existe"
447
+ ],
448
+ "efeitos": [],
449
+ "erros": [],
450
+ "entidadesAfetadas": [
451
+ "SinalTesteComposto",
452
+ "StatusEvolucao"
453
+ ],
454
+ "arquivosProvaveis": [
455
+ "C:\\GitHub\\Sema\\pacotes\\gerador-python\\src\\index.ts",
456
+ "C:\\GitHub\\Sema\\pacotes\\gerador-typescript\\src\\index.ts",
457
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
458
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
459
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\parser\\parser.ts"
460
+ ],
461
+ "simbolosRelacionados": [
462
+ "converterParaIr",
463
+ "formatarCodigo",
464
+ "gerarPython",
465
+ "gerarTypeScript",
466
+ "parsear"
467
+ ],
468
+ "riscosPrincipais": [
469
+ "converter_bloco_composto_para_ir:alto",
470
+ "formatar_bloco_composto:medio",
471
+ "gerar_teste_python_composto:medio",
472
+ "gerar_teste_typescript_composto:medio",
473
+ "interpretar_bloco_nomeado:alto"
474
+ ],
475
+ "lacunas": [
476
+ "execucao_implicita",
477
+ "sem_impl",
478
+ "sem_vinculos"
479
+ ],
480
+ "inferido": [
481
+ "converter_bloco_composto_para_ir:pacotes/nucleo/src/ir/conversor.ts",
482
+ "formatar_bloco_composto:pacotes/nucleo/src/formatador/index.ts",
483
+ "gerar_teste_python_composto:pacotes/gerador-python/src/index.ts",
484
+ "gerar_teste_typescript_composto:pacotes/gerador-typescript/src/index.ts",
485
+ "interpretar_bloco_nomeado:pacotes/nucleo/src/parser/parser.ts",
486
+ "sema.produto.linguagem_composta:pacotes/nucleo/src/parser/parser.ts"
487
+ ],
488
+ "checksSugeridos": [
489
+ "revisar efeitos operacionais",
490
+ "rodar sema drift --json",
491
+ "rodar sema validar --json",
492
+ "verificar guarantees"
493
+ ],
494
+ "testesMinimos": [
495
+ "sema drift <arquivo> --json",
496
+ "sema validar <arquivo> --json",
497
+ "sema verificar <arquivo-ou-pasta> --json"
498
+ ]
499
+ }
500
+ ]
501
+ }