@semacode/cli 2.3.0 → 3.0.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 (267) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +112 -41
  3. package/dist/agentContextPack.js +14 -10
  4. package/dist/agentEntryPoints.d.ts +5 -0
  5. package/dist/agentEntryPoints.js +102 -91
  6. package/dist/angular-consumer-standalone.d.ts +3 -1
  7. package/dist/angular-consumer-standalone.js +12 -8
  8. package/dist/bin.d.ts +6 -0
  9. package/dist/bin.js +130 -0
  10. package/dist/cliArgs.js +4 -4
  11. package/dist/cliControlError.d.ts +12 -0
  12. package/dist/cliControlError.js +47 -0
  13. package/dist/cliGrammar.d.ts +11 -0
  14. package/dist/cliGrammar.js +551 -0
  15. package/dist/cliHelp.d.ts +13 -0
  16. package/dist/cliHelp.js +19 -0
  17. package/dist/cliHelpTexto.d.ts +3 -0
  18. package/dist/cliHelpTexto.js +168 -0
  19. package/dist/cliRuntime.d.ts +2 -0
  20. package/dist/cliRuntime.js +31 -0
  21. package/dist/comandos.js +9 -22
  22. package/dist/contexto.js +5 -5
  23. package/dist/dev/index.d.ts +1 -0
  24. package/dist/dev/index.js +51 -9
  25. package/dist/discovery/catalog.js +3 -3
  26. package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
  27. package/dist/distribuicao/filesystemGlobal.js +701 -0
  28. package/dist/distribuicao/index.d.ts +7 -0
  29. package/dist/distribuicao/index.js +227 -0
  30. package/dist/distribuicao/launcherGlobal.d.ts +53 -0
  31. package/dist/distribuicao/launcherGlobal.js +643 -0
  32. package/dist/distribuicao/launcherWindows.d.ts +28 -0
  33. package/dist/distribuicao/launcherWindows.js +326 -0
  34. package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
  35. package/dist/distribuicao/lockContextGlobal.js +17 -0
  36. package/dist/distribuicao/lockGlobal.d.ts +6 -0
  37. package/dist/distribuicao/lockGlobal.js +520 -0
  38. package/dist/distribuicao/skillGlobal.d.ts +48 -0
  39. package/dist/distribuicao/skillGlobal.js +652 -0
  40. package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
  41. package/dist/distribuicao/skillIntentPolicy.js +115 -0
  42. package/dist/distribuicao/tipos.d.ts +50 -0
  43. package/dist/distribuicao/tipos.js +10 -0
  44. package/dist/distribuicao/versaoSemantica.d.ts +3 -0
  45. package/dist/distribuicao/versaoSemantica.js +62 -0
  46. package/dist/drift.part01.d.ts +34 -2
  47. package/dist/drift.part01.js +3 -0
  48. package/dist/drift.part04.d.ts +12 -2
  49. package/dist/drift.part04.js +89 -15
  50. package/dist/drift.part05.d.ts +2 -1
  51. package/dist/drift.part05.js +9 -6
  52. package/dist/drift.part06.d.ts +2 -1
  53. package/dist/drift.part06.js +115 -24
  54. package/dist/drift.part07.d.ts +11 -10
  55. package/dist/drift.part07.js +261 -255
  56. package/dist/drift.part08.d.ts +2 -1
  57. package/dist/drift.part08.js +35 -25
  58. package/dist/drift.part11.js +279 -32
  59. package/dist/drift.part12.d.ts +1 -1
  60. package/dist/drift.part12.js +196 -11
  61. package/dist/drift.part13.d.ts +18 -2
  62. package/dist/drift.part13.js +654 -76
  63. package/dist/drift.part14.js +21 -7
  64. package/dist/driftCacheCas.d.ts +43 -0
  65. package/dist/driftCacheCas.js +351 -0
  66. package/dist/driftCacheFilesystem.d.ts +64 -0
  67. package/dist/driftCacheFilesystem.js +313 -0
  68. package/dist/driftCacheModes.d.ts +38 -0
  69. package/dist/driftCacheModes.js +147 -0
  70. package/dist/driftCacheStore.d.ts +80 -0
  71. package/dist/driftCacheStore.js +603 -0
  72. package/dist/driftCatalogo.d.ts +65 -0
  73. package/dist/driftCatalogo.js +516 -0
  74. package/dist/driftEscopo.d.ts +21 -0
  75. package/dist/driftEscopo.js +647 -0
  76. package/dist/driftEscopoReferencias.d.ts +8 -0
  77. package/dist/driftEscopoReferencias.js +612 -0
  78. package/dist/driftOrcamento.d.ts +6 -0
  79. package/dist/driftOrcamento.js +20 -3
  80. package/dist/geracaoCore.js +4 -6
  81. package/dist/iaPrompts.d.ts +3 -3
  82. package/dist/iaPrompts.js +13 -14
  83. package/dist/index.d.ts +4 -1
  84. package/dist/index.js +6 -25
  85. package/dist/index.part01.d.ts +21 -14
  86. package/dist/index.part01.js +20 -165
  87. package/dist/index.part02.js +57 -43
  88. package/dist/index.part03.d.ts +23 -1
  89. package/dist/index.part03.js +83 -8
  90. package/dist/index.part04.d.ts +10 -2
  91. package/dist/index.part04.js +48 -14
  92. package/dist/index.part05.d.ts +1 -1
  93. package/dist/index.part05.js +109 -30
  94. package/dist/index.part06.js +34 -16
  95. package/dist/index.part07.js +31 -27
  96. package/dist/index.part08.d.ts +1 -1
  97. package/dist/index.part08.js +23 -28
  98. package/dist/init/templates.part01.js +393 -393
  99. package/dist/init/templates.part02.js +189 -189
  100. package/dist/initCommand.js +5 -1
  101. package/dist/initTemplatesBackend.js +73 -73
  102. package/dist/initTemplatesBase.js +7 -5
  103. package/dist/initTemplatesFlutter.js +137 -137
  104. package/dist/initTemplatesRuntime.js +350 -350
  105. package/dist/initTemplatesWeb.js +309 -309
  106. package/dist/pipelineConteudo/command.d.ts +1 -0
  107. package/dist/pipelineConteudo/command.js +4 -32
  108. package/dist/pipelineConteudo/help.d.ts +2 -0
  109. package/dist/pipelineConteudo/help.js +33 -0
  110. package/dist/profileAuthorCommand.js +3 -7
  111. package/dist/profileCommand.js +3 -7
  112. package/dist/projeto.d.ts +1 -1
  113. package/dist/projetoCarregar.d.ts +2 -2
  114. package/dist/projetoCarregar.js +69 -28
  115. package/dist/projetoCatalogo.d.ts +8 -0
  116. package/dist/projetoCatalogo.js +164 -0
  117. package/dist/projetoOrigens.d.ts +2 -0
  118. package/dist/projetoOrigens.js +65 -9
  119. package/dist/projetoTipos.d.ts +15 -5
  120. package/dist/resultadoCli.d.ts +20 -0
  121. package/dist/resultadoCli.js +57 -0
  122. package/dist/saidaCli.d.ts +35 -0
  123. package/dist/saidaCli.js +118 -0
  124. package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
  125. package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
  126. package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
  127. package/dist/sistemasInterativos/engineObservation.js +438 -0
  128. package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
  129. package/dist/sistemasInterativos/jobOrchestration.js +204 -0
  130. package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
  131. package/dist/sistemasInterativos/operationPrimitives.js +194 -0
  132. package/dist/sistemasInterativos/operations.d.ts +4 -39
  133. package/dist/sistemasInterativos/operations.js +5 -1164
  134. package/dist/skillCommand.d.ts +5 -0
  135. package/dist/skillCommand.js +88 -0
  136. package/dist/sync/index.js +35 -35
  137. package/docs/README.md +11 -7
  138. package/docs/ai-integration.md +18 -11
  139. package/docs/ai-onboarding.md +81 -62
  140. package/docs/ai-workflow.md +10 -4
  141. package/docs/auth.md +26 -26
  142. package/docs/cli.md +197 -79
  143. package/docs/commands.md +30 -6
  144. package/docs/database.md +15 -15
  145. package/docs/deploy.md +54 -41
  146. package/docs/documentation.md +11 -10
  147. package/docs/drift-cache.md +108 -0
  148. package/docs/env.md +16 -16
  149. package/docs/frontend.md +41 -41
  150. package/docs/getting-started.md +82 -57
  151. package/docs/i18n.md +15 -15
  152. package/docs/repositories.md +60 -43
  153. package/docs/rollback.md +38 -31
  154. package/docs/security.md +54 -32
  155. package/docs/sistemas-interativos.md +27 -27
  156. package/docs/support.md +8 -8
  157. package/docs/testing.md +123 -17
  158. package/docs/vocabulary.md +29 -29
  159. package/exemplos/agendamento.sema +1 -1
  160. package/exemplos/assinatura.sema +1 -1
  161. package/exemplos/auditoria.sema +1 -1
  162. package/exemplos/autenticacao.sema +1 -1
  163. package/exemplos/author_obra_comum.sema +1 -1
  164. package/exemplos/author_tema_sensivel.sema +1 -1
  165. package/exemplos/automacao.sema +1 -1
  166. package/exemplos/cadastro_usuario.sema +1 -1
  167. package/exemplos/calculadora.sema +1 -1
  168. package/exemplos/crud_simples.sema +1 -1
  169. package/exemplos/estoque.sema +1 -1
  170. package/exemplos/exportacao.sema +1 -1
  171. package/exemplos/fila.sema +1 -1
  172. package/exemplos/integracao_externa.sema +1 -1
  173. package/exemplos/multi_tenant.sema +1 -1
  174. package/exemplos/notificacao.sema +1 -1
  175. package/exemplos/operacao_estrategia.sema +132 -132
  176. package/exemplos/operacao_estrategia_discovery.sema +220 -220
  177. package/exemplos/operacao_estrategia_fluxo.sema +114 -114
  178. package/exemplos/operacao_estrategia_gates.sema +106 -106
  179. package/exemplos/operacao_estrategia_quarentena.sema +133 -133
  180. package/exemplos/operacao_estrategia_rollout.sema +124 -124
  181. package/exemplos/pagamento.sema +1 -1
  182. package/exemplos/pagamento_dominio.sema +1 -1
  183. package/exemplos/pedido.sema +1 -1
  184. package/exemplos/permissao.sema +1 -1
  185. package/exemplos/persistencia_vendor_first.sema +1 -1
  186. package/exemplos/profile_conversas.sema +165 -165
  187. package/exemplos/profile_game.sema +1 -1
  188. package/exemplos/profile_legal.sema +1 -1
  189. package/exemplos/profile_ops.sema +1 -1
  190. package/exemplos/profile_research.sema +1 -1
  191. package/exemplos/profile_software.sema +1 -1
  192. package/exemplos/profile_workflow_n8n.sema +1 -1
  193. package/exemplos/relatorio.sema +1 -1
  194. package/exemplos/replica_analitica_erp.sema +1 -1
  195. package/exemplos/testes_embutidos.sema +1 -1
  196. package/exemplos/tratamento_erro.sema +1 -1
  197. package/exemplos/upload_arquivo.sema +1 -1
  198. package/exemplos/webhook.sema +1 -1
  199. package/node_modules/@sema/gerador-cpp/dist/index.js +176 -176
  200. package/node_modules/@sema/gerador-css/dist/index.part01.js +10 -10
  201. package/node_modules/@sema/gerador-css/dist/index.part02.js +460 -460
  202. package/node_modules/@sema/gerador-dotnet/dist/index.js +169 -169
  203. package/node_modules/@sema/gerador-html/dist/index.js +17 -17
  204. package/node_modules/@sema/gerador-python/dist/index.part02.js +3 -3
  205. package/node_modules/@sema/gerador-typescript/dist/index.part02.js +11 -11
  206. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js +42 -42
  207. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
  208. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
  209. package/package.json +7 -2
  210. package/scripts/postinstall.mjs +148 -0
  211. package/skills/sema/SKILL.md +199 -0
  212. package/skills/sema/agents/openai.yaml +4 -0
  213. package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
  214. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  215. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
  216. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
  217. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  218. package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
  219. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  220. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  221. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  222. package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
  223. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  224. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
  225. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
  226. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  227. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
  228. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
  229. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
  230. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  231. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  232. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
  233. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
  234. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  235. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
  236. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
  237. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  238. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  239. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
  240. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
  241. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
  242. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  243. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  244. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  245. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
  246. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  247. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
  248. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
  249. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
  250. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
  251. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  252. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  253. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
  254. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
  255. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
  256. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
  257. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
  258. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
  259. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
  260. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
  261. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  262. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
  263. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
  264. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
  265. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  266. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  267. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
package/LICENSE CHANGED
@@ -1,39 +1,39 @@
1
- Sema Public Non-Commercial License
2
- Version 1.0
3
-
4
- Copyright (c) 2026 Sema
5
-
6
- Official support: suporte@otimitare.online
7
-
8
- Permission is granted, free of charge, to use, copy, study, modify, and
9
- distribute this software and its documentation for personal, educational,
10
- research, internal business, and non-commercial purposes, subject to the terms
11
- below.
12
-
13
- You may:
14
-
15
- 1. Use Sema locally as a CLI in your own projects.
16
- 2. Study and modify the source code.
17
- 3. Share unmodified or modified copies for non-commercial purposes.
18
- 4. Publish patches, examples, documentation, and integrations that do not sell
19
- Sema itself as a product or commercial replacement.
20
-
21
- You may not, without prior written permission from OtimiTare:
22
-
23
- 1. Sell Sema, a modified Sema, or a substantially similar rebranded copy.
24
- 2. Offer Sema, a modified Sema, or a substantially similar implementation as a
25
- commercial replica or paid replacement.
26
- 3. Bundle Sema into a paid product in a way that makes Sema itself a material
27
- commercial feature.
28
- 4. Use Sema's name, marks, documentation, or public repository to imply
29
- endorsement by Sema or OtimiTare.
30
- 5. Remove this license or the copyright notice from distributed copies.
31
-
32
- Commercial licensing, resale permission, or commercial replica permission
33
- requires written approval. Contact suporte@otimitare.online.
34
-
35
- This software is provided "as is", without warranty of any kind, express or
36
- implied, including but not limited to warranties of merchantability, fitness for
37
- a particular purpose, and non-infringement. In no event shall the authors or
38
- copyright holders be liable for any claim, damages, or other liability arising
39
- from the software or its use.
1
+ Sema Public Non-Commercial License
2
+ Version 1.0
3
+
4
+ Copyright (c) 2026 Sema
5
+
6
+ Official support: suporte@otimitare.online
7
+
8
+ Permission is granted, free of charge, to use, copy, study, modify, and
9
+ distribute this software and its documentation for personal, educational,
10
+ research, internal business, and non-commercial purposes, subject to the terms
11
+ below.
12
+
13
+ You may:
14
+
15
+ 1. Use Sema locally as a CLI in your own projects.
16
+ 2. Study and modify the source code.
17
+ 3. Share unmodified or modified copies for non-commercial purposes.
18
+ 4. Publish patches, examples, documentation, and integrations that do not sell
19
+ Sema itself as a product or commercial replacement.
20
+
21
+ You may not, without prior written permission from OtimiTare:
22
+
23
+ 1. Sell Sema, a modified Sema, or a substantially similar rebranded copy.
24
+ 2. Offer Sema, a modified Sema, or a substantially similar implementation as a
25
+ commercial replica or paid replacement.
26
+ 3. Bundle Sema into a paid product in a way that makes Sema itself a material
27
+ commercial feature.
28
+ 4. Use Sema's name, marks, documentation, or public repository to imply
29
+ endorsement by Sema or OtimiTare.
30
+ 5. Remove this license or the copyright notice from distributed copies.
31
+
32
+ Commercial licensing, resale permission, or commercial replica permission
33
+ requires written approval. Contact suporte@otimitare.online.
34
+
35
+ This software is provided "as is", without warranty of any kind, express or
36
+ implied, including but not limited to warranties of merchantability, fitness for
37
+ a particular purpose, and non-infringement. In no event shall the authors or
38
+ copyright holders be liable for any claim, damages, or other liability arising
39
+ from the software or its use.
package/README.md CHANGED
@@ -15,30 +15,67 @@ Official support: [suporte@otimitare.online](mailto:suporte@otimitare.online)
15
15
 
16
16
  ## Install
17
17
 
18
- ```bash
19
- npm install -g @semacode/cli
20
- codex plugin marketplace add gerlanss/Sema
21
- codex plugin add sema@sema
22
- ```
23
-
24
- Open a new Codex task in the target repository after installing the plugin.
25
- Existing tasks do not reload their plugin/skill catalog. Invoke `$sema` in the
26
- new task; after it creates and reads `AGENTS.md`, later tasks load that workspace
27
- protocol automatically.
18
+ ```bash
19
+ npm install -g @semacode/cli
20
+ sema skill status --json
21
+ ```
22
+
23
+ The global package installs a stable launcher under `~/.sema/bin` and
24
+ synchronizes the bundled skill to `~/.agents/skills/sema`. If Claude is already
25
+ configured, it also maintains `~/.claude/skills/sema`. Open a new task after an
26
+ install or update because existing tasks do not reload their skill catalog.
28
27
 
29
28
  ## First Run
30
29
 
31
30
  ```bash
32
31
  sema --version
33
- sema resumo . --curto
32
+ sema resumo . --curto --drift none
34
33
  ```
35
34
 
36
- Public Sema is local-only. The CLI runs directly without a Sema login, user
37
- authorization, product-license check, activation key, token, credits, billing
38
- service, control panel, or external service credentials. The license governs
39
- use and redistribution; it is not a runtime activation gate.
40
-
41
- ## Codex Setup
35
+ Public Sema is local-only. The CLI runs directly without a Sema login, user
36
+ authorization, product-license check, activation key, token, credits, billing
37
+ service, control panel, or external service credentials. The license governs
38
+ use and redistribution; it is not a runtime activation gate.
39
+
40
+ ## Side-Effect-Free Help And JSON Results
41
+
42
+ `--help` and `-h` short-circuit before the operational runtime or handlers are
43
+ imported wherever they appear. Help exits with status `0` without inspecting or mutating the workspace, home,
44
+ user cache, or plugin cache, and without starting subprocesses or network
45
+ calls.
46
+
47
+ ```bash
48
+ sema iniciar --help
49
+ sema dev --help --json
50
+ sema skill sync --help
51
+ ```
52
+
53
+ When `--json` is present, help and command-control failures emit exactly one
54
+ `sema.cli.control/v1` document on stdout with empty stderr. Its only fields are
55
+ `schemaVersion`, `ok`, `kind`, `code`, `message`, and `exitCode`. Failures are
56
+ redacted and never expose a stack, absolute path, or raw argv.
57
+
58
+ Every syntactically valid command invoked with `--json` in 3.0.0 emits exactly
59
+ one `sema.cli.result/v1` document. Its only fields are `schemaVersion`, `ok`,
60
+ `kind`, `command`, `code`, `message`, `exitCode`, and `payload`. `SUCCESS` uses
61
+ `ok: true`, `CLI_SUCCESS`, `message: null`, and exit code `0`;
62
+ `DOMAIN_ERROR` uses `ok: false`, `CLI_DOMAIN_ERROR`, a safe public message, and
63
+ a positive exit code. `payload` is always present, may contain any JSON value,
64
+ and is the only location for the command-specific result; `data` is not an
65
+ alias.
66
+
67
+ Envelope `ok` classifies the CLI result path and does not replace domain fields
68
+ inside `payload`. Consumers must unwrap the payload before reading values such
69
+ as `sucesso`, `aprovado`, or `bloqueado`. `sema --version` remains plain exact
70
+ SemVer text rather than a JSON envelope.
71
+
72
+ The package separates execution from imports: `bin.sema` points to
73
+ `dist/bin.js`, while `main` and the root export remain `dist/index.js`.
74
+ Unknown commands/subcommands, missing or invalid CLI syntax, and uncaught
75
+ runtime exceptions use the control envelope; structured domain-level failures
76
+ after valid dispatch use `sema.cli.result/v1` with `kind: "DOMAIN_ERROR"`.
77
+
78
+ ## Codex Setup
42
79
 
43
80
  `AGENTS.md` is the official Sema entrypoint for Codex:
44
81
 
@@ -49,11 +86,26 @@ sema sync-codex --json
49
86
  Codex automatically loads `AGENTS.md` as durable repository guidance. See the
50
87
  [Codex `AGENTS.md` documentation](https://learn.chatgpt.com/docs/agent-configuration/agents-md).
51
88
 
52
- The CLI is the engine and source of truth; `AGENTS.md` is the automatic
53
- workspace protocol. The Sema skill is required for Codex to bootstrap a project
54
- that does not have Sema yet. After initialization, the skill delegates to the
55
- generated `AGENTS.md`. Installing this npm package never writes into
56
- `CODEX_HOME`; skill installation remains an explicit Codex command.
89
+ The CLI is the engine and source of truth; `AGENTS.md` is the automatic
90
+ workspace protocol. The Sema skill bootstraps a project that does not have Sema
91
+ yet and then delegates to the generated `AGENTS.md`. The npm lifecycle updates
92
+ only Sema-managed launcher and skill roots; it never writes into plugin caches,
93
+ credentials, the workspace, or `CODEX_HOME`.
94
+
95
+ Use `sema skill status --json` for a read-only diagnosis and `sema skill sync
96
+ --json` to repair the launcher and skill after `npm install --ignore-scripts`.
97
+ If a shell still cannot resolve `sema`, invoke the managed launcher directly:
98
+
99
+ ```powershell
100
+ & "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File "$HOME\.sema\bin\sema-managed.ps1" --version
101
+ ```
102
+
103
+ ```bash
104
+ "$HOME/.sema/bin/sema" --version
105
+ ```
106
+
107
+ On Windows, PowerShell resolves `sema.ps1` from `PATH`, `cmd.exe` resolves
108
+ `sema.cmd`, and `sema-managed.ps1` is the PATH-independent fallback.
57
109
 
58
110
  ## Codex-Native Architecture
59
111
 
@@ -62,25 +114,38 @@ generated `AGENTS.md`. Installing this npm package never writes into
62
114
  - Agent Context Pack consumers use schema version 7, including the deterministic
63
115
  discovery summary and the fields `entrypointCodex`, `codexNativo`, and
64
116
  `cliLocalSemAutorizacao`.
65
- - The Sema Codex skill is required for first contact. It initializes the
66
- workspace and generates `AGENTS.md`; it does not duplicate the governed
67
- workflow after that handoff.
117
+ - The bundled Sema skill handles first contact. Its canonical shared copy is
118
+ `~/.agents/skills/sema`; Claude gets a managed mirror only when detected. It
119
+ asks for adoption authorization before implementation and does not duplicate
120
+ governance after handing off to `AGENTS.md`. Installing or updating the
121
+ global CLI authorizes distribution changes only, not workspace adoption.
68
122
 
69
123
  ## Local Workflow
70
124
 
71
125
  ```bash
72
126
  sema docs-impacto --intencao "describe the change" --arquivo contratos/app.sema --json
73
- sema inspecionar contratos/app.sema --json
74
- sema drift contratos/app.sema --escopo modulo --json
75
- sema impacto contratos/app.sema --alvo app.modulo --mudanca "describe the change" --json
76
- sema finalizar-mudanca --intencao "describe the change" --doc-lida README.md --json
77
- ```
78
-
79
- If the project has no `.sema` contract, create one before implementing behavior:
80
-
81
- ```bash
82
- sema iniciar --template base
83
- ```
127
+ sema inspecionar contratos/app.sema --drift none --json
128
+ sema drift contratos/app.sema --escopo modulo --cache fresh --json
129
+ sema impacto contratos/app.sema --alvo app.modulo --mudanca "describe the change" --json
130
+ sema finalizar-mudanca --intencao "describe the change" --doc-lida README.md --json
131
+ ```
132
+
133
+ `resumo` and `inspecionar` default to `--drift none`; unobserved score,
134
+ confidence, implementation, and route evidence inside the result `payload`
135
+ stays `null`. Use `--drift cache|fresh` to request analysis. Direct `sema drift`
136
+ accepts `--cache none|cache|fresh` and defaults to `fresh`. Persistent objects are stored in the
137
+ operating system's user-cache directory outside the workspace. They reuse only
138
+ validated extraction data; the final drift decision is always recalculated.
139
+
140
+ If the project has no `.sema` contract, an informational request must remain
141
+ read-only. Before implementing behavior, obtain explicit adoption authorization,
142
+ then inspect the official flow and initialize:
143
+
144
+ ```bash
145
+ sema descobrir explicar flow.project-adoption --json
146
+ sema iniciar --template base
147
+ sema sync-codex --json
148
+ ```
84
149
 
85
150
  Initialization preserves existing files and rejects symlink or junction
86
151
  escapes. Use `--force` only when overwriting the template destinations is an
@@ -211,11 +276,17 @@ blocked, and importing the package never parses CLI arguments or exits the host
211
276
  process. Programmatic validators and planners preserve the same read-only,
212
277
  non-authoritative boundary as their CLI equivalents.
213
278
 
214
- ## Public Boundary
215
-
216
- The npm package is local-only: its CLI and programmatic API do not depend on a
217
- hosted Sema service. It must not contain private or sensitive operational
218
- material.
279
+ ## Public Boundary
280
+
281
+ The npm package is local-only: its CLI and programmatic API do not depend on a
282
+ hosted Sema service. It must not contain private or sensitive operational
283
+ material.
284
+
285
+ Contributors must create the tarball through `npm run cli:empacotar-publica`
286
+ from the repository root. Direct `npm pack` in this source package is blocked:
287
+ the official factory uses an isolated per-run stage and is the only supported
288
+ path that bundles runtime packages, examples, documentation, the launcher, and
289
+ the Sema skill.
219
290
 
220
291
  ## Commercial Use
221
292
 
@@ -1,4 +1,4 @@
1
- // SEMA-GOVERNED: sema.produto.governanca_ia.contexto.agent_pack
1
+ // SEMA-GOVERNED: sema.produto.governanca_ia.contexto.agent_pack, sema.produto.governanca_ia.drift.cache.modos
2
2
  // Descrição: monta o Agent Context Pack e políticas que agentes fracos, médios e fortes consomem antes do código.
3
3
  import { LIMITE_AVISO_LINHAS_CODIGO_GOVERNADO, LIMITE_AVISO_LINHAS_CONTRATO_SEMA, LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO, LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA, } from './driftOrcamento.js';
4
4
  import { ALIASES_CAPACIDADE_IA, ARQUIVO_AGENT_CONTEXT_PACK, ARQUIVO_DOC_AGENTES_CAPACIDADE, ARQUIVO_ENTRYPOINT_CODEX, ARQUIVO_SEMA_BOOT, ARQUIVO_SEMA_SMALL_MODEL, EXEMPLOS_OFICIAIS_AGENT_CONTEXT, } from './agentContextTipos.js';
@@ -167,7 +167,7 @@ function criarFailClosedAgentContext() {
167
167
  return [
168
168
  "Se não conseguir chamar Sema, pare e declare bloqueio em vez de editar código ou contrato.",
169
169
  "Se não houver contrato aplicável ou vínculo semântico do arquivo, inspecione o arquivo, descubra ou crie o .sema aplicável e vincule antes do código.",
170
- "Em workspace local, rode sema --version; se falhar, pare e peça a instalação da CLI. Com a CLI disponível, opere diretamente sobre a pasta local e não substitua essa fonte por espelho externo ou inferência.",
170
+ "Em workspace local, rode sema --version; se o shell não localizar o comando, use $HOME/.sema/bin/sema no macOS/Linux. No Windows, PowerShell usa sema.ps1 no PATH e cmd.exe usa sema.cmd; use & \"$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File \"$HOME\\.sema\\bin\\sema-managed.ps1\" --version como fallback. Só então declare a CLI indisponível.",
171
171
  "Se não houver workspace local em disco, pare bloqueado e peça o fluxo apropriado; não invente caminho nem substitua a CLI local por ferramenta paralela.",
172
172
  `Se arquivos_codigo.conteudo ou conteudo inline passar de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres, não aumente timeout para forçar: divida por responsabilidade ou use anexo/caminho de servidor autorizado.`,
173
173
  "Se for criar ou corrigir .sema, leia `exemplos/`; se a pasta estiver ausente, rode `sema instalar-exemplos --json` antes de escrever sintaxe.",
@@ -178,7 +178,7 @@ function criarFailClosedAgentContext() {
178
178
  "Um mesmo arquivo de codigo pode ser governado por varios contratos .sema via vinculos; Sema Codigo deve preservar essa rastreabilidade.",
179
179
  "Se score, achados ou decisaoAgente parecerem bons, trate como sinal de triagem e confira evidência concreta no contrato e no código.",
180
180
  "Se validar artefato inline com 100/100, ainda preserve cabeçalho SEMA-GOVERNED no arquivo físico sincronizado.",
181
- "Se `sema drift` retornar sucesso:false, `vinculos_quebrados`, `rotas_divergentes` ou impls quebradas, a mudanca nao pode ser declarada concluida; corrija contrato/codigo e rode drift de novo.",
181
+ "Se o `payload` de `sema drift --cache fresh --json` retornar sucesso:false, `vinculos_quebrados`, `rotas_divergentes` ou `impls_quebrados`, a mudança não pode ser declarada concluída; corrija contrato/código e rode drift fresh de novo.",
182
182
  "Se a tarefa tiver site, sistema, app, UI, painel, jogo, CLI/TUI ou terminal, nao conclua sem acabamento moderno, contextual e evidenciado; em UI mobile estreita (ex. 390px), `document.documentElement.scrollWidth <= document.documentElement.clientWidth` precisa ser verdadeiro.",
183
183
  "Se texto visivel PT-BR perder acento ou cedilha em termos como descricao, lancamentos, saude ou alimentacao, trate como defeito bloqueante quando houver i18n/idioma declarado.",
184
184
  "Se aparecer caminho que não pertence ao workspace local aberto pelo usuário, pare e confirme a fonte antes de agir.",
@@ -306,12 +306,15 @@ export function criarAgentContextPack(guiaPorCapacidade) {
306
306
  "Leia AGENTS.md antes de editar código, contrato, docs operacionais, release ou deploy.",
307
307
  "Leia docs/commands.md antes de escolher comando Sema, interpretar um gate ou usar --saida de sema compilar.",
308
308
  "Quando a intenção não deixar claro qual profile, workflow, pipeline, gerador ou adapter usar, rode `sema descobrir recomendar --intencao \"<objetivo>\" --json`; a recomendação informa, mas nunca se autoexecuta.",
309
- "Em workspace local, rode sema --version; se falhar, pare e peça a instalação da CLI. Com a CLI disponível, use diretamente sema resumo, docs-impacto, inspecionar, drift e impacto sobre a pasta local.",
310
- "Antes de editar, rode `sema inspecionar <contrato.sema> --json`, `sema drift <contrato.sema> --escopo modulo --json` e `sema impacto <contrato.sema> --alvo <token> --mudanca \"<descricao>\" --json`.",
309
+ "Em workspace local, rode sema --version; se o shell falhar, use $HOME/.sema/bin/sema no macOS/Linux. No Windows, PowerShell usa sema.ps1 no PATH e cmd.exe usa sema.cmd; use & \"$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File \"$HOME\\.sema\\bin\\sema-managed.ps1\" --version como fallback. Só depois peça instalação ou reparo.",
310
+ "`sema resumo` e `sema inspecionar` usam análise `none` por padrão: não executam drift e mantêm score, confiança, implementação e superfícies derivadas como nulos/não avaliados; use `--drift cache|fresh` somente quando precisar dessa evidência.",
311
+ "Quando `resumo` ou `inspecionar` executa drift explicitamente, `payload.analiseDrift.sucesso` deve ser verdadeiro ou falso e uma falha solicitada mantém exit code diferente de zero.",
312
+ "Na CLI 3.0.0, `sema --version` continua texto SemVer exato; com `--json`, help e falhas de controle usam o envelope exato `sema.cli.control/v1`, enquanto todo comando sintaticamente válido usa o envelope exato de oito campos `sema.cli.result/v1`, mantém o resultado do comando em `payload` e não confunde `ok` de transporte com o veredito de domínio dentro desse payload.",
313
+ "Antes de editar, rode `sema inspecionar <contrato.sema> --drift none --json`, `sema drift <contrato.sema> --escopo modulo --cache fresh --json` e `sema impacto <contrato.sema> --alvo <token> --mudanca \"<descricao>\" --json`.",
311
314
  "Use exemplos oficiais antes de criar ou corrigir sintaxe .sema.",
312
315
  "Use SEMA_INDEX.json para escolher contrato, módulo e arquivos prováveis antes de abrir código cru.",
313
316
  "Valide .sema alterado e rode drift antes de concluir.",
314
- "Conclusao so e valida se `sema drift --json` retornar sucesso:true, sem `vinculos_quebrados`, sem `rotas_divergentes` e sem impls quebradas.",
317
+ "Conclusão só é válida se o `payload` de `sema drift --cache fresh --json` retornar sucesso:true, sem `vinculos_quebrados`, sem `rotas_divergentes` e sem `impls_quebrados`; hit de cache orienta trabalho, mas não substitui evidência fresh de fechamento.",
315
318
  "Quando faltar contrato aplicável ou vínculo semântico do arquivo, inspecione o arquivo, crie/edite o contrato aplicável e vincule antes do código.",
316
319
  "Sema não contorna políticas da plataforma; ele governa contrato, escopo, drift, evidência e qualidade.",
317
320
  "Responda no idioma do usuário; em PT-BR, use vocabulário Sema canônico e preserve acentos, cedilha, pontuação e símbolos humanos.",
@@ -334,14 +337,15 @@ export function criarAgentContextPack(guiaPorCapacidade) {
334
337
  "Não tratar a pasta --saida de sema compilar como entrega final; entrega são os arquivos alvo/vínculos do contrato.",
335
338
  "Não sincronizar segredos, .env, node_modules, builds, caches, uploads ou artefatos privados fora do escopo.",
336
339
  "Não publicar, deployar ou remover capacidade sem contrato, drift e verificação.",
337
- "Não assumir repositório público, GitHub Release pública ou fonte externa de workspace; em ambiente local, prove a CLI com sema --version.",
340
+ "Não assumir repositório público, GitHub Release pública ou fonte externa de workspace; em ambiente local, prove a CLI com sema --version ou com o launcher gerenciado absoluto.",
338
341
  "Não usar a estética ASCII da DSL nem inglês de produto como desculpa para fugir do vocabulário Sema em PT-BR.",
339
342
  "Não remover SEMA-GOVERNED nem substituir drift por comentário dentro do código.",
340
343
  "Não copiar o contrato inteiro para comentário de código; mantenha descrição humana curta.",
341
344
  "Nao tratar orcamento semantico como sugestao; codigo governado ou contrato .sema grande deve ser dividido antes de concluir.",
342
345
  "Nao fatiar codigo ou contrato grande em partes sem responsabilidade real para passar no limite.",
343
346
  "Não tratar score 100, regex ou presença de palavra-chave como prova suficiente de governança; pontuação abaixo do piso ou do alvo evolutivo bloqueia conclusão.",
344
- "Nao dizer que drift passou limpo quando o JSON trouxe sucesso:false, vinculos_quebrados, rotas_divergentes ou impls quebradas.",
347
+ "Nao dizer que drift passou limpo quando o `payload` do JSON trouxe sucesso:false, vinculos_quebrados, rotas_divergentes ou impls_quebrados.",
348
+ "Não ler campos específicos do comando no topo de `sema.cli.result/v1`, não usar `data` como alias de `payload` e não tratar `ok` como substituto de `payload.sucesso` ou outro veredito de domínio.",
345
349
  "Não tratar validação inline como dispensa de cabeçalho SEMA-GOVERNED no arquivo físico.",
346
350
  `Não tentar resolver payload inline acima de ${LIMITE_CARACTERES_PAYLOAD_INLINE} caracteres aumentando timeout.`,
347
351
  `Nao culpar o limite de ${LIMITE_BLOQUEIO_LINHAS_CODIGO_GOVERNADO} linhas para codigo ou ${LIMITE_BLOQUEIO_LINHAS_CONTRATO_SEMA} linhas para .sema por arquitetura monolitica escolhida pela IA.`,
@@ -353,14 +357,14 @@ export function criarAgentContextPack(guiaPorCapacidade) {
353
357
  prioridades: [
354
358
  "Menor artefato suficiente primeiro.",
355
359
  "Catálogo de discovery antes de escolher por chute entre profile, workflow, pipeline, gerador ou adapter.",
356
- "Workspace local: sema --version, resumo, docs-impacto, inspecionar, drift e impacto pela CLI; se sema não existir, pare e peça a instalação da CLI.",
360
+ "Workspace local: sema --version, resumo, docs-impacto, inspecionar, drift e impacto pela CLI; sem shim, use $HOME/.sema/bin/sema ou, no Windows, sema.ps1 pelo PATH / sema.cmd no cmd.exe / & \"$env:SystemRoot\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File \"$HOME\\.sema\\bin\\sema-managed.ps1\" --version, e só depois peça reparo.",
357
361
  "Contrato, índice e AGENTS complementam o contexto Sema; não substituem chamada Sema.",
358
362
  "Exemplos oficiais antes de nova sintaxe.",
359
363
  "Diagnóstico estruturado antes de opinião livre.",
360
364
  "Compatibilidade com políticas da plataforma antes de reformular ou continuar após alerta externo.",
361
365
  "Sinal sem evidência vira ritual; evidência concreta antes de concluir aderência.",
362
366
  "Retry progressivo em timeout antes de declarar bloqueio.",
363
- "Fechamento honesto: drift JSON verde antes de dizer concluido; sucesso:false, vinculo quebrado ou rota divergente ainda e bloqueio.",
367
+ "Fechamento honesto: `payload` do drift JSON verde antes de dizer concluido; sucesso:false, vinculo quebrado ou rota divergente ainda e bloqueio.",
364
368
  "Separar limite de transporte inline de lentidão real: payload grande demais exige split/transporte correto, não retry infinito.",
365
369
  "Orçamento semântico, divisão por responsabilidade e cabeçalho governado antes de gravar ou finalizar código.",
366
370
  "Acabamento visual/terminal por capacidade quando houver experiência de uso, com prova de viewport mobile sem overflow horizontal ou smoke check de comando.",
@@ -16,10 +16,15 @@ export declare function sincronizarEntrypointCodex(baseProjeto: string, agentCon
16
16
  codexNativo: true;
17
17
  cliLocalSemAutorizacao: true;
18
18
  skillBootstrapCodexDocumentada: true;
19
+ launcherGlobalFallbackDocumentado: true;
20
+ cliIndisponivelSomenteAposFallback: true;
21
+ skillGlobalDelegaAgentsMd: true;
19
22
  idiomaHumanoPreservado: true;
20
23
  retryTimeoutProgressivo: true;
21
24
  politicaPlataformaExplicita: true;
22
25
  politicaSinalVsRitualExplicita: true;
26
+ politicaModosDriftExplicita: true;
27
+ docsComandos: true;
23
28
  divisaoPorResponsabilidadeExplicita: true;
24
29
  contextoLocalSemEspelho: true;
25
30
  destinosEntrypointPrevalidados: true;