@semacode/cli 1.5.6 → 1.5.8

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 CHANGED
@@ -19,7 +19,7 @@ Pense como IA, nao como humano. Voce nao esta "programando" — esta consumindo
19
19
  ## MCP
20
20
 
21
21
  O servidor MCP do Sema roda localmente via: npx -y @semacode/mcp
22
- Use as ferramentas: sema_resumo, sema_validar, sema_drift, sema_impacto, sema_renomear_semantico, sema_inspecionar, sema_ir, sema_verificar, sema_contexto_ia, sema_prompt_ia.
22
+ Use as ferramentas: sema_resumo, sema_validar, sema_drift, sema_impacto, sema_renomear_semantico, sema_inspecionar, sema_ir, sema_verificar, sema_contexto_ia, sema_prompt_ia, sema_sync_ai_entrypoints, sema_instalar_exemplos.
23
23
 
24
24
  ## Contratos e exemplos
25
25
 
package/README.md CHANGED
@@ -58,12 +58,14 @@ sema drift ./contratos-importados --json
58
58
 
59
59
  ## Persistencia vendor-first
60
60
 
61
- A CLI 1.5.6 entende blocos `database` e recursos de persistencia no IR, no formatador, no semantico, na importacao, no drift, no impact map, na renomeacao semantica assistida e no `verificar`. O objetivo nao e esconder diferencas entre bancos, e sim capturar essas diferencas no contrato.
61
+ A CLI 1.5.7 entende blocos `database` e recursos de persistencia no IR, no formatador, no semantico, na importacao, no drift, no impact map, na renomeacao semantica assistida e no `verificar`. O objetivo nao e esconder diferencas entre bancos, e sim capturar essas diferencas no contrato.
62
62
 
63
63
  Nesta linha, o `drift` tambem passa a resolver melhor metodos JS/TS browser-side definidos via `Object.assign(...prototype...)` e a entrada padrao da CLI para de tropeçar em `exemplos/` quando o projeto real ja tem `contratos/`, `sema/` ou arquivos `.sema` na raiz.
64
64
 
65
65
  Nesta linha, o `drift` tambem passa a enxergar `Preferences`, `localStorage` e `sessionStorage` como persistencia local real, distinguir `ancoragemVinculo` herdada do modulo e cobrir `angular-consumer` standalone mesmo quando o app nao tem `.routes`.
66
66
 
67
+ Nesta linha, o pacote publico da CLI tambem deixa `tsx` fora das dependencias de runtime para evitar ruído de instalacao global no Windows.
68
+
67
69
  Cobertura publica:
68
70
 
69
71
  - `postgres`: tabela, relacao, query SQL, schema e capacidades relacionais
@@ -1,9 +1,9 @@
1
1
  PROJETO: Sema
2
- BASE: c:\GitHub\Sema
3
- MODULOS: 4
2
+ BASE: C:\GitHub\Sema
3
+ MODULOS: 6
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: consultar_scorecard_compatibilidade:medio, converter_bloco_composto_para_ir:alto, criar_pedido:alto, efeito_critico, efeito_privilegiado, explicitar_variacao_e_compatibilidade:medio (+11)
5
+ TOP_MODULOS: app.pedidos, sema.produto.ergonomia_e_dominio, sema.produto.geradores_web, sema.produto.governanca_ia, sema.produto.linguagem_composta, sema.produto.persistencia_vendor_first
6
+ TOP_RISCOS: assistir_renomeacao_semantica:alto, carregar_configuracao_de_persistencia:medio, consultar_scorecard_compatibilidade:medio, converter_bloco_composto_para_ir:alto, converter_persistencia_para_ir_canonico:alto, criar_pedido:alto (+22)
7
7
  TOP_LACUNAS: sem_impl, vinculo_quebrado
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-04-03T14:43:39.329Z
8
+ TOP_ARQUIVOS: C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\importador.ts, C:\GitHub\Sema\pacotes\cli\src\index.ts, C:\GitHub\Sema\pacotes\cli\src\projeto.ts, C:\GitHub\Sema\pacotes\editor-vscode\extension.js, C:\GitHub\Sema\pacotes\gerador-css\src\index.ts (+10)
9
+ GERADO_EM: 2026-05-02T19:48:48.122Z
package/SEMA_BRIEF.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
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
4
 
