@semacode/cli 1.5.28 → 1.5.30

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 (125) hide show
  1. package/README.md +144 -144
  2. package/dist/bridge.d.ts +52 -0
  3. package/dist/bridge.js +318 -0
  4. package/dist/bridge.js.map +1 -0
  5. package/dist/comandos.d.ts +11 -0
  6. package/dist/comandos.js +146 -0
  7. package/dist/comandos.js.map +1 -0
  8. package/dist/contexto.d.ts +34 -0
  9. package/dist/contexto.js +197 -0
  10. package/dist/contexto.js.map +1 -0
  11. package/dist/drift.d.ts +1 -1
  12. package/dist/drift.js +32 -5
  13. package/dist/drift.js.map +1 -1
  14. package/dist/guard.d.ts +35 -0
  15. package/dist/guard.js +164 -0
  16. package/dist/guard.js.map +1 -0
  17. package/dist/index.js +391 -64
  18. package/dist/index.js.map +1 -1
  19. package/dist/lua-symbols.d.ts +0 -6
  20. package/dist/lua-symbols.js +11 -78
  21. package/dist/lua-symbols.js.map +1 -1
  22. package/dist/projeto.js +6 -0
  23. package/dist/projeto.js.map +1 -1
  24. package/dist/tipos.d.ts +1 -1
  25. package/exemplos/.prepack-generated +1 -0
  26. package/exemplos/author_obra_comum.sema +294 -294
  27. package/exemplos/author_tema_sensivel.sema +264 -264
  28. package/exemplos/profile_game.sema +114 -114
  29. package/exemplos/profile_legal.sema +105 -105
  30. package/exemplos/profile_ops.sema +110 -110
  31. package/exemplos/profile_research.sema +104 -104
  32. package/exemplos/profile_software.sema +123 -123
  33. package/exemplos/profile_workflow_n8n.sema +99 -99
  34. package/node_modules/@sema/gerador-css/package.json +14 -7
  35. package/node_modules/@sema/gerador-css/src/index.ts +605 -0
  36. package/node_modules/@sema/gerador-css/tsconfig.json +13 -0
  37. package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +1 -0
  38. package/node_modules/@sema/gerador-dart/package.json +14 -7
  39. package/node_modules/@sema/gerador-dart/src/index.ts +52 -0
  40. package/node_modules/@sema/gerador-dart/tsconfig.json +13 -0
  41. package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +1 -0
  42. package/node_modules/@sema/gerador-html/package.json +14 -7
  43. package/node_modules/@sema/gerador-html/src/index.ts +185 -0
  44. package/node_modules/@sema/gerador-html/tsconfig.json +13 -0
  45. package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +1 -0
  46. package/node_modules/@sema/gerador-javascript/package.json +14 -7
  47. package/node_modules/@sema/gerador-javascript/src/index.ts +461 -0
  48. package/node_modules/@sema/gerador-javascript/tsconfig.json +13 -0
  49. package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +1 -0
  50. package/node_modules/@sema/gerador-lua/package.json +14 -7
  51. package/node_modules/@sema/gerador-lua/src/index.ts +359 -0
  52. package/node_modules/@sema/gerador-lua/tsconfig.json +13 -0
  53. package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +1 -0
  54. package/node_modules/@sema/gerador-python/package.json +14 -7
  55. package/node_modules/@sema/gerador-python/src/index.ts +850 -0
  56. package/node_modules/@sema/gerador-python/tsconfig.json +13 -0
  57. package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +1 -0
  58. package/node_modules/@sema/gerador-typescript/package.json +14 -7
  59. package/node_modules/@sema/gerador-typescript/src/index.ts +876 -0
  60. package/node_modules/@sema/gerador-typescript/tsconfig.json +13 -0
  61. package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +1 -0
  62. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
  63. package/node_modules/@sema/nucleo/dist/index.d.ts +17 -0
  64. package/node_modules/@sema/nucleo/dist/index.js +28 -0
  65. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  66. package/node_modules/@sema/nucleo/dist/ir/conversor.js +4 -0
  67. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  68. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
  69. package/node_modules/@sema/nucleo/dist/parser/parser.js +2 -0
  70. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  71. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +2 -2
  72. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +3 -1
  73. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  74. package/node_modules/@sema/nucleo/package.json +10 -7
  75. package/node_modules/@sema/nucleo/src/ast/tipos.ts +207 -0
  76. package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +43 -0
  77. package/node_modules/@sema/nucleo/src/formatador/index.ts +530 -0
  78. package/node_modules/@sema/nucleo/src/index.ts +183 -0
  79. package/node_modules/@sema/nucleo/src/ir/conversor.ts +1037 -0
  80. package/node_modules/@sema/nucleo/src/ir/modelos.ts +403 -0
  81. package/node_modules/@sema/nucleo/src/lexer/lexer.ts +166 -0
  82. package/node_modules/@sema/nucleo/src/lexer/tokens.ts +79 -0
  83. package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +41 -0
  84. package/node_modules/@sema/nucleo/src/parser/parser.ts +936 -0
  85. package/node_modules/@sema/nucleo/src/persistencia/contratos.ts +379 -0
  86. package/node_modules/@sema/nucleo/src/semantico/analisador.ts +3126 -0
  87. package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +665 -0
  88. package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +362 -0
  89. package/node_modules/@sema/nucleo/src/util/arquivos.ts +28 -0
  90. package/node_modules/@sema/nucleo/tsconfig.json +9 -0
  91. package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +1 -0
  92. package/node_modules/@sema/padroes/package.json +10 -7
  93. package/node_modules/@sema/padroes/src/index.ts +382 -0
  94. package/node_modules/@sema/padroes/tsconfig.json +9 -0
  95. package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +1 -0
  96. package/package.json +74 -74
  97. package/AGENTS.md +0 -280
  98. package/LICENSE +0 -22
  99. package/SEMA_BRIEF.curto.txt +0 -11
  100. package/SEMA_BRIEF.md +0 -112
  101. package/SEMA_BRIEF.micro.txt +0 -9
  102. package/SEMA_INDEX.json +0 -1534
  103. package/dist/php-symbols.d.ts +0 -24
  104. package/dist/php-symbols.js +0 -375
  105. package/dist/php-symbols.js.map +0 -1
  106. package/docs/AGENT_STARTER.md +0 -109
  107. package/docs/cli.md +0 -175
  108. package/docs/como-ensinar-a-sema-para-ia.md +0 -155
  109. package/docs/deploy.md +0 -93
  110. package/docs/documentacao.md +0 -88
  111. package/docs/env.md +0 -105
  112. package/docs/extensao-vscode.md +0 -53
  113. package/docs/fluxo-pratico-ia-sema.md +0 -187
  114. package/docs/instalacao-e-primeiro-uso.md +0 -134
  115. package/docs/integracao-com-ia.md +0 -110
  116. package/docs/mcp.md +0 -292
  117. package/docs/pagamento-ponta-a-ponta.md +0 -171
  118. package/docs/persistencia-vendor-first.md +0 -151
  119. package/docs/prompt-base-ia-sema.md +0 -111
  120. package/docs/repositories.md +0 -54
  121. package/docs/rollback.md +0 -49
  122. package/docs/seguranca.md +0 -126
  123. package/docs/sintaxe.md +0 -218
  124. package/llms-full.txt +0 -34
  125. package/llms.txt +0 -17
