@semacode/cli 1.5.28 → 1.5.29

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 (81) hide show
  1. package/AGENTS.md +279 -265
  2. package/AGENT_CONTEXT_PACK.json +164 -0
  3. package/README.md +144 -144
  4. package/SEMA_BRIEF.curto.txt +7 -7
  5. package/SEMA_BRIEF.md +464 -65
  6. package/SEMA_BRIEF.micro.txt +6 -6
  7. package/SEMA_INDEX.json +6723 -669
  8. package/dist/bridge.d.ts +52 -0
  9. package/dist/bridge.js +318 -0
  10. package/dist/bridge.js.map +1 -0
  11. package/dist/comandos.d.ts +11 -0
  12. package/dist/comandos.js +110 -0
  13. package/dist/comandos.js.map +1 -0
  14. package/dist/contexto.d.ts +34 -0
  15. package/dist/contexto.js +197 -0
  16. package/dist/contexto.js.map +1 -0
  17. package/dist/drift.d.ts +1 -1
  18. package/dist/drift.js +32 -5
  19. package/dist/drift.js.map +1 -1
  20. package/dist/index.js +391 -64
  21. package/dist/index.js.map +1 -1
  22. package/dist/lua-symbols.d.ts +0 -6
  23. package/dist/lua-symbols.js +11 -78
  24. package/dist/lua-symbols.js.map +1 -1
  25. package/dist/projeto.js +6 -0
  26. package/dist/projeto.js.map +1 -1
  27. package/dist/tipos.d.ts +1 -1
  28. package/docs/AGENT_STARTER.md +109 -109
  29. package/docs/api.md +82 -0
  30. package/docs/cli.md +175 -175
  31. package/docs/como-ensinar-a-sema-para-ia.md +155 -155
  32. package/docs/deploy.md +93 -93
  33. package/docs/documentacao.md +88 -88
  34. package/docs/env.md +105 -105
  35. package/docs/extensao-vscode.md +53 -53
  36. package/docs/fluxo-pratico-ia-sema.md +187 -187
  37. package/docs/instalacao-e-primeiro-uso.md +134 -134
  38. package/docs/integracao-com-ia.md +110 -110
  39. package/docs/mcp.md +292 -292
  40. package/docs/pagamento-ponta-a-ponta.md +171 -171
  41. package/docs/persistencia-vendor-first.md +151 -151
  42. package/docs/prompt-base-ia-sema.md +111 -111
  43. package/docs/repositories.md +54 -54
  44. package/docs/rollback.md +49 -49
  45. package/docs/seguranca.md +126 -126
  46. package/docs/sintaxe.md +218 -218
  47. package/exemplos/author_obra_comum.sema +294 -294
  48. package/exemplos/author_tema_sensivel.sema +264 -264
  49. package/exemplos/profile_game.sema +114 -114
  50. package/exemplos/profile_legal.sema +105 -105
  51. package/exemplos/profile_ops.sema +110 -110
  52. package/exemplos/profile_research.sema +104 -104
  53. package/exemplos/profile_software.sema +123 -123
  54. package/exemplos/profile_workflow_n8n.sema +99 -99
  55. package/llms-full.txt +10 -9
  56. package/llms.txt +8 -7
  57. package/node_modules/@sema/gerador-css/package.json +1 -1
  58. package/node_modules/@sema/gerador-dart/package.json +1 -1
  59. package/node_modules/@sema/gerador-html/package.json +1 -1
  60. package/node_modules/@sema/gerador-javascript/package.json +1 -1
  61. package/node_modules/@sema/gerador-lua/package.json +1 -1
  62. package/node_modules/@sema/gerador-python/package.json +1 -1
  63. package/node_modules/@sema/gerador-typescript/package.json +1 -1
  64. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +1 -1
  65. package/node_modules/@sema/nucleo/dist/index.d.ts +17 -0
  66. package/node_modules/@sema/nucleo/dist/index.js +28 -0
  67. package/node_modules/@sema/nucleo/dist/index.js.map +1 -1
  68. package/node_modules/@sema/nucleo/dist/ir/conversor.js +4 -0
  69. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -1
  70. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +3 -3
  71. package/node_modules/@sema/nucleo/dist/parser/parser.js +2 -0
  72. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -1
  73. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +2 -2
  74. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +3 -1
  75. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -1
  76. package/node_modules/@sema/nucleo/package.json +1 -1
  77. package/node_modules/@sema/padroes/package.json +1 -1
  78. package/package.json +11 -10
  79. package/dist/php-symbols.d.ts +0 -24
  80. package/dist/php-symbols.js +0 -375
  81. package/dist/php-symbols.js.map +0 -1
@@ -1,53 +1,53 @@
1
- # Extensao VS Code
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
- Runbook da extensao `Sema Language Tools`.
10
-
11
- ## Arquivos principais
12
-
13
- - `pacotes/editor-vscode/package.json`
14
- - `pacotes/editor-vscode/extension.js`
15
- - `pacotes/editor-vscode/server.js`
16
- - `pacotes/editor-vscode/README.md`
17
- - `pacotes/editor-vscode/CHANGELOG.md`
18
-
19
- ## Empacotar
20
-
21
- ```bash
22
- npm run extensao:empacotar
23
- ```
24
-
25
- O pacote versionado deve aparecer em `.tmp/editor-vscode/sema-language-tools-<versao>.vsix`.
26
-
27
- ## Instalar localmente
28
-
29
- ```bash
30
- npm run extensao:instalar-local
31
- ```
32
-
33
- Ou:
34
-
35
- ```bash
36
- code --install-extension .tmp/editor-vscode/sema-language-tools-<versao>.vsix --force
37
- ```
38
-
39
- ## Smoke test
40
-
41
- 1. Abra um projeto com `.sema`.
42
- 2. Confirme que o Language Server inicia sem crash.
43
- 3. Rode `Sema: Diagnosticar CLI`.
44
- 4. Rode `Sema: Instalar Chave MCP`, cole uma chave `sema_mcp_*` do painel e confirme que a CLI grava a variavel do usuario sem argumento com segredo.
45
- 5. Rode `Sema: Sincronizar EntryPoints IA do Projeto`.
46
- 6. Abra um `.sema` e confirme diagnosticos, highlight e formatacao.
47
-
48
- ## Cuidados
49
-
50
- - O `extension.js` deve apontar o LSP para `server.js`.
51
- - A extensao embute instrucoes de IA; atualize a lista de ferramentas MCP privadas quando novos comandos remotos forem adicionados.
52
- - A chave MCP do painel deve ser instalada via comando da extensao ou `sema mcp-instalar-chave --stdin`; nao trate `SEMA_MCP_AUTH_TOKEN` como token fixo do servidor.
53
- - A versão da extensao deve bater com a versão pública preparada por `release:preparar-publica`.
1
+ # Extensao VS Code
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
+ Runbook da extensao `Sema Language Tools`.
10
+
11
+ ## Arquivos principais
12
+
13
+ - `pacotes/editor-vscode/package.json`
14
+ - `pacotes/editor-vscode/extension.js`
15
+ - `pacotes/editor-vscode/server.js`
16
+ - `pacotes/editor-vscode/README.md`
17
+ - `pacotes/editor-vscode/CHANGELOG.md`
18
+
19
+ ## Empacotar
20
+
21
+ ```bash
22
+ npm run extensao:empacotar
23
+ ```
24
+
25
+ O pacote versionado deve aparecer em `.tmp/editor-vscode/sema-language-tools-<versao>.vsix`.
26
+
27
+ ## Instalar localmente
28
+
29
+ ```bash
30
+ npm run extensao:instalar-local
31
+ ```
32
+
33
+ Ou:
34
+
35
+ ```bash
36
+ code --install-extension .tmp/editor-vscode/sema-language-tools-<versao>.vsix --force
37
+ ```
38
+
39
+ ## Smoke test
40
+
41
+ 1. Abra um projeto com `.sema`.
42
+ 2. Confirme que o Language Server inicia sem crash.
43
+ 3. Rode `Sema: Diagnosticar CLI`.
44
+ 4. Rode `Sema: Instalar Chave MCP`, cole uma chave `sema_mcp_*` do painel e confirme que a CLI grava a variavel do usuario sem argumento com segredo.
45
+ 5. Rode `Sema: Sincronizar EntryPoints IA do Projeto`.
46
+ 6. Abra um `.sema` e confirme diagnosticos, highlight e formatacao.
47
+
48
+ ## Cuidados
49
+
50
+ - O `extension.js` deve apontar o LSP para `server.js`.
51
+ - A extensao embute instrucoes de IA; atualize a lista de ferramentas MCP privadas quando novos comandos remotos forem adicionados.
52
+ - A chave MCP do painel deve ser instalada via comando da extensao ou `sema mcp-instalar-chave --stdin`; nao trate `SEMA_MCP_AUTH_TOKEN` como token fixo do servidor.
53
+ - A versão da extensao deve bater com a versão pública preparada por `release:preparar-publica`.
@@ -1,187 +1,187 @@
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
+ # 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.