5
- - Gerado em: `2026-04-03T14:43:39.329Z`
6
- - Modulos: `4`
5
+ - Gerado em: `2026-05-02T19:48:48.122Z`
6
+ - Modulos: `6`
7
7
 
8
8
  ## Entrada canonica para IA
9
9
 
@@ -23,27 +23,41 @@ Sema e IA-first. Este arquivo existe para IA achar o ponto de entrada do projeto
23
23
  ### app.pedidos
24
24
  - Faz: governa 1 rota(s), 1 task(s) com foco em criar pedido publico
25
25
  - Publico: POST /pedidos
26
- - Tocar: nenhum
27
- - Score: 35 | Confianca: media | Risco: alto
26
+ - Tocar: C:\GitHub\Sema\testes\integracao\drift-legado.test.ts
27
+ - Score: 50 | Confianca: media | Risco: alto
28
28
  - Lacunas: sem_impl, vinculo_quebrado
29
29
 
30
30
  ### sema.produto.ergonomia_e_dominio
31
31
  - Faz: governa 2 superficie(s), 5 task(s) com foco em scorecard atualizado
32
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
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
34
  - Score: 90 | Confianca: alta | Risco: alto
35
35
  - Lacunas: sem_impl, vinculo_quebrado
36
36
 
37
+ ### sema.produto.geradores_web
38
+ - Faz: governa 3 task(s) com foco em gerar contrato javascript
39
+ - Publico: nenhum
40
+ - Tocar: C:\GitHub\Sema\pacotes\gerador-css\src\index.ts, C:\GitHub\Sema\pacotes\gerador-html\src\index.ts, C:\GitHub\Sema\pacotes\gerador-javascript\src\index.ts
41
+ - Score: 90 | Confianca: alta | Risco: medio
42
+ - Lacunas: sem_impl, vinculo_quebrado
43
+
37
44
  ### sema.produto.governanca_ia
38
- - Faz: governa 2 superficie(s), 4 task(s) com foco em preparar briefing contextual
45
+ - Faz: governa 2 superficie(s), 7 task(s) com foco em preparar briefing contextual
39
46
  - 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
47
+ - 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\editor-vscode\extension.js (+2)
48
+ - Score: 92 | Confianca: alta | Risco: alto
42
49
  - Lacunas: sem_impl, vinculo_quebrado
43
50
 
44
51
  ### sema.produto.linguagem_composta
45
52
  - Faz: governa 1 superficie(s), 5 task(s) com foco em regressao composta
46
53
  - 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)
54
+ - 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)
55
+ - Score: 90 | Confianca: alta | Risco: alto
56
+ - Lacunas: sem_impl, vinculo_quebrado
57
+
58
+ ### sema.produto.persistencia_vendor_first
59
+ - Faz: governa 6 task(s) com foco em validar compatibilidade vendor first
60
+ - Publico: nenhum
61
+ - Tocar: C:\GitHub\Sema\pacotes\cli\src\drift.ts, C:\GitHub\Sema\pacotes\cli\src\importador.ts, C:\GitHub\Sema\pacotes\cli\src\projeto.ts, C:\GitHub\Sema\pacotes\nucleo\src\formatador\index.ts (+2)
48
62
  - Score: 90 | Confianca: alta | Risco: alto
49
63
  - Lacunas: sem_impl, vinculo_quebrado
@@ -1,7 +1,7 @@
1
1
  PROJETO: Sema
2
- MODULOS: 4
2
+ MODULOS: 6
3
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: consultar_scorecard_compatibilidade:medio, converter_bloco_composto_para_ir:alto, criar_pedido:alto (+14)
4
+ TOP_MODULOS: app.pedidos, sema.produto.ergonomia_e_dominio, sema.produto.geradores_web (+3)
5
+ TOP_RISCOS: assistir_renomeacao_semantica:alto, carregar_configuracao_de_persistencia:medio, consultar_scorecard_compatibilidade:medio (+25)
6
6
  TOP_LACUNAS: sem_impl, vinculo_quebrado