@@ -1,187 +0,0 @@
1
- # Fluxo Pratico para IA Antes de Editar `.sema`
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
5
- > PT: Português depois, com acentos preservados.
6
- > ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
7
-
8
-
9
- Este documento descreve o fluxo operacional recomendado para qualquer IA antes, durante e depois de alterar arquivos `.sema`.
10
-
11
- Se a IA seguir isso, ela trabalha com contexto. Se não seguir, vira adivinhação gourmet.
12
-
13
- O ponto central: Sema não é texto para agradar humano. É contrato semântico IA-first. Humanos autorizam e revisam; a IA consome o contrato para decidir o próximo movimento.
14
-
15
- ## Fluxo curto
16
-
17
- 1. ler contexto do projeto
18
- 2. identificar a capacidade da IA
19
- 3. identificar o módulo alvo
20
- 4. consultar o menor artefato semântico suficiente
21
- 5. editar
22
- 6. formatar
23
- 7. validar
24
- 8. verificar
25
-
26
- ## Fluxo detalhado
27
-
28
- ### Etapa 1. Ler contexto mínimo
29
-
30
- Antes de tocar em qualquer arquivo, a IA deve ler:
31
-
32
- - [README.md](../README.md)
33
- - [integração-com-ia.md](./integracao-com-ia.md)
34
- - [como-ensinar-a-sema-para-ia.md](./como-ensinar-a-sema-para-ia.md)
35
-
36
- Se o trabalho estiver ligado a pagamento, ler também:
37
-
38
- - [pagamento-ponta-a-ponta.md](./pagamento-ponta-a-ponta.md)
39
-
40
- ### Etapa 2. Escolher a faixa de capacidade
41
-
42
- Antes de despejar contexto na IA, escolha o que ela aguenta:
43
-
44
- - IA pequena ou gratuita: `sema resumo --micro` e `briefing.min.json`
45
- - IA média: `sema resumo --curto`, `briefing.min.json` e `drift.json`
46
- - IA grande: `contexto-ia`, `briefing.json`, `drift.json`, `ir.json` e `ast.json`
47
-
48
- ### Etapa 3. Ler o módulo alvo e um exemplo parecido
49
-
50
- A IA deve identificar:
51
-
52
- - qual arquivo sera editado
53
- - qual módulo esse arquivo representa
54
- - qual exemplo oficial mais se parece com o que precisa ser feito
55
-
56
- Regra pratica:
57
-
58
- - automacao: [automacao.sema](../exemplos/automacao.sema)
59
- - erros e fluxos de falha: [tratamento_erro.sema](../exemplos/tratamento_erro.sema)
60
- - borda pública e pagamento: [pagamento.sema](../exemplos/pagamento.sema)
61
-
62
- ### Etapa 4. Consultar AST e IR quando fizer sentido
63
-
64
- Antes de alterar, a IA deve executar:
65
-
66
- ```bash
67
- sema resumo caminho/arquivo.sema --curto --para mudanca
68
- sema ast caminho/arquivo.sema --json
69
- sema ir caminho/arquivo.sema --json
70
- ```
71
-
72
- Objetivo:
73
-
74
- - ver a forma sintatica quando a capacidade aguentar
75
- - ver a forma semântica resolvida quando a capacidade aguentar
76
- - evitar interpretar errado o contrato
77
-
78
- ### Etapa 5. Editar o `.sema`
79
-
80
- Ao editar, a IA deve:
81
-
82
- - preservar a intenção do módulo
83
- - seguir a gramática existente
84
- - evitar criar bloco ou operador não suportado
85
- - preferir a forma já usada nos exemplos oficiais
86
- - usar blocos existentes como `auth`, `authz`, `dados`, `audit`, `forbidden`, `execucao`, `use`, `state` e `enum` antes de propor sintaxe nova
87
- - evitar teste fraco em task sensível; `expect { sucesso: verdadeiro }` sozinho não prova semântica operacional
88
-
89
- ### Etapa 6. Formatar
90
-
91
- Depois da edição:
92
-
93
- ```bash
94
- sema formatar caminho/arquivo.sema
95
- sema formatar caminho/arquivo.sema --check
96
- ```
97
-
98
- Se `--check` falhar, o trabalho ainda não está pronto.
99
-
100
- ### Etapa 7. Validar e diagnosticar
101
-
102
- Depois da formatacao:
103
-
104
- ```bash
105
- sema validar caminho/arquivo.sema --json
106
- sema diagnosticos caminho/arquivo.sema --json
107
- ```
108
-
109
- Se houver falha:
110
-
111
- - usar os diagnósticos estruturados como contrato de correcao
112
- - não insistir em leitura manual teimosa quando a CLI já disse onde está a merda
113
-
114
- ### Etapa 7.5. Compilar quando a tarefa pedir código derivado
115
-
116
- Se a tarefa não for só editar contrato, mas também gerar base de implementacao, a IA deve rodar explicitamente:
117
-
118
- ```bash
119
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
120
- ```
121
-
122
- Ou trocar o alvo para `python` ou `dart`, conforme o caso.
123
-
124
- Regra pratica:
125
-
126
- - se a entrega inclui código derivado, `sema compilar` não é opcional
127
- - se a IA ignorar `compilar`, ela pode acabar reescrevendo na mao coisa que a Sema já gera sozinha, que é burrice operacional
128
-
129
- ### Etapa 8. Verificar
130
-
131
- No fechamento:
132
-
133
- ```bash
134
- sema verificar arquivo-ou-pasta --json --saida ./.tmp/verificacao-ia
135
- ```
136
-
137
- ## Fluxo mínimo para automacao
138
-
139
- Se voce quiser o menor fluxo aceitavel para uma IA pequena:
140
-
141
- ```bash
142
- sema resumo caminho/arquivo.sema --micro --para mudanca
143
- sema formatar caminho/arquivo.sema
144
- sema validar caminho/arquivo.sema --json
145
- ```
146
-
147
- Mas, sendo sincero, o fluxo bom mesmo e fechar com `verificar`.
148
-
149
- Se a tarefa envolver código derivado, o fluxo mínimo aceitavel vira:
150
-
151
- ```bash
152
- sema ir caminho/arquivo.sema --json
153
- sema formatar caminho/arquivo.sema
154
- sema validar caminho/arquivo.sema --json
155
- sema compilar caminho/arquivo.sema --alvo typescript --saida ./saida/typescript
156
- ```
157
-
158
- ## Checklist de saída
159
-
160
- Antes de considerar a alteracao pronta, a IA deve responder mentalmente:
161
-
162
- - eu entendi o módulo e o contrato?
163
- - eu mantive a sintaxe dentro do que a linguagem suporta?
164
- - eu formatei o arquivo?
165
- - eu validei?
166
- - eu olhei diagnósticos se algo falhou?
167
- - eu fechei com verificação?
168
-
169
- Se alguma resposta for "não", ainda não terminou.
170
-
171
- ## Regra de ouro
172
-
173
- Em Sema, a IA não deveria operar no escuro.
174
-
175
- Ela deve trabalhar sempre com:
176
-
177
- - exemplo oficial
178
- - AST
179
- - IR
180
- - diagnósticos
181
- - formatador
182
-
183
- Esse conjunto e o que faz a linguagem ser amigavel para IA de verdade, e não só no discurso bonito.
184
-
185
- ## Observacao sobre caminhos
186
-
187
- Está documentação usa placeholders de arquivo e pasta, não caminhos do monorepo da Sema. A IA deve adaptar isso ao projeto atual e continuar tratando `sema` como interface pública principal.
@@ -1,134 +0,0 @@
1
- # Installation And First Use
2
-
3
- ## English
4
-
5
- This guide covers the current public installation path for the Sema CLI and VS Code extension. The remote MCP server is a private/commercial authorized service and is not distributed as a public npm package.
6
-
7
- Current public version: `1.5.28`.
8
-
9
- ```bash
10
- npm install -g @semacode/cli
11
- sema --help
12
- sema doctor
13
- ```
14
-
15
- ## Português
16
-
17
- Este guia cobre o caminho público atual da Sema para CLI e extensão VS Code. O servidor MCP remoto é um serviço privado/comercial autorizado e não é distribuído como pacote npm público.
18
-
19
- Versão pública atual: `1.5.28`.
20
-
21
- ```bash
22
- npm install -g @semacode/cli
23
- sema --help
24
- sema doctor
25
- ```
26
-
27
- ## Español
28
-
29
- Esta guía cubre el camino público actual de instalación para la CLI de Sema y la extensión de VS Code. El servidor MCP remoto es un servicio privado/comercial autorizado y no se distribuye como paquete público de npm.
30
-
31
- Versión pública actual: `1.5.28`.
32
-
33
- ```bash
34
- npm install -g @semacode/cli
35
- sema --help
36
- sema doctor
37
- ```
38
-
39
- ## Referência Operacional
40
-
41
- ## Requisitos
42
-
43
- - Node.js LTS
44
- - npm funcional
45
- - Python 3 só se você quiser rodar testes Python gerados
46
-
47
- ## CLI
48
-
49
- Instalação principal:
50
-
51
- ```bash
52
- npm install -g @semacode/cli
53
- sema --help
54
- sema doctor
55
- sema docs-impacto --intencao "alterar projeto" --json
56
- ```
57
-
58
- Instalação de uma versão específica pelo npm:
59
-
60
- ```bash
61
- npm install -g @semacode/cli@1.5.28
62
- ```
63
-
64
- Instalação local ao projeto:
65
-
66
- ```bash
67
- npm install @semacode/cli
68
- npx sema --help
69
- ```
70
-
71
- ## MCP
72
-
73
- O MCP da Sema não é mais instalado por npm público. Ele é uma superfície privada/comercial acessada por endpoint remoto, normalmente `https://<host>/mcp`, com OAuth ou bearer configurado fora deste repositório. Veja [mcp.md](./mcp.md).
74
-
75
- ## Instaladores oficiais
76
-
77
- Linux ou macOS:
78
-
79
- ```bash
80
- curl -fsSL https://raw.githubusercontent.com/gerlanss/Sema/main/install-sema.sh | bash
81
- ```
82
-
83
- Windows PowerShell:
84
-
85
- ```powershell
86
- Invoke-WebRequest -Uri https://raw.githubusercontent.com/gerlanss/Sema/main/install-sema.ps1 -OutFile install-sema.ps1
87
- .\install-sema.ps1
88
- ```
89
-
90
- Se quiser uma tag específica, troque `main` pela versão desejada.
91
-
92
- ## Extensão VS Code
93
-
94
- ```bash
95
- npm run extensao:empacotar
96
- code --install-extension .tmp/editor-vscode/sema-language-tools-1.5.28.vsix --force
97
- ```
98
-
99
- Os assets versionados da VSIX devem ser anexados manualmente a GitHub Releases quando houver release pública com binários. Se `--with-vscode` for usado antes disso, o instalador mantém a CLI instalada e apenas pula a extensão.
100
-
101
- ## Primeiro teste
102
-
103
- ```bash
104
- mkdir sema-demo
105
- cd sema-demo
106
- sema iniciar
107
- sema validar contratos/pedidos.sema --json
108
- ```
109
-
110
- ## Primeiro fluxo útil
111
-
112
- ```bash
113
- sema validar contratos/pedidos.sema --json
114
- sema ir contratos/pedidos.sema --json
115
- sema formatar contratos/pedidos.sema
116
- sema verificar contratos --saida ./.tmp/verificacao
117
- ```
118
-
119
- ## Primeiro fluxo IA-first
120
-
121
- ```bash
122
- sema inspecionar . --json
123
- sema resumo contratos/pedidos.sema --micro --para onboarding
124
- sema drift contratos/pedidos.sema --escopo modulo --json
125
- sema impacto contratos/pedidos.sema --alvo pedido_id --mudanca "trocar pedido_id por pedido_uuid" --json
126
- sema contexto-ia contratos/pedidos.sema --saida ./.tmp/contexto --json
127
- ```
128
-
129
- ## Primeiro fluxo de persistência vendor-first
130
-
131
- ```bash
132
- sema validar contratos/sema/persistencia_vendor_first.sema --json
133
- sema ir contratos/sema/persistencia_vendor_first.sema --json
134
- ```
@@ -1,110 +0,0 @@
1
- # Integração com IA
2
-
3
- <!-- sema:i18n -->
4
- > EN: English first. The canonical operational body below may still be in Portuguese until full translation lands.
5
- > PT: Português depois, com acentos preservados.
6
- > ES: Español al final; não traduza comandos, rotas nem sómbolos `.sema` sem contrato.
7
-
8
-
9
- Sema foi feita para IA operar software vivo com menos adivinhação. O consumidor principal não é o humano lendo arquivo bonito; e o agente decidindo o que pode tocar, que efeito vai causar e como validar antes de mexer no código vivo.
10
-
11
- Humanos entram como autores, revisores e aprovadores do contrato. A ponte da Sema e da intenção operacional para um formato que IA consegue consumir sem transformar contexto em chute.
12
-
13
- ## Ordem recomendada
14
-
15
- 1. `sema resumo <arquivo-ou-pasta> --micro --para onboarding`
16
- 2. Liste ou leia os contratos existentes e inspecione o `.sema` mais próximo.
17
- 3. Crie, edite ou remova o contrato aplicavel antes de qualquer ação.
18
- 4. `sema validar <arquivo.sema> --json`
19
- 5. `sema drift <arquivo-ou-pasta> --json`
20
- 6. `sema contexto-ia <arquivo.sema> --saida <diretorio> --json`
21
-
22
- Não comece cavando código bruto quando a ferramenta já consegue te dar contrato, score, lacuna e superficie viva. Contrato primeiro vale para Software, Author, Workflow, Ops, Game, Legal, Research e qualquer profile futuro.
23
-
24
- ## Por capacidade do modelo
25
-
26
- IA pequena:
27
-
28
- - `sema resumo --micro`
29
- - `briefing.min.json`
30
- - `prompt-curto.txt`
31
-
32
- IA média:
33
-
34
- - `sema resumo --curto`
35
- - `drift.json`
36
- - `briefing.min.json`
37
-
38
- IA grande:
39
-
40
- - `sema contexto-ia`
41
- - `briefing.json`
42
- - `ir.json`
43
- - `ast.json`
44
-
45
- ## MCP
46
-
47
- Se o agente usa MCP, configure o endpoint remoto privado fornecido pelo operador do serviço. O MCP não é mais distribuido como pacote npm público neste GitHub. A variavel `SEMA_MCP_AUTH_TOKEN` no cliente deve conter uma chave comercial `sema_mcp_*` do painel, nao um token fixo do servidor.
48
-
49
- Exemplo para clientes que aceitam MCP HTTP:
50
-
51
- ```toml
52
- [mcp_servers.sema]
53
- url = "https://sema.exemplo.com/mcp"
54
- bearer_token_env_var = "SEMA_MCP_AUTH_TOKEN"
55
- tool_timeout_sec = 90
56
- ```
57
-
58
- Ferramentas mais úteis no fluxo de mudanca:
59
-
60
- - `sema_resumo` para descobrir o estado do projeto
61
- - `sema_listar_contratos` e `sema_ler_contrato` quando a versão privada expuser a leitura direta dos contratos
62
- - `sema_inspecionar` para entender o contrato mais próximo
63
- - `sema_validar` para bloquear contrato inválido antes da ação
64
- - `sema_drift` para medir coerência viva
65
- - `sema_impacto` para dizer o que tocar
66
- - `sema_renomear_semantico` para guiar troca de nomes sem misturar payload antigo e novo
67
- - `sema_profile_validar` ou os gates Author para validar o profile especifico
68
- - `sema_docs_impacto` para obrigar leitura das docs relacionadas antes de agir
69
- - `sema_finalizar_mudanca` para bloquear conclusóo sem leitura documental comprovada
70
-
71
- O MCP deve repetir a regra sem ambiguidade: se não ha contrato, crie; se a intenção mudou, edite; se a capacidade saiu do sistema, remova ou aposente. Ação sem ciclo de contrato não é fluxo Sema.
72
-
73
- ## Portao documental
74
-
75
- Depois de resolver e validar o contrato, declare a intenção documental:
76
-
77
- ```bash
78
- sema docs-impacto --intencao "fazer deploy" --criar-ausentes --json
79
- ```
80
-
81
- Leia todos os itens em `leituraObrigatoria`. Se `docsAusentes` vier preenchido, crie ou complete os documentos antes da ação.
82
-
83
- Antes de concluir:
84
-
85
- ```bash
86
- sema finalizar-mudanca --intencao "fazer deploy" --doc-lida docs/deploy.md --json
87
- ```
88
-
89
- Se houver diagnóstico de severidade 4+, a IA não deve finalizar a mudanca.
90
-
91
- ## Regras praticas
92
-
93
- - trate `.sema` e IR como fonte de verdade semântica
94
- - trate humanos como donos/aprovadores e agentes como consumidores primarios do contrato
95
- - trate `drift` como juiz da adoção incremental
96
- - use `briefing.min.json` antes de abrir dezenas de arquivos
97
- - não invente sintaxe fora da gramática oficial
98
- - em task sensível, teste que valida apenas `sucesso` e fraco; inclua output, erro esperado ou garantia observavel
99
- - em persistência, não assuma que bancos diferentes tem o mesmo contrato operacional
100
-
101
- ## Arquivos úteis no repo
102
-
103
- - `AGENTS.md`
104
- - `llms.txt`
105
- - `llms-full.txt`
106
- - `SEMA_BRIEF.md`
107
- - `SEMA_INDEX.json`
108
- - `docs/persistencia-vendor-first.md`
109
- - `docs/mcp.md`
110
- - `docs/documentacao.md`