@semacode/cli 2.3.1 → 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 (250) hide show
  1. package/README.md +265 -217
  2. package/dist/agentContextPack.js +14 -10
  3. package/dist/agentEntryPoints.d.ts +5 -0
  4. package/dist/agentEntryPoints.js +567 -557
  5. package/dist/angular-consumer-standalone.js +1 -1
  6. package/dist/bin.d.ts +6 -0
  7. package/dist/bin.js +130 -0
  8. package/dist/cliArgs.js +4 -4
  9. package/dist/cliControlError.d.ts +12 -0
  10. package/dist/cliControlError.js +47 -0
  11. package/dist/cliGrammar.d.ts +11 -0
  12. package/dist/cliGrammar.js +551 -0
  13. package/dist/cliHelp.d.ts +13 -0
  14. package/dist/cliHelp.js +19 -0
  15. package/dist/cliHelpTexto.d.ts +3 -0
  16. package/dist/cliHelpTexto.js +168 -0
  17. package/dist/cliRuntime.d.ts +2 -0
  18. package/dist/cliRuntime.js +31 -0
  19. package/dist/comandos.js +9 -22
  20. package/dist/contexto.js +5 -5
  21. package/dist/dev/index.d.ts +1 -0
  22. package/dist/dev/index.js +51 -9
  23. package/dist/discovery/catalog.js +3 -3
  24. package/dist/distribuicao/filesystemGlobal.d.ts +63 -0
  25. package/dist/distribuicao/filesystemGlobal.js +701 -0
  26. package/dist/distribuicao/index.d.ts +7 -0
  27. package/dist/distribuicao/index.js +227 -0
  28. package/dist/distribuicao/launcherGlobal.d.ts +53 -0
  29. package/dist/distribuicao/launcherGlobal.js +643 -0
  30. package/dist/distribuicao/launcherWindows.d.ts +28 -0
  31. package/dist/distribuicao/launcherWindows.js +326 -0
  32. package/dist/distribuicao/lockContextGlobal.d.ts +10 -0
  33. package/dist/distribuicao/lockContextGlobal.js +17 -0
  34. package/dist/distribuicao/lockGlobal.d.ts +6 -0
  35. package/dist/distribuicao/lockGlobal.js +520 -0
  36. package/dist/distribuicao/skillGlobal.d.ts +48 -0
  37. package/dist/distribuicao/skillGlobal.js +652 -0
  38. package/dist/distribuicao/skillIntentPolicy.d.ts +21 -0
  39. package/dist/distribuicao/skillIntentPolicy.js +115 -0
  40. package/dist/distribuicao/tipos.d.ts +50 -0
  41. package/dist/distribuicao/tipos.js +10 -0
  42. package/dist/distribuicao/versaoSemantica.d.ts +3 -0
  43. package/dist/distribuicao/versaoSemantica.js +62 -0
  44. package/dist/drift.part01.d.ts +26 -24
  45. package/dist/drift.part01.js +2 -1
  46. package/dist/drift.part04.d.ts +12 -3
  47. package/dist/drift.part04.js +88 -17
  48. package/dist/drift.part05.d.ts +2 -2
  49. package/dist/drift.part05.js +8 -6
  50. package/dist/drift.part06.d.ts +2 -2
  51. package/dist/drift.part06.js +113 -26
  52. package/dist/drift.part07.d.ts +11 -11
  53. package/dist/drift.part07.js +261 -265
  54. package/dist/drift.part08.d.ts +2 -2
  55. package/dist/drift.part08.js +35 -26
  56. package/dist/drift.part11.js +238 -56
  57. package/dist/drift.part12.d.ts +1 -1
  58. package/dist/drift.part12.js +193 -21
  59. package/dist/drift.part13.d.ts +20 -39
  60. package/dist/drift.part13.js +601 -647
  61. package/dist/drift.part14.js +21 -7
  62. package/dist/driftCacheCas.d.ts +43 -0
  63. package/dist/driftCacheCas.js +351 -0
  64. package/dist/driftCacheFilesystem.d.ts +64 -0
  65. package/dist/driftCacheFilesystem.js +313 -0
  66. package/dist/driftCacheModes.d.ts +38 -0
  67. package/dist/driftCacheModes.js +147 -0
  68. package/dist/driftCacheStore.d.ts +80 -0
  69. package/dist/driftCacheStore.js +603 -0
  70. package/dist/driftCatalogo.d.ts +2 -28
  71. package/dist/driftCatalogo.js +143 -284
  72. package/dist/driftEscopo.d.ts +1 -3
  73. package/dist/driftEscopo.js +235 -151
  74. package/dist/driftEscopoReferencias.d.ts +5 -1
  75. package/dist/driftEscopoReferencias.js +375 -28
  76. package/dist/driftOrcamento.d.ts +0 -6
  77. package/dist/driftOrcamento.js +2 -1
  78. package/dist/execucoesExternas.js +19 -5
  79. package/dist/geracaoCore.js +4 -6
  80. package/dist/iaPrompts.d.ts +3 -3
  81. package/dist/iaPrompts.js +312 -313
  82. package/dist/index.d.ts +4 -1
  83. package/dist/index.js +6 -25
  84. package/dist/index.part01.d.ts +20 -28
  85. package/dist/index.part01.js +16 -237
  86. package/dist/index.part02.js +36 -22
  87. package/dist/index.part03.d.ts +24 -2
  88. package/dist/index.part03.js +83 -19
  89. package/dist/index.part04.d.ts +10 -2
  90. package/dist/index.part04.js +142 -120
  91. package/dist/index.part05.js +80 -78
  92. package/dist/index.part06.js +34 -17
  93. package/dist/index.part07.js +7 -3
  94. package/dist/index.part08.d.ts +1 -1
  95. package/dist/index.part08.js +22 -27
  96. package/dist/initCommand.js +5 -1
  97. package/dist/initTemplatesBase.js +81 -79
  98. package/dist/pipelineConteudo/command.d.ts +1 -0
  99. package/dist/pipelineConteudo/command.js +9 -2
  100. package/dist/pipelineConteudo/help.d.ts +2 -0
  101. package/dist/pipelineConteudo/help.js +33 -0
  102. package/dist/profileAuthorCommand.js +3 -7
  103. package/dist/profileCommand.js +3 -7
  104. package/dist/projetoCarregar.js +35 -17
  105. package/dist/projetoCatalogo.d.ts +1 -0
  106. package/dist/projetoCatalogo.js +64 -25
  107. package/dist/projetoOrigens.d.ts +2 -0
  108. package/dist/projetoOrigens.js +65 -9
  109. package/dist/projetoTipos.d.ts +1 -0
  110. package/dist/resultadoCli.d.ts +20 -0
  111. package/dist/resultadoCli.js +57 -0
  112. package/dist/saidaCli.d.ts +35 -0
  113. package/dist/saidaCli.js +118 -0
  114. package/dist/sistemasInterativos/acceptanceEvidence.d.ts +22 -0
  115. package/dist/sistemasInterativos/acceptanceEvidence.js +345 -0
  116. package/dist/sistemasInterativos/engineObservation.d.ts +12 -0
  117. package/dist/sistemasInterativos/engineObservation.js +438 -0
  118. package/dist/sistemasInterativos/jobOrchestration.d.ts +2 -0
  119. package/dist/sistemasInterativos/jobOrchestration.js +204 -0
  120. package/dist/sistemasInterativos/operationPrimitives.d.ts +21 -0
  121. package/dist/sistemasInterativos/operationPrimitives.js +194 -0
  122. package/dist/sistemasInterativos/operations.d.ts +4 -39
  123. package/dist/sistemasInterativos/operations.js +5 -1164
  124. package/dist/skillCommand.d.ts +5 -0
  125. package/dist/skillCommand.js +88 -0
  126. package/docs/README.md +34 -30
  127. package/docs/ai-integration.md +25 -12
  128. package/docs/ai-onboarding.md +37 -18
  129. package/docs/ai-workflow.md +9 -7
  130. package/docs/cli.md +125 -7
  131. package/docs/commands.md +41 -20
  132. package/docs/deploy.md +21 -8
  133. package/docs/descoberta-capacidades.md +106 -106
  134. package/docs/documentation.md +49 -39
  135. package/docs/drift-cache.md +108 -0
  136. package/docs/getting-started.md +43 -18
  137. package/docs/pipeline-conteudo.md +246 -246
  138. package/docs/profiles.md +54 -54
  139. package/docs/repositories.md +19 -2
  140. package/docs/rollback.md +15 -8
  141. package/docs/security.md +25 -3
  142. package/docs/sistemas-interativos.md +379 -374
  143. package/docs/testing.md +139 -40
  144. package/exemplos/pipeline-conteudo/README.md +44 -44
  145. package/exemplos/pipeline-conteudo/alvos.json +23 -23
  146. package/exemplos/pipeline-conteudo/definicao.json +136 -136
  147. package/exemplos/profile_simulation.sema +211 -211
  148. package/exemplos/sistemas-interativos/README.md +100 -100
  149. package/exemplos/sistemas-interativos/advanced/acceptance-context-evaluate-valid.json +5 -5
  150. package/exemplos/sistemas-interativos/advanced/acceptance-lock-valid.json +16 -16
  151. package/exemplos/sistemas-interativos/advanced/asset-provenance-valid.json +32 -32
  152. package/exemplos/sistemas-interativos/advanced/autonomy-repair-valid.json +93 -93
  153. package/exemplos/sistemas-interativos/advanced/control-run-definition-valid.json +78 -78
  154. package/exemplos/sistemas-interativos/advanced/control-run-valid.json +27 -27
  155. package/exemplos/sistemas-interativos/advanced/distributed-workers-valid.json +79 -79
  156. package/exemplos/sistemas-interativos/advanced/editor-state-valid.json +42 -42
  157. package/exemplos/sistemas-interativos/advanced/engine-snapshot-after-valid.json +32 -32
  158. package/exemplos/sistemas-interativos/advanced/engine-snapshot-before-valid.json +23 -23
  159. package/exemplos/sistemas-interativos/advanced/job-orchestration-valid.json +39 -39
  160. package/exemplos/sistemas-interativos/advanced/multimodal-evidence-valid.json +46 -46
  161. package/exemplos/sistemas-interativos/advanced/multiplayer-authority-valid.json +39 -39
  162. package/exemplos/sistemas-interativos/advanced/playtest-fuzz-valid.json +37 -37
  163. package/exemplos/sistemas-interativos/advanced/portability-valid.json +104 -104
  164. package/exemplos/sistemas-interativos/advanced/temporal-evidence-valid.json +27 -27
  165. package/exemplos/sistemas-interativos/advanced/temporal-valid.json +118 -118
  166. package/exemplos/sistemas-interativos/experience-ir-valid.json +459 -459
  167. package/exemplos/sistemas-interativos/game-2d.json +83 -83
  168. package/exemplos/sistemas-interativos/game-3d-human.json +81 -81
  169. package/exemplos/sistemas-interativos/game-pixel-16-bit.json +97 -97
  170. package/exemplos/sistemas-interativos/game-pixel-8-bit.json +94 -94
  171. package/exemplos/sistemas-interativos/game-xr-human.json +80 -80
  172. package/exemplos/sistemas-interativos/hybrid-2-5d.json +108 -108
  173. package/exemplos/sistemas-interativos/protocol-mutating-rollback-valid.json +75 -75
  174. package/exemplos/sistemas-interativos/protocol-read-only-valid.json +58 -58
  175. package/exemplos/sistemas-interativos/simulation-2d-controlled.json +97 -97
  176. package/exemplos/sistemas-interativos/simulation-3d-calibrated-autonomous.json +141 -141
  177. package/exemplos/sistemas-interativos/simulation-headless-autonomous-batch.json +112 -112
  178. package/exemplos/sistemas-interativos/simulation-pixel-16-bit.json +103 -103
  179. package/exemplos/sistemas-interativos/simulation-text-controlled.json +95 -95
  180. package/node_modules/@sema/gerador-cpp/package.json +1 -1
  181. package/node_modules/@sema/gerador-dotnet/package.json +1 -1
  182. package/node_modules/@sema/gerador-lua/dist/index.js +51 -51
  183. package/node_modules/@sema/gerador-php/dist/index.js +113 -113
  184. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +1 -0
  185. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1 -0
  186. package/package.json +9 -4
  187. package/scripts/postinstall.mjs +148 -0
  188. package/skills/sema/SKILL.md +199 -0
  189. package/skills/sema/agents/openai.yaml +4 -0
  190. package/dist/driftCache.d.ts +0 -49
  191. package/dist/driftCache.js +0 -311
  192. package/dist/driftCacheIncremental.d.ts +0 -98
  193. package/dist/driftCacheIncremental.js +0 -596
  194. package/dist/driftCatalogoPersistente.d.ts +0 -8
  195. package/dist/driftCatalogoPersistente.js +0 -77
  196. package/node_modules/@sema/gerador-cpp/dist/index.js.map +0 -1
  197. package/node_modules/@sema/gerador-css/dist/index.js.map +0 -1
  198. package/node_modules/@sema/gerador-css/dist/index.part01.js.map +0 -1
  199. package/node_modules/@sema/gerador-css/dist/index.part02.js.map +0 -1
  200. package/node_modules/@sema/gerador-dart/dist/index.js.map +0 -1
  201. package/node_modules/@sema/gerador-dotnet/dist/index.js.map +0 -1
  202. package/node_modules/@sema/gerador-html/dist/index.js.map +0 -1
  203. package/node_modules/@sema/gerador-javascript/dist/index.js.map +0 -1
  204. package/node_modules/@sema/gerador-lua/dist/index.js.map +0 -1
  205. package/node_modules/@sema/gerador-php/dist/index.js.map +0 -1
  206. package/node_modules/@sema/gerador-python/dist/index.js.map +0 -1
  207. package/node_modules/@sema/gerador-python/dist/index.part01.js.map +0 -1
  208. package/node_modules/@sema/gerador-python/dist/index.part02.js.map +0 -1
  209. package/node_modules/@sema/gerador-typescript/dist/index.js.map +0 -1
  210. package/node_modules/@sema/gerador-typescript/dist/index.part01.js.map +0 -1
  211. package/node_modules/@sema/gerador-typescript/dist/index.part02.js.map +0 -1
  212. package/node_modules/@sema/gerador-typescript/dist/index.part03.js.map +0 -1
  213. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +0 -1
  214. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +0 -1
  215. package/node_modules/@sema/nucleo/dist/diagnosticos/melhorador.js.map +0 -1
  216. package/node_modules/@sema/nucleo/dist/diagnosticos/snippets.js.map +0 -1
  217. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +0 -1
  218. package/node_modules/@sema/nucleo/dist/formatador/index.part01.js.map +0 -1
  219. package/node_modules/@sema/nucleo/dist/formatador/index.part02.js.map +0 -1
  220. package/node_modules/@sema/nucleo/dist/index.js.map +0 -1
  221. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +0 -1
  222. package/node_modules/@sema/nucleo/dist/ir/conversor.part01.js.map +0 -1
  223. package/node_modules/@sema/nucleo/dist/ir/conversor.part02.js.map +0 -1
  224. package/node_modules/@sema/nucleo/dist/ir/conversor.part03.js.map +0 -1
  225. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +0 -1
  226. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +0 -1
  227. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +0 -1
  228. package/node_modules/@sema/nucleo/dist/parser/parser.declaracoes.js.map +0 -1
  229. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +0 -1
  230. package/node_modules/@sema/nucleo/dist/parser/parser.modulo.js.map +0 -1
  231. package/node_modules/@sema/nucleo/dist/parser/parser.part01.js.map +0 -1
  232. package/node_modules/@sema/nucleo/dist/parser/parser.part02.js.map +0 -1
  233. package/node_modules/@sema/nucleo/dist/parser/parser.part03.js.map +0 -1
  234. package/node_modules/@sema/nucleo/dist/persistencia/contratos.js.map +0 -1
  235. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +0 -1
  236. package/node_modules/@sema/nucleo/dist/semantico/analisador.part01.js.map +0 -1
  237. package/node_modules/@sema/nucleo/dist/semantico/analisador.part02.js.map +0 -1
  238. package/node_modules/@sema/nucleo/dist/semantico/analisador.part03.js.map +0 -1
  239. package/node_modules/@sema/nucleo/dist/semantico/analisador.part04.js.map +0 -1
  240. package/node_modules/@sema/nucleo/dist/semantico/analisador.part05.js.map +0 -1
  241. package/node_modules/@sema/nucleo/dist/semantico/analisador.part06.js.map +0 -1
  242. package/node_modules/@sema/nucleo/dist/semantico/analisador.part07.js.map +0 -1
  243. package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js.map +0 -1
  244. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +0 -1
  245. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part01.js.map +0 -1
  246. package/node_modules/@sema/nucleo/dist/semantico/estruturas.part02.js.map +0 -1
  247. package/node_modules/@sema/nucleo/dist/semantico/orcamentoSemantico.js.map +0 -1
  248. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +0 -1
  249. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +0 -1
  250. package/node_modules/@sema/padroes/dist/index.js.map +0 -1
package/docs/profiles.md CHANGED
@@ -1,54 +1,54 @@
1
- # Profiles
2
-
3
- Profiles are local validation layers for domains where syntax alone is not
4
- enough. They use the same `.sema` DSL and do not create a second language.
5
-
6
- ## Principle
7
-
8
- A profile checks whether a contract is strong enough for a specific kind of
9
- work. It can require:
10
-
11
- - contract-first workflow;
12
- - domain core fields;
13
- - required rules, effects, guarantees, and tests;
14
- - explicit forbidden behavior;
15
- - evidence before closing the change.
16
-
17
- When a profile returns `bloqueado: true`, the artifact is not approved.
18
-
19
- ## Commands
20
-
21
- ```bash
22
- sema profile capabilities --json
23
- sema profile validar software contratos/example.sema --maturidade production --preset default --json
24
- sema profile validar simulation contratos/example.sema --maturidade production --preset calibration --json
25
- sema rule-packs --profile software --json
26
- ```
27
-
28
- ## Built-In Profiles
29
-
30
- - `software`: code, APIs, modules, refactors, persistence, and generated output.
31
- - `workflow`: automations, queues, webhooks, scheduled jobs, and orchestration.
32
- - `ops`: deploy plans, rollback, incidents, runbooks, and operational evidence.
33
- - `legal`: terms, privacy, compliance, risk, and regulated language.
34
- - `research`: comparisons, uncertainty, evidence, citations, and decisions.
35
- - `game`: rules, loops, player states, scoring, and playability checks.
36
- - `simulation`: models, assumptions, units, scenarios, calibration, uncertainty,
37
- deterministic replay, and tolerance evidence.
38
- - `redacao`: editorial and creative writing, narrative structure, voice,
39
- clarity, and publication-ready evidence.
40
- - `propostas`: commercial proposals, scope clarity, deliverables, constraints,
41
- and client-ready wording.
42
- - `conversas`: customer conversation guardrails, escalation, pricing promises,
43
- and channel changes.
44
-
45
- Profiles are local CLI checks. They do not create or require external service
46
- accounts.
47
-
48
- `author` remains a dedicated workflow under `sema author`; it is not exposed as
49
- a fake `sema profile validar author` gate. Use `sema descobrir explicar workflow.author`
50
- to inspect that boundary.
51
-
52
- The legacy `sema profile capabilities` view lists only profiles accepted by
53
- `profile validar`; its separate `workflowsEspecializados` field points Author
54
- to `sema author` without advertising an invalid validation command.
1
+ # Profiles
2
+
3
+ Profiles are local validation layers for domains where syntax alone is not
4
+ enough. They use the same `.sema` DSL and do not create a second language.
5
+
6
+ ## Principle
7
+
8
+ A profile checks whether a contract is strong enough for a specific kind of
9
+ work. It can require:
10
+
11
+ - contract-first workflow;
12
+ - domain core fields;
13
+ - required rules, effects, guarantees, and tests;
14
+ - explicit forbidden behavior;
15
+ - evidence before closing the change.
16
+
17
+ When a profile returns `bloqueado: true`, the artifact is not approved.
18
+
19
+ ## Commands
20
+
21
+ ```bash
22
+ sema profile capabilities --json
23
+ sema profile validar software contratos/example.sema --maturidade production --preset default --json
24
+ sema profile validar simulation contratos/example.sema --maturidade production --preset calibration --json
25
+ sema rule-packs --profile software --json
26
+ ```
27
+
28
+ ## Built-In Profiles
29
+
30
+ - `software`: code, APIs, modules, refactors, persistence, and generated output.
31
+ - `workflow`: automations, queues, webhooks, scheduled jobs, and orchestration.
32
+ - `ops`: deploy plans, rollback, incidents, runbooks, and operational evidence.
33
+ - `legal`: terms, privacy, compliance, risk, and regulated language.
34
+ - `research`: comparisons, uncertainty, evidence, citations, and decisions.
35
+ - `game`: rules, loops, player states, scoring, and playability checks.
36
+ - `simulation`: models, assumptions, units, scenarios, calibration, uncertainty,
37
+ deterministic replay, and tolerance evidence.
38
+ - `redacao`: editorial and creative writing, narrative structure, voice,
39
+ clarity, and publication-ready evidence.
40
+ - `propostas`: commercial proposals, scope clarity, deliverables, constraints,
41
+ and client-ready wording.
42
+ - `conversas`: customer conversation guardrails, escalation, pricing promises,
43
+ and channel changes.
44
+
45
+ Profiles are local CLI checks. They do not create or require external service
46
+ accounts.
47
+
48
+ `author` remains a dedicated workflow under `sema author`; it is not exposed as
49
+ a fake `sema profile validar author` gate. Use `sema descobrir explicar workflow.author`
50
+ to inspect that boundary.
51
+
52
+ The legacy `sema profile capabilities` view lists only profiles accepted by
53
+ `profile validar`; its separate `workflowsEspecializados` field points Author
54
+ to `sema author` without advertising an invalid validation command.
@@ -15,7 +15,8 @@ and English documentation.
15
15
  - local package scripts
16
16
  - `AGENTS.md` as the official Codex entrypoint
17
17
  - the official Sema skill as a thin bootstrap before `AGENTS.md` exists
18
- - the repo marketplace that installs that skill explicitly
18
+ - the managed absolute launcher and portable global skill bundled in npm
19
+ - the optional repo marketplace that exposes the same skill namespaced
19
20
 
20
21
  ## Not Public
21
22
 
@@ -23,10 +24,26 @@ and English documentation.
23
24
  - real credentials, environment files, or secret inventories
24
25
  - private project data or generated private artifacts
25
26
  - runtime authorization, activation, billing, credit, token, or panel gates
26
- - product-specific entrypoint files for AI clients other than Codex
27
+ - product-specific repository entrypoint files for AI clients other than Codex
27
28
  - MCP servers, remote workspace bridges, or duplicated governance inside the
28
29
  bootstrap skill
29
30
 
31
+ The portable skill may be synchronized to the canonical user-level
32
+ `.agents/skills` directory and a detected Claude mirror. That does not change
33
+ the workspace boundary: Sema still generates only `AGENTS.md` as the official
34
+ repository protocol and never writes into plugin caches.
35
+
36
+ The repository has one npm package factory: `npm run cli:empacotar-publica`.
37
+ It assembles a private stage per execution and never materializes examples,
38
+ runtime dependencies, or skills inside `pacotes/cli`. Direct workspace packing
39
+ is intentionally blocked so a second, mutable packaging path cannot drift from
40
+ the public artifact.
41
+
42
+ The Windows distribution uses `sema.ps1` for PowerShell `PATH` resolution,
43
+ `sema.cmd` for `cmd.exe`, and `sema-managed.ps1` for the PATH-independent
44
+ fallback invoked through the absolute system `powershell.exe`; all remain
45
+ inside the managed `~/.sema/bin` boundary.
46
+
30
47
  The CLI must run directly against the local workspace without login, user
31
48
  authorization, a product-license check, activation key, credits, token, billing
32
49
  service, or control panel.
package/docs/rollback.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Rollback Boundary
2
2
 
3
- Public rollback covers both the npm CLI and the separately installed Codex
4
- bootstrap skill.
3
+ Public rollback covers the npm CLI, managed launcher, bundled global skill, and
4
+ the optional Codex plugin channel.
5
5
 
6
6
  For a failed pre-publication candidate:
7
7
 
@@ -11,16 +11,23 @@ For a failed pre-publication candidate:
11
11
  3. Re-run `npm run release:preparar-publica`.
12
12
 
13
13
  If a bad commit was already pushed, revert it with a normal Git revert and push
14
- the corrective commit. Refresh the marketplace and reinstall the skill:
14
+ the corrective commit. Install the corrected npm version and resynchronize its
15
+ managed distribution:
15
16
 
16
17
  ```bash
17
- codex plugin marketplace upgrade sema
18
- codex plugin remove sema@sema
19
- codex plugin add sema@sema
18
+ npm install -g @semacode/cli@<corrected-version>
19
+ sema skill sync --json
20
20
  ```
21
21
 
22
- Open a new Codex task before validating the reinstalled skill. Already-open
23
- tasks keep the plugin/skill catalog they started with.
22
+ The same sequence may install an explicitly selected previous version. The
23
+ installed npm version is authoritative: `sema skill sync --json` aligns the
24
+ runtime, managed launcher, and bundled skill to the version that is actually
25
+ installed. This is synchronization, not a promise to block an intentional
26
+ downgrade.
27
+
28
+ If the optional plugin channel was also affected, upgrade or reinstall it after
29
+ the corrected commit is public. Open a new task before validating the repaired
30
+ skill; already-open tasks keep the catalog they started with.
24
31
 
25
32
  If a bad npm version was published, do not overwrite it. Publish a corrected
26
33
  version and direct users to that version. Verify the final registry/GitHub state
package/docs/security.md CHANGED
@@ -7,9 +7,31 @@ Local Sema execution does not need a credential, login, activation key, license
7
7
  token, billing token, or control-panel session. Do not introduce one as a
8
8
  condition for reading or governing a local workspace.
9
9
 
10
- The official Codex bootstrap skill contains instructions only. It must not
11
- bundle an MCP server, app connector, remote workspace bridge, credential flow,
12
- or a second copy of the repository governance that belongs in `AGENTS.md`.
10
+ The official bootstrap skill contains instructions only. The global npm
11
+ postinstall may atomically update the managed launcher under `~/.sema/bin`, the
12
+ canonical copy under `~/.agents/skills/sema`, and a Claude mirror under
13
+ `~/.claude/skills/sema` when Claude is already detected. It must not scan the
14
+ home recursively, overwrite an unowned destination, follow symlinks or
15
+ junctions, write into a plugin cache, bundle an MCP server, add a credential
16
+ flow, or duplicate the repository governance that belongs in `AGENTS.md`.
17
+
18
+ Status output exposes symbolic paths such as `$HOME/.sema/bin/sema`,
19
+ `$HOME/.sema/bin/sema.ps1`, `$HOME/.sema/bin/sema.cmd`, and
20
+ `$HOME/.sema/bin/sema-managed.ps1`, never the real home, Node.js executable, or
21
+ package path. On Windows, PowerShell resolves `sema.ps1` from `PATH`, `cmd.exe`
22
+ resolves `sema.cmd`, and the fallback runs `sema-managed.ps1` through
23
+ `%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe`. A managed receipt
24
+ detects isolated corruption of the launchers and companion; it is integrity
25
+ recovery, not authentication against a hostile process running as the same
26
+ user. Private absolute paths are not published in JSON or logs.
27
+
28
+ The public-package factory rejects pre-existing symlinks, junctions, and
29
+ reparse points in source, stage, and output chains and revalidates filesystem
30
+ identity around each path-based operation. This is fail-closed hardening, not a
31
+ native sandbox: Node.js does not expose cross-platform `openat`/`linkat`-style
32
+ operations anchored to directory handles, so a hostile process running as the
33
+ same operating-system user can still race a parent-path swap. Do not present
34
+ the private package stage as a security boundary against that attacker.
13
35
 
14
36
  Do not publish:
15
37