7
- GERADO_EM: 2026-04-03T14:43:39.329Z
7
+ GERADO_EM: 2026-05-02T19:48:48.122Z
package/SEMA_INDEX.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "comando": "resumo-projeto",
3
- "geradoEm": "2026-04-03T14:43:39.329Z",
4
- "cliVersao": "1.2.17",
5
- "baseProjeto": "c:\\GitHub\\Sema",
6
- "totalModulos": 4,
3
+ "geradoEm": "2026-05-02T19:48:48.122Z",
4
+ "cliVersao": "1.5.7",
5
+ "baseProjeto": "C:\\GitHub\\Sema",
6
+ "totalModulos": 6,
7
7
  "entradaCanonica": {
8
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
9
  "ordemLeitura": [
@@ -41,6 +41,7 @@
41
41
  "docs/integracao-com-ia.md",
42
42
  "docs/fluxo-pratico-ia-sema.md",
43
43
  "docs/como-ensinar-a-sema-para-ia.md",
44
+ "docs/persistencia-vendor-first.md",
44
45
  "docs/sintaxe.md",
45
46
  "docs/cli.md"
46
47
  ],
@@ -163,11 +164,11 @@
163
164
  },
164
165
  "modulos": [
165
166
  {
166
- "geradoEm": "2026-04-03T14:43:39.329Z",
167
- "arquivo": "c:\\GitHub\\Sema\\contratos\\pedidos.sema",
167
+ "geradoEm": "2026-05-02T19:48:48.122Z",
168
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\pedidos.sema",
168
169
  "modulo": "app.pedidos",
169
170
  "perfilCompatibilidade": "publico",
170
- "scoreSemantico": 35,
171
+ "scoreSemantico": 50,
171
172
  "confiancaGeral": "media",
172
173
  "riscoOperacional": "alto",
173
174
  "faz": "governa 1 rota(s), 1 task(s) com foco em criar pedido publico",
@@ -199,7 +200,9 @@
199
200
  "pedidos",
200
201
  "pedidos_api_key"
201
202
  ],
202
- "arquivosProvaveis": [],
203
+ "arquivosProvaveis": [
204
+ "C:\\GitHub\\Sema\\testes\\integracao\\drift-legado.test.ts"
205
+ ],
203
206
  "simbolosRelacionados": [],
204
207
  "riscosPrincipais": [
205
208
  "criar_pedido:alto",
@@ -228,11 +231,14 @@
228
231
  "appRoutes": [],
229
232
  "consumerSurfaces": [],
230
233
  "consumerBridges": [],
231
- "arquivosProvaveisEditar": []
234
+ "ancoragensVinculo": [],
235
+ "arquivosProvaveisEditar": [
236
+ "C:\\GitHub\\Sema\\testes\\integracao\\drift-legado.test.ts"
237
+ ]
232
238
  },
233
239
  {
234
- "geradoEm": "2026-04-03T14:43:39.329Z",
235
- "arquivo": "c:\\GitHub\\Sema\\contratos\\sema\\ergonomia_e_dominio.sema",
240
+ "geradoEm": "2026-05-02T19:48:48.122Z",
241
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\ergonomia_e_dominio.sema",
236
242
  "modulo": "sema.produto.ergonomia_e_dominio",
237
243
  "perfilCompatibilidade": "interno",
238
244
  "scoreSemantico": 90,
@@ -278,10 +284,10 @@
278
284
  "PerfilCompatibilidade"
279
285
  ],
280
286
  "arquivosProvaveis": [
281
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
282
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
283
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
284
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\semantico\\analisador.ts"
287
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
288
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
289
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
290
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\semantico\\analisador.ts"
285
291
  ],
286
292
  "simbolosRelacionados": [
287
293
  "analisarSemantica",
@@ -325,39 +331,139 @@
325
331
  "appRoutes": [],
326
332
  "consumerSurfaces": [],
327
333
  "consumerBridges": [],
334
+ "ancoragensVinculo": [],
335
+ "arquivosProvaveisEditar": [
336
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
337
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
338
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
339
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\semantico\\analisador.ts"
340
+ ]
341
+ },
342
+ {
343
+ "geradoEm": "2026-05-02T19:48:48.122Z",
344
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\geradores_web.sema",
345
+ "modulo": "sema.produto.geradores_web",
346
+ "perfilCompatibilidade": "interno",
347
+ "scoreSemantico": 90,
348
+ "confiancaGeral": "alta",
349
+ "riscoOperacional": "medio",
350
+ "faz": "governa 3 task(s) com foco em gerar contrato javascript",
351
+ "tarefasPrincipais": [
352
+ "gerar_contrato_javascript",
353
+ "gerar_pagina_html",
354
+ "gerar_design_system_css"
355
+ ],
356
+ "entradasChave": [
357
+ "gerar_contrato_javascript(contrato)",
358
+ "gerar_pagina_html(contrato)",
359
+ "gerar_design_system_css(contrato)"
360
+ ],
361
+ "saidasChave": [
362
+ "gerar_contrato_javascript(jsdoc_tipado, validacoes_coerentes, testes_gerados)",
363
+ "gerar_pagina_html(html_semantico, formularios_derivados, rotas_visuais)",
364
+ "gerar_design_system_css(variaveis_css, dark_mode, responsividade)"
365
+ ],
366
+ "superficiesPublicas": [],
367
+ "regrasCriticas": [
368
+ "contrato deve_ser preenchido",
369
+ "dark_mode existe",
370
+ "formularios_derivados existe",
371
+ "html_semantico existe",
372
+ "jsdoc_tipado existe",
373
+ "responsividade existe",
374
+ "rotas_visuais existe",
375
+ "testes_gerados existe"
376
+ ],
377
+ "efeitos": [
378
+ "auditoria geracao_css criticidade = media",
379
+ "auditoria geracao_html criticidade = media",
380
+ "auditoria geracao_javascript criticidade = media"
381
+ ],
382
+ "erros": [],
383
+ "entidadesAfetadas": [
384
+ "geracao_css",
385
+ "geracao_html",
386
+ "geracao_javascript"
387
+ ],
388
+ "arquivosProvaveis": [
389
+ "C:\\GitHub\\Sema\\pacotes\\gerador-css\\src\\index.ts",
390
+ "C:\\GitHub\\Sema\\pacotes\\gerador-html\\src\\index.ts",
391
+ "C:\\GitHub\\Sema\\pacotes\\gerador-javascript\\src\\index.ts"
392
+ ],
393
+ "simbolosRelacionados": [
394
+ "gerarCss",
395
+ "gerarHtml",
396
+ "gerarJavaScript"
397
+ ],
398
+ "riscosPrincipais": [
399
+ "gerar_contrato_javascript:medio",
400
+ "gerar_design_system_css:medio",
401
+ "gerar_pagina_html:medio"
402
+ ],
403
+ "lacunas": [
404
+ "sem_impl",
405
+ "vinculo_quebrado"
406
+ ],
407
+ "inferido": [
408
+ "gerar_contrato_javascript:pacotes/gerador-javascript/src/index.ts",
409
+ "gerar_design_system_css:pacotes/gerador-css/src/index.ts",
410
+ "gerar_pagina_html:pacotes/gerador-html/src/index.ts",
411
+ "sema.produto.geradores_web:pacotes/gerador-css/src/index.ts",
412
+ "sema.produto.geradores_web:pacotes/gerador-html/src/index.ts",
413
+ "sema.produto.geradores_web:pacotes/gerador-javascript/src/index.ts"
414
+ ],
415
+ "checksSugeridos": [
416
+ "confirmar proibicoes operacionais",
417
+ "corrigir vinculos rastreaveis",
418
+ "revisar auth e authz",
419
+ "revisar efeitos operacionais",
420
+ "rodar sema drift --json",
421
+ "rodar sema validar --json"
422
+ ],
423
+ "testesMinimos": [
424
+ "sema drift <arquivo> --json",
425
+ "sema validar <arquivo> --json",
426
+ "sema verificar <arquivo-ou-pasta> --json"
427
+ ],
428
+ "consumerFramework": "nextjs-consumer",
429
+ "appRoutes": [],
430
+ "consumerSurfaces": [],
431
+ "consumerBridges": [],
432
+ "ancoragensVinculo": [],
328
433
  "arquivosProvaveisEditar": [
329
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
330
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
331
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
332
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\semantico\\analisador.ts"
434
+ "C:\\GitHub\\Sema\\pacotes\\gerador-css\\src\\index.ts",
435
+ "C:\\GitHub\\Sema\\pacotes\\gerador-html\\src\\index.ts",
436
+ "C:\\GitHub\\Sema\\pacotes\\gerador-javascript\\src\\index.ts"
333
437
  ]
334
438
  },
335
439
  {
336
- "geradoEm": "2026-04-03T14:43:39.329Z",
337
- "arquivo": "c:\\GitHub\\Sema\\contratos\\sema\\governanca_ia.sema",
440
+ "geradoEm": "2026-05-02T19:48:48.122Z",
441
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\governanca_ia.sema",
338
442
  "modulo": "sema.produto.governanca_ia",
339
443
  "perfilCompatibilidade": "publico",
340
- "scoreSemantico": 90,
444
+ "scoreSemantico": 92,
341
445
  "confiancaGeral": "alta",
342
446
  "riscoOperacional": "alto",
343
- "faz": "governa 2 superficie(s), 4 task(s) com foco em preparar briefing contextual",
447
+ "faz": "governa 2 superficie(s), 7 task(s) com foco em preparar briefing contextual",
344
448
  "tarefasPrincipais": [
345
449
  "mapear_projeto_sem_adivinhacao",
346
450
  "normalizar_saida_sem_ruido",
451
+ "materializar_exemplos_oficiais",
347
452
  "medir_drift_contra_codigo_vivo",
348
- "padronizar_nomes_para_leitura_de_ia"
453
+ "mapear_impacto_semantico",
454
+ "assistir_renomeacao_semantica"
349
455
  ],
350
456
  "entradasChave": [
351
457
  "mapear_projeto_sem_adivinhacao(entrada, explicito)",
352
458
  "normalizar_saida_sem_ruido(estrutura_desejada)",
353
- "medir_drift_contra_codigo_vivo(contrato_alvo, codigo_vivo)",
354
- "padronizar_nomes_para_leitura_de_ia(contrato_atual, sinonimos_em_excesso)"
459
+ "materializar_exemplos_oficiais(base_projeto, preservar_existentes)",
460
+ "medir_drift_contra_codigo_vivo(contrato_alvo, codigo_vivo, escopo_real, ignorar_worktrees)"
355
461
  ],
356
462
  "saidasChave": [
357
463
  "mapear_projeto_sem_adivinhacao(base_resolvida, origens_coerentes, codigo_vivo_detectado)",
358
464
  "normalizar_saida_sem_ruido(estrutura_canonica, alias_confuso)",
359
- "medir_drift_contra_codigo_vivo(impls_resolvidas, rotas_resolvidas, ambiguidades_explicitas)",
360
- "padronizar_nomes_para_leitura_de_ia(nomes_consistentes, leitura_rapida, casos_especiais_reduzidos)"
465
+ "materializar_exemplos_oficiais(exemplos_disponiveis, arquivos_preservados, origem_canonica_resolvida)",
466
+ "medir_drift_contra_codigo_vivo(impls_resolvidas, rotas_resolvidas, ambiguidades_explicitas, escopo_aplicado)"
361
467
  ],
362
468
  "superficiesPublicas": [
363
469
  "webhook:confirmar_contexto_publico",
@@ -366,12 +472,12 @@
366
472
  "regrasCriticas": [
367
473
  "alias_confuso existe",
368
474
  "ambiguidades_explicitas existe",
475
+ "arquivos_afetados existe",
476
+ "arquivos_preservados existe",
369
477
  "base_resolvida existe",
370
478
  "casos_especiais_reduzidos existe",
371
- "codigo_vivo_detectado existe",
372
- "estrutura_canonica existe",
373
- "impls_resolvidas existe",
374
- "leitura_rapida existe"
479
+ "codigo_relacionado_mapeado existe",
480
+ "codigo_vivo_detectado existe"
375
481
  ],
376
482
  "efeitos": [],
377
483
  "erros": [
@@ -379,35 +485,42 @@
379
485
  ],
380
486
  "entidadesAfetadas": [],
381
487
  "arquivosProvaveis": [
382
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\drift.ts",
383
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\index.ts",
384
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
385
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts"
488
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\drift.ts",
489
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\index.ts",
490
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
491
+ "C:\\GitHub\\Sema\\pacotes\\editor-vscode\\extension.js",
492
+ "C:\\GitHub\\Sema\\pacotes\\mcp\\src\\index.ts",
493
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts"
386
494
  ],
387
495
  "simbolosRelacionados": [
388
496
  "analisarDriftLegado",
497
+ "assistirRenomeacaoSemantica",
389
498
  "carregarProjeto",
390
499
  "comandoContextoIa",
391
500
  "formatarCodigo",
501
+ "gerarMapaImpactoSemantico",
502
+ "materializarExemplosOficiais",
392
503
  "normalizarEstruturaSaida"
393
504
  ],
394
505
  "riscosPrincipais": [
506
+ "assistir_renomeacao_semantica:alto",
507
+ "mapear_impacto_semantico:alto",
395
508
  "mapear_projeto_sem_adivinhacao:medio",
509
+ "materializar_exemplos_oficiais:medio",
396
510
  "medir_drift_contra_codigo_vivo:alto",
397
- "normalizar_saida_sem_ruido:medio",
398
- "padronizar_nomes_para_leitura_de_ia:medio"
511
+ "normalizar_saida_sem_ruido:medio"
399
512
  ],
400
513
  "lacunas": [
401
514
  "sem_impl",
402
515
  "vinculo_quebrado"
403
516
  ],
404
517
  "inferido": [
405
- "mapear_projeto_sem_adivinhacao:pacotes/cli/src/projeto.ts",
406
- "medir_drift_contra_codigo_vivo:pacotes/cli/src/drift.ts",
407
- "normalizar_saida_sem_ruido:pacotes/cli/src/projeto.ts",
408
- "padronizar_nomes_para_leitura_de_ia:pacotes/nucleo/src/formatador/index.ts",
409
- "sema.produto.governanca_ia:pacotes/cli/src/index.ts",
410
- "webhook:confirmar_contexto_publico:/ interno / contexto-ia"
518
+ "assistir_renomeacao_semantica:pacotes/cli/src/drift.ts",
519
+ "assistir_renomeacao_semantica:pacotes/cli/src/index.ts",
520
+ "conduzir_mudanca_semantica_real:pacotes/cli/src/index.ts",
521
+ "mapear_impacto_semantico:pacotes/cli/src/drift.ts",
522
+ "mapear_impacto_semantico:pacotes/cli/src/index.ts",
523
+ "mapear_projeto_sem_adivinhacao:pacotes/cli/src/projeto.ts"
411
524
  ],
412
525
  "checksSugeridos": [
413
526
  "confirmar proibicoes operacionais",
@@ -427,19 +540,22 @@
427
540
  "/ranking"
428
541
  ],
429
542
  "consumerSurfaces": [
430
- "router:/ranking -> c:\\GitHub\\Sema\\pacotes\\cli\\src\\index.ts"
543
+ "router:/ranking -> C:\\GitHub\\Sema\\pacotes\\cli\\src\\index.ts"
431
544
  ],
432
545
  "consumerBridges": [],
546
+ "ancoragensVinculo": [],
433
547
  "arquivosProvaveisEditar": [
434
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\drift.ts",
435
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\index.ts",
436
- "c:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
437
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts"
548
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\drift.ts",
549
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\index.ts",
550
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
551
+ "C:\\GitHub\\Sema\\pacotes\\editor-vscode\\extension.js",
552
+ "C:\\GitHub\\Sema\\pacotes\\mcp\\src\\index.ts",
553
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts"
438
554
  ]
439
555
  },
440
556
  {
441
- "geradoEm": "2026-04-03T14:43:39.329Z",
442
- "arquivo": "c:\\GitHub\\Sema\\contratos\\sema\\linguagem_composta.sema",
557
+ "geradoEm": "2026-05-02T19:48:48.122Z",
558
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\linguagem_composta.sema",
443
559
  "modulo": "sema.produto.linguagem_composta",
444
560
  "perfilCompatibilidade": "interno",
445
561
  "scoreSemantico": 90,
@@ -485,11 +601,11 @@
485
601
  "StatusEvolucao"
486
602
  ],
487
603
  "arquivosProvaveis": [
488
- "c:\\GitHub\\Sema\\pacotes\\gerador-python\\src\\index.ts",
489
- "c:\\GitHub\\Sema\\pacotes\\gerador-typescript\\src\\index.ts",
490
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
491
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
492
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\parser\\parser.ts"
604
+ "C:\\GitHub\\Sema\\pacotes\\gerador-python\\src\\index.ts",
605
+ "C:\\GitHub\\Sema\\pacotes\\gerador-typescript\\src\\index.ts",
606
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
607
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
608
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\parser\\parser.ts"
493
609
  ],
494
610
  "simbolosRelacionados": [
495
611
  "converterParaIr",
@@ -534,12 +650,121 @@
534
650
  "appRoutes": [],
535
651
  "consumerSurfaces": [],
536
652
  "consumerBridges": [],
653
+ "ancoragensVinculo": [],
654
+ "arquivosProvaveisEditar": [
655
+ "C:\\GitHub\\Sema\\pacotes\\gerador-python\\src\\index.ts",
656
+ "C:\\GitHub\\Sema\\pacotes\\gerador-typescript\\src\\index.ts",
657
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
658
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
659
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\parser\\parser.ts"
660
+ ]
661
+ },
662
+ {
663
+ "geradoEm": "2026-05-02T19:48:48.122Z",
664
+ "arquivo": "C:\\GitHub\\Sema\\contratos\\sema\\persistencia_vendor_first.sema",
665
+ "modulo": "sema.produto.persistencia_vendor_first",
666
+ "perfilCompatibilidade": "interno",
667
+ "scoreSemantico": 90,
668
+ "confiancaGeral": "alta",
669
+ "riscoOperacional": "alto",
670
+ "faz": "governa 6 task(s) com foco em validar compatibilidade vendor first",
671
+ "tarefasPrincipais": [
672
+ "validar_compatibilidade_vendor_first",
673
+ "converter_persistencia_para_ir_canonico",
674
+ "formatar_database_vendor_first",
675
+ "inferir_database_legado_em_adocao",
676
+ "carregar_configuracao_de_persistencia",
677
+ "cruzar_persistencia_com_banco_real"
678
+ ],
679
+ "entradasChave": [
680
+ "validar_compatibilidade_vendor_first(contrato_persistencia, engine_alvo)",
681
+ "converter_persistencia_para_ir_canonico(contrato_persistencia)",
682
+ "formatar_database_vendor_first(contrato_persistencia)",
683
+ "inferir_database_legado_em_adocao(projeto_legado, linguagem_detectada)"
684
+ ],
685
+ "saidasChave": [
686
+ "validar_compatibilidade_vendor_first(diagnosticos_emitidos, incompatibilidades_reais_detectadas, status)",
687
+ "converter_persistencia_para_ir_canonico(secao_databases_preservada, compatibilidade_calculada, status)",
688
+ "formatar_database_vendor_first(ordem_canonica, recursos_preservados)",
689
+ "inferir_database_legado_em_adocao(engines_inferidos, bloco_database_emitido)"
690
+ ],
691
+ "superficiesPublicas": [],
692
+ "regrasCriticas": [
693
+ "adapters_por_engine_lidos existe",
694
+ "bloco_database_emitido existe",
695
+ "categoria_persistencia_emitida existe",
696
+ "colunas_reais_mapeadas existe",
697
+ "compatibilidade_calculada existe",
698
+ "compatibilidade_materializada existe",
699
+ "diagnosticos_emitidos existe",
700
+ "engines_habilitados_lidos existe"
701
+ ],
702
+ "efeitos": [],
703
+ "erros": [],
704
+ "entidadesAfetadas": [
705
+ "StatusPersistenciaVendor"
706
+ ],
707
+ "arquivosProvaveis": [
708
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\drift.ts",
709
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\importador.ts",
710
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
711
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
712
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
713
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\semantico\\analisador.ts"
714
+ ],
715
+ "simbolosRelacionados": [
716
+ "analisarPersistenciaReal",
717
+ "analisarSemantica",
718
+ "carregarConfiguracaoProjeto",
719
+ "converterParaIr",
720
+ "formatarCodigo",
721
+ "importarProjetoLegado"
722
+ ],
723
+ "riscosPrincipais": [
724
+ "carregar_configuracao_de_persistencia:medio",
725
+ "converter_persistencia_para_ir_canonico:alto",
726
+ "cruzar_persistencia_com_banco_real:alto",
727
+ "formatar_database_vendor_first:medio",
728
+ "inferir_database_legado_em_adocao:medio",
729
+ "validar_compatibilidade_vendor_first:alto"
730
+ ],
731
+ "lacunas": [
732
+ "sem_impl",
733
+ "vinculo_quebrado"
734
+ ],
735
+ "inferido": [
736
+ "carregar_configuracao_de_persistencia:pacotes/cli/src/projeto.ts",
737
+ "converter_persistencia_para_ir_canonico:pacotes/nucleo/src/ir/conversor.ts",
738
+ "cruzar_persistencia_com_banco_real:pacotes/cli/src/drift.ts",
739
+ "formatar_database_vendor_first:pacotes/nucleo/src/formatador/index.ts",
740
+ "inferir_database_legado_em_adocao:pacotes/cli/src/importador.ts",
741
+ "sema.produto.persistencia_vendor_first:pacotes/cli/src/drift.ts"
742
+ ],
743
+ "checksSugeridos": [
744
+ "confirmar proibicoes operacionais",
745
+ "corrigir vinculos rastreaveis",
746
+ "revisar auth e authz",
747
+ "revisar efeitos operacionais",
748
+ "rodar sema drift --json",
749
+ "rodar sema validar --json"
750
+ ],
751
+ "testesMinimos": [
752
+ "sema drift <arquivo> --json",
753
+ "sema validar <arquivo> --json",
754
+ "sema verificar <arquivo-ou-pasta> --json"
755
+ ],
756
+ "consumerFramework": "nextjs-consumer",
757
+ "appRoutes": [],
758
+ "consumerSurfaces": [],
759
+ "consumerBridges": [],
760
+ "ancoragensVinculo": [],
537
761
  "arquivosProvaveisEditar": [
538
- "c:\\GitHub\\Sema\\pacotes\\gerador-python\\src\\index.ts",
539
- "c:\\GitHub\\Sema\\pacotes\\gerador-typescript\\src\\index.ts",
540
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
541
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
542
- "c:\\GitHub\\Sema\\pacotes\\nucleo\\src\\parser\\parser.ts"
762
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\drift.ts",
763
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\importador.ts",
764
+ "C:\\GitHub\\Sema\\pacotes\\cli\\src\\projeto.ts",
765
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\formatador\\index.ts",
766
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\ir\\conversor.ts",
767
+ "C:\\GitHub\\Sema\\pacotes\\nucleo\\src\\semantico\\analisador.ts"
543
768
  ]
544
769
  }
545
770
  ]