@saulwade/swl-ses 2.6.1 → 2.8.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 (268) hide show
  1. package/CLAUDE.md +14 -2
  2. package/README.md +65 -18
  3. package/agentes/_intent-spec.md +73 -73
  4. package/agentes/_propose-step.md +90 -90
  5. package/bin/swl-ses.js +10 -0
  6. package/comandos/swl/brainstorm.md +1 -0
  7. package/comandos/swl/briefing.md +119 -119
  8. package/comandos/swl/contribuir.md +233 -233
  9. package/comandos/swl/deuda-codigo.md +97 -97
  10. package/comandos/swl/mcp-status.md +1 -0
  11. package/gateway/lib/event-channel.js +191 -191
  12. package/habilidades/agent-deep-links/SKILL.md +148 -148
  13. package/habilidades/backend-async-postgres-testing/SKILL.md +216 -216
  14. package/habilidades/backend-error-design/SKILL.md +221 -221
  15. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  16. package/habilidades/calidad-anti-patrones-universales/SKILL.md +105 -1
  17. package/habilidades/calidad-contract-testing/SKILL.md +165 -165
  18. package/habilidades/calidad-mutation-testing/SKILL.md +25 -1
  19. package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
  20. package/habilidades/ci-cd-pipelines/SKILL.md +5 -1
  21. package/habilidades/css-moderno/SKILL.md +7 -1
  22. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  23. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  24. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
  25. package/habilidades/extractor-de-aprendizajes/SKILL.md +5 -1
  26. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  27. package/habilidades/harness-claude-code/SKILL.md +3 -2
  28. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  29. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  30. package/habilidades/perfil-usuario/SKILL.md +200 -200
  31. package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
  32. package/habilidades/prevencion-sobreingenieria/recursos/soluciones-nativas.md +166 -166
  33. package/habilidades/prevencion-sobreingenieria/recursos/variables-residuales-post-refactor.md +85 -85
  34. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
  35. package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
  36. package/habilidades/proceso-dynamic-workflows/SKILL.md +60 -0
  37. package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
  38. package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
  39. package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
  40. package/habilidades/proceso-modular-split/SKILL.md +256 -256
  41. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  42. package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
  43. package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
  44. package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
  45. package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
  46. package/hooks/calidad-pre-commit.js +159 -10
  47. package/hooks/ciclo-evolucion-subagente.js +26 -26
  48. package/hooks/ciclo-evolucion.js +26 -26
  49. package/hooks/contexto-subagente.js +68 -68
  50. package/hooks/lib/auto-consolidator.js +335 -335
  51. package/hooks/lib/ciclo-evolucion.js +47 -47
  52. package/hooks/lib/deep-links.js +185 -185
  53. package/hooks/lib/error-classifier.js +308 -308
  54. package/hooks/lib/notificacion-formato.js +45 -11
  55. package/hooks/lib/provenance-tracker.js +191 -191
  56. package/hooks/lib/raiz-proyecto.js +35 -4
  57. package/hooks/lib/resource-quota.js +122 -122
  58. package/hooks/lib/retry-jitter.js +165 -165
  59. package/hooks/lib/security-net.js +201 -201
  60. package/hooks/lib/skill-auditor.js +588 -588
  61. package/hooks/lib/sync-status.js +228 -228
  62. package/hooks/lib/taint-tracker.js +107 -107
  63. package/hooks/lib/text-similarity.js +241 -241
  64. package/hooks/lib/toon-compressor.js +245 -245
  65. package/hooks/notificacion-telegram.js +5 -11
  66. package/hooks/session-briefing.js +12 -4
  67. package/instintos/autonomia.yaml +27 -27
  68. package/instintos/prompt-appendices.yaml +57 -57
  69. package/llms.txt +1 -1
  70. package/manifiestos/agent-output-schemas.json +57 -57
  71. package/manifiestos/canonical-hashes.json +662 -0
  72. package/manifiestos/harness-ir.json +47536 -0
  73. package/manifiestos/hooks-config.json +469 -469
  74. package/manifiestos/invariantes-criticos.json +30 -30
  75. package/manifiestos/policy-bundle.json +2065 -0
  76. package/manifiestos/policy-corpus-w2.json +3926 -0
  77. package/manifiestos/runtime-adapters-core3.json +208 -0
  78. package/manifiestos/runtime-conformance.json +139 -0
  79. package/manifiestos/skills-lock.json +43 -43
  80. package/package.json +2 -2
  81. package/plantillas/auditor-veto-template.md +105 -105
  82. package/plantillas/github-workflows/release-please.yml +44 -44
  83. package/plantillas/github-workflows/swl-ci.yml +107 -107
  84. package/plantillas/github-workflows/swl-security.yml +51 -51
  85. package/plugin.json +2 -2
  86. package/reglas/accesibilidad.md +10 -10
  87. package/reglas/auditorias-documentales-estructurales.md +7 -7
  88. package/reglas/cloud-infra.md +8 -8
  89. package/reglas/consultar-vault-primero.md +195 -195
  90. package/reglas/git-workflow.md +1 -0
  91. package/reglas/hooks.md +6 -6
  92. package/reglas/intent-engineering.md +218 -218
  93. package/reglas/markitdown.md +8 -8
  94. package/reglas/monitor-ci.md +12 -0
  95. package/reglas/patrones.md +6 -6
  96. package/reglas/testing.md +7 -7
  97. package/reglas/tests-cleanup.md +224 -224
  98. package/schemas/agent-message.schema.json +73 -73
  99. package/schemas/agent-output-implementacion.schema.json +114 -114
  100. package/schemas/agent-output-planificacion.schema.json +150 -150
  101. package/schemas/agent-output-review.schema.json +98 -98
  102. package/schemas/diary-entry.schema.json +112 -112
  103. package/schemas/gate-state.schema.json +76 -0
  104. package/schemas/harness-ir.schema.json +369 -0
  105. package/schemas/hook-profiles.schema.json +54 -54
  106. package/schemas/hooks-config.schema.json +89 -89
  107. package/schemas/legacy-gates.schema.json +45 -0
  108. package/schemas/modulos.schema.json +38 -38
  109. package/schemas/perfiles.schema.json +36 -36
  110. package/schemas/plugin.schema.json +77 -77
  111. package/schemas/policy-bundle.schema.json +140 -0
  112. package/schemas/policy-enforcement.schema.json +117 -0
  113. package/schemas/policy-operation.schema.json +261 -0
  114. package/schemas/runtime-adapter.schema.json +176 -0
  115. package/schemas/runtime-build-attestation.schema.json +100 -0
  116. package/schemas/runtime-conformance.schema.json +239 -0
  117. package/schemas/runtime-diagnostic.schema.json +395 -0
  118. package/schemas/skill-evals.schema.json +119 -119
  119. package/schemas/skill-frontmatter.schema.json +245 -245
  120. package/schemas/w4-certification-request.schema.json +72 -0
  121. package/schemas/w4-certification-verdict.schema.json +224 -0
  122. package/schemas/w4-corpus.schema.json +172 -0
  123. package/schemas/w4-mutation-report.schema.json +116 -0
  124. package/schemas/w4-replay-result.schema.json +164 -0
  125. package/schemas/w4-scoring-report.schema.json +89 -0
  126. package/scripts/audit-tools/audit-history.js +330 -330
  127. package/scripts/audit-tools/bundle-tracker.js +290 -290
  128. package/scripts/audit-tools/canary-monitor.js +352 -352
  129. package/scripts/audit-tools/code-profiler.js +605 -605
  130. package/scripts/audit-tools/dep-doctor.js +320 -320
  131. package/scripts/audit-tools/env-validator.js +206 -206
  132. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  133. package/scripts/audit-tools/lib/output.js +23 -23
  134. package/scripts/audit-tools/migration-checker.js +392 -392
  135. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  136. package/scripts/bootstrap-instintos.js +3 -0
  137. package/scripts/cli/aprobar-plan.js +73 -73
  138. package/scripts/cli/briefing.js +23 -23
  139. package/scripts/cli/ciclo-evolucion.js +26 -26
  140. package/scripts/cli/derivar-feature-list.js +25 -25
  141. package/scripts/cli/detectar-host.js +27 -27
  142. package/scripts/cli/diary-entry.js +69 -69
  143. package/scripts/cli/execution-state.js +18 -18
  144. package/scripts/cli/gateway-notify.js +41 -41
  145. package/scripts/cli/liberar-fase.js +42 -42
  146. package/scripts/cli/mark-evolved.js +56 -56
  147. package/scripts/cli/metricas-dora.js +26 -26
  148. package/scripts/cli/near-duplicate.js +55 -55
  149. package/scripts/cli/notificaciones.js +123 -123
  150. package/scripts/cli/propose-step.js +29 -29
  151. package/scripts/cli/schedule-parse.js +19 -19
  152. package/scripts/cli/sugerir-modelo.js +20 -20
  153. package/scripts/cli/verificar-plan.js +36 -36
  154. package/scripts/cli/verificar-trazabilidad.js +35 -35
  155. package/scripts/comandos/install-asistido.js +8 -7
  156. package/scripts/configurar-branch-protection.js +418 -418
  157. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  158. package/scripts/doctor.js +61 -36
  159. package/scripts/generar-checklists-consolidados.js +273 -273
  160. package/scripts/generar-claims-runtime.js +1342 -0
  161. package/scripts/generar-harness-ir.js +257 -0
  162. package/scripts/generar-inventario.js +52 -54
  163. package/scripts/generar-policy-bundle.js +202 -0
  164. package/scripts/instalador.js +26 -7
  165. package/scripts/lib/approval-receipts.js +190 -0
  166. package/scripts/lib/artefactos-python.js +43 -43
  167. package/scripts/lib/benchmark-metrics.js +160 -160
  168. package/scripts/lib/budget-enforcer.js +252 -252
  169. package/scripts/lib/certificacion-loop-state.js +421 -0
  170. package/scripts/lib/ci-reader.js +193 -193
  171. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +56 -0
  172. package/scripts/lib/clasificar-directorio.js +92 -0
  173. package/scripts/lib/contadores-inventario.js +217 -217
  174. package/scripts/lib/detectar-host-swl.js +175 -175
  175. package/scripts/lib/detectar-runtime.js +29 -20
  176. package/scripts/lib/detectar-stack-detallado.js +307 -307
  177. package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
  178. package/scripts/lib/detector-reglas-duplicadas.js +220 -220
  179. package/scripts/lib/eval-metrics-store.js +218 -218
  180. package/scripts/lib/eval-quality.js +171 -171
  181. package/scripts/lib/eval-schemas.js +144 -144
  182. package/scripts/lib/eval-self-correct.js +106 -106
  183. package/scripts/lib/eval-validator.js +185 -185
  184. package/scripts/lib/evidence-verifier.js +192 -0
  185. package/scripts/lib/evidencia-release.js +322 -322
  186. package/scripts/lib/frontmatter-canonico.js +509 -0
  187. package/scripts/lib/gate-engine.js +871 -0
  188. package/scripts/lib/gate-hooks-requires.js +249 -249
  189. package/scripts/lib/gate-licencias.js +212 -212
  190. package/scripts/lib/git-config-preflight.js +48 -0
  191. package/scripts/lib/git-metricas.js +257 -257
  192. package/scripts/lib/harness-ir.js +778 -0
  193. package/scripts/lib/harness-source-snapshot.js +309 -0
  194. package/scripts/lib/integrity-ledger.js +1147 -0
  195. package/scripts/lib/jaccard-similarity.js +98 -98
  196. package/scripts/lib/legacy-gate-migration.js +324 -0
  197. package/scripts/lib/limpiar-basura-global.js +45 -2
  198. package/scripts/lib/longmemeval-runner.js +125 -125
  199. package/scripts/lib/metricas-dora.js +204 -204
  200. package/scripts/lib/notificaciones-telegram.js +1 -0
  201. package/scripts/lib/npm-version.js +1 -0
  202. package/scripts/lib/paquetes-conocidos.js +50 -50
  203. package/scripts/lib/plan-lock.js +61 -13
  204. package/scripts/lib/policy-broker.js +338 -0
  205. package/scripts/lib/policy-bundle.js +342 -0
  206. package/scripts/lib/policy-context-provider.js +310 -0
  207. package/scripts/lib/policy-contract.js +479 -0
  208. package/scripts/lib/policy-verifier-utils.js +65 -0
  209. package/scripts/lib/pr-analyzer.js +399 -399
  210. package/scripts/lib/principal-verifier.js +178 -0
  211. package/scripts/lib/prompt-builder.js +264 -264
  212. package/scripts/lib/resolver-plan-fase.js +37 -37
  213. package/scripts/lib/rrf-fusion.js +175 -175
  214. package/scripts/lib/runtime-adapter-contract.js +267 -0
  215. package/scripts/lib/runtime-artifact-verifier.js +426 -0
  216. package/scripts/lib/runtime-build-attestation.js +127 -0
  217. package/scripts/lib/runtime-bundle-installer.js +586 -0
  218. package/scripts/lib/runtime-compiler.js +327 -0
  219. package/scripts/lib/runtime-conformance.js +202 -0
  220. package/scripts/lib/runtime-doctor-core3.js +567 -0
  221. package/scripts/lib/runtime-doctor-input.js +59 -0
  222. package/scripts/lib/runtime-operation-adapter.js +267 -0
  223. package/scripts/lib/schema-version.js +164 -164
  224. package/scripts/lib/semantic-search.js +252 -252
  225. package/scripts/lib/signed-envelope.js +545 -0
  226. package/scripts/lib/single-use-store.js +359 -0
  227. package/scripts/lib/skills-externas.js +31 -0
  228. package/scripts/lib/transformadores/codex.js +15 -8
  229. package/scripts/lib/transformadores/gemini.js +79 -5
  230. package/scripts/lib/w4-attestation-adapter.js +158 -0
  231. package/scripts/lib/w4-canario.js +337 -0
  232. package/scripts/lib/w4-claims.js +182 -0
  233. package/scripts/lib/w4-corpus-generador.js +542 -0
  234. package/scripts/lib/w4-gate-c5.js +115 -0
  235. package/scripts/lib/w4-harness-bajo-prueba.js +155 -0
  236. package/scripts/lib/w4-matriz-combos.js +55 -0
  237. package/scripts/lib/w4-motor-mutacion.js +1348 -0
  238. package/scripts/lib/w4-motor-replay.js +735 -0
  239. package/scripts/lib/w4-pin-origen.js +54 -0
  240. package/scripts/lib/w4-publicar-request.js +132 -0
  241. package/scripts/lib/w4-revocacion.js +62 -0
  242. package/scripts/lib/w4-runtimes-core3.js +38 -0
  243. package/scripts/lib/w4-scorer-certificacion.js +692 -0
  244. package/scripts/lib/w4-superficie-candidato.js +49 -0
  245. package/scripts/lib/w4-veredicto.js +452 -0
  246. package/scripts/lib/w4-verificar-veredicto.js +302 -0
  247. package/scripts/limpiar-artefactos-python.js +131 -131
  248. package/scripts/migrar-csv-a-array.js +168 -168
  249. package/scripts/migrar-fase-dominio.js +200 -200
  250. package/scripts/migrar-gates-legacy.js +108 -0
  251. package/scripts/publicar-certification-request.js +115 -0
  252. package/scripts/runtime-doctor.js +107 -0
  253. package/scripts/tui/componentes/selector-multi.js +189 -189
  254. package/scripts/tui/componentes/selector-unico.js +158 -158
  255. package/scripts/tui/ejecutores.js +375 -375
  256. package/scripts/tui/lib/colores.js +129 -129
  257. package/scripts/tui/lib/render.js +264 -264
  258. package/scripts/tui/lib/teclas.js +113 -113
  259. package/scripts/tui/pantallas/install-wizard.js +12 -7
  260. package/scripts/tui/pantallas/menu-principal.js +52 -52
  261. package/scripts/tui/pantallas/progreso.js +274 -274
  262. package/scripts/tui/pantallas/resumen.js +132 -132
  263. package/scripts/validar-userland-vacio.js +110 -110
  264. package/scripts/verificar-aislamiento-swl-eval.js +87 -0
  265. package/scripts/verificar-empaquetado-downstream.js +375 -0
  266. package/scripts/verificar-loop-constructor.js +215 -0
  267. package/scripts/verificar-trazabilidad.js +13 -6
  268. package/scripts/verificar-veredicto-real.js +84 -0
package/CLAUDE.md CHANGED
@@ -1,4 +1,4 @@
1
- # CLAUDE.md — @saulwade/swl-ses v2.6.1
1
+ # CLAUDE.md — @saulwade/swl-ses v2.8.0
2
2
 
3
3
  ## Reglas de máxima prioridad (aplican SIEMPRE, sin excepción)
4
4
 
@@ -42,7 +42,8 @@ NUNCA asumir, sugerir como hecho consumado, ni escribir en ADRs/manifiestos/CHAN
42
42
  | `npm run test:release` | test:all + test:userland + smoke (gate pre-publish) |
43
43
  | `npm run test:validate` | `node scripts/validar.js` — validación estructural completa |
44
44
  | `npm run test:manifest` | `node scripts/validar-manifest.js` — coherencia modulos/hooks |
45
- | `npm run test:smoke` | Smoke test del instalador |
45
+ | `npm run test:smoke` | Smoke test del instalador (install → doctor → uninstall, desde el árbol fuente) |
46
+ | `node scripts/verificar-empaquetado-downstream.js` | Ciclo `pack → install → doctor → update → uninstall` sobre el tarball REAL de `npm pack` (no el árbol fuente); verifica contenido del tarball (requeridos/prohibidos) e invariantes de claims/versión. Invocación directa — NO en `package.json#scripts` (esa superficie está congelada por `tests/scripts/generar-harness-ir.test.js` desde `aa9b08a`/F29; ver F31-T09) |
46
47
  | `npm run gen-checklists` | Regenera `docs/checklists-consolidados/` desde reglas |
47
48
  | `npm run gen-checklists:check` | Falla si hay drift (uso CI) |
48
49
  | `npm run generate:docs` | Regenera `INVENTARIO.md` desde directorios |
@@ -111,6 +112,17 @@ NUNCA asumir, sugerir como hecho consumado, ni escribir en ADRs/manifiestos/CHAN
111
112
  Sistema de ingeniería de software auto-evolutivo multi-runtime polyglot (SDLC completo).
112
113
  11 lenguajes, 7 runtimes (Claude, OpenClaude, OpenCode, Gemini, Cursor, Codex, Copilot), 61 agentes, 181 skills, 48 comandos, 77 reglas, 49 hooks.
113
114
 
115
+ ### Kernel de políticas W2
116
+
117
+ El tarball 2.8.0 incluye 13 módulos zero-deps de autorización local, cuatro schemas,
118
+ el `PolicyBundle` y un corpus público de 500 vectores. Esta superficie sirve a los
119
+ proyectos downstream desde `scripts/lib/`; nunca se agrega a módulos de instalación
120
+ ni se proyecta como hook.
121
+
122
+ W2 termina en decisión, grant y evidencia durable. W3 debe integrar las operaciones
123
+ nativas de cada CLI y W6 debe contener el efecto real; mientras eso no ocurra, ningún
124
+ target puede reclamar certificación de obediencia al harness.
125
+
114
126
  ## Estructura del repositorio
115
127
 
116
128
  ```
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # swl-ses v2.6.1
1
+ # swl-ses v2.8.0
2
2
 
3
3
  > El paquete anterior `@saulwadeleon/swl-software-engineering-system` está deprecado. Migrar a `@saulwade/swl-ses` (npmjs.org canónico) o `@saul-wade/swl-ses` (mirror en GitHub Packages) — el CLI `swl-ses` no cambia.
4
4
 
5
5
  Sistema de ingeniería de software auto-evolutivo **multi-runtime** con agentes especializados, habilidades modulares, hooks de seguridad y orquestación ligera. 100% en español (México). Soporta 11 lenguajes: Python, TypeScript, Java, Go, Rust, C#, Kotlin, Swift, PHP, Next.js y C++.
6
6
 
7
- Soporta 7 runtimes de IA: Claude Code, OpenClaude, OpenCode y Gemini CLI (soporte completo); Cursor, Codex CLI y GitHub Copilot (soporte parcial reglas + MCP server o consolidación en archivo de instrucciones según el runtime). Incluye sistema de transformadores que adapta el formato canónico SWL al formato nativo de cada runtime, **multi-target install** (`--target=claude,cursor,codex` en una sola invocación), y **`swl-mcp-server` v1.0.0** con auth opt-in para que Cursor, Codex y otros clientes MCP consulten la memoria SWL (aprendizajes, instintos, sesiones).
7
+ SWL reconoce siete targets de instalación de IA. La disponibilidad de un transformador no certifica conformidad con el harness; los estados públicos se derivan del manifiesto canónico. Incluye instalación multi-target y `swl-mcp-server` con autenticación opt-in para clientes MCP.
8
8
 
9
9
  Cubre el SDLC completo: discovery, requisitos, arquitectura, UX/UI, frontend, backend, mobile, datos, testing, seguridad, CI/CD, observabilidad, releases, documentación, notificaciones y auto-evolución. Incluye sistema de notificaciones Telegram opt-in (hook saliente, bot bidireccional con 15 comandos, autostart cross-platform), **auditoría profunda Nemesis** (loop iterativo Feynman + State Inconsistency hasta convergencia, ahora con loop evaluator-optimizer opt-in vía `/swl:nemesis --remediar` desde v1.5.2 - ADR-0021) con 8 tools ejecutables JSON-output para code-profiler, pentest-scanner, dep-doctor, bundle-tracker y más (ADR-0018, v1.4.1), e **instalador/actualizador TUI custom** zero-deps con paneles, multi-select y barra de progreso por categoría (v1.6.0).
10
10
 
@@ -13,16 +13,45 @@ Cubre el SDLC completo: discovery, requisitos, arquitectura, UX/UI, frontend, ba
13
13
  | Componente | Cantidad |
14
14
  |-----------|----------|
15
15
  | Agentes SWL | 61 |
16
- | Habilidades | 179 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
- | Comandos (/swl:*) | 47 (todos <=300 líneas, delegan a skills) |
16
+ | Habilidades | 181 (todas <=300 líneas, con divulgación progresiva a recursos/) |
17
+ | Comandos (/swl:*) | 48 (todos <=300 líneas, delegan a skills) |
18
18
  | Reglas | 37 base + 40 por lenguaje (8 lenguajes x 5) |
19
- | Hooks | 49 + 76 librerías en hooks/lib/ |
19
+ | Hooks | 49 + 78 librerías en hooks/lib/ |
20
20
  | Tools ejecutables (audit-tools) | 8 (code-profiler, pentest-scanner, dep-doctor, bundle-tracker, env-validator, migration-checker, canary-monitor, audit-history) |
21
- | Schemas | 15 |
21
+ | Schemas | 31 |
22
22
  | Perfiles de instalación | 17 |
23
23
  | Contextos | 3 (dev, review, research) |
24
24
  | Gateway multi-plataforma | Telegram, Discord, WhatsApp, Slack, Email, Webhook (salida bidireccional opt-in) |
25
25
 
26
+ ### Harness IR diagnóstico
27
+
28
+ Desde v2.7.0, SWL compila sus 416 agentes, comandos, habilidades, reglas y hooks a
29
+ una vista intermedia neutral. El artefacto `manifiestos/harness-ir.json` conserva
30
+ procedencia SHA-256 y diagnósticos bloqueantes; no convierte el contenido legacy en
31
+ capacidades consumibles ni certifica runtimes.
32
+
33
+ ```bash
34
+ node scripts/generar-harness-ir.js --check # Detecta ausencia o drift sin escribir
35
+ node scripts/generar-harness-ir.js --write # Publicación atómica con fsync y CAS
36
+ ```
37
+
38
+ La API productiva expone sólo compilación, serialización y validación del contrato.
39
+ El CLI rechaza overrides de raíz, fuentes o mappings para mantener el corpus confinado
40
+ al repositorio Git actual.
41
+
42
+ ### Kernel de políticas W2
43
+
44
+ El paquete 2.8.0 distribuye 13 módulos zero-deps para identidad, contexto, approvals,
45
+ evidencia, ledger, gates G0-G4, autorización fail-closed y migración legacy. También
46
+ incluye cuatro schemas cerrados, `manifiestos/policy-bundle.json` y el corpus público
47
+ de 500 vectores `manifiestos/policy-corpus-w2.json`.
48
+
49
+ Estos artefactos son una API interna para proyectos downstream: viajan en el tarball,
50
+ pero los perfiles no los copian como hooks ni los presentan como integración de un
51
+ runtime. W3 conectará operaciones nativas de Claude, Codex y Gemini; W6 ligará cada
52
+ grant al efecto real mediante sandbox, fencing y rollback. Por ello, W2 no certifica
53
+ conformidad de ningún runtime y todos conservan estado público `unverified`.
54
+
26
55
  ## Lenguajes soportados (11)
27
56
 
28
57
  | Lenguaje | Reglas | Skills | Agente Revisor | Agente Implementador | Build Errors |
@@ -215,19 +244,37 @@ Correr solo uno deja el otro plano en una versión anterior.
215
244
  | `polyglot` | Todos los lenguajes: 11 lenguajes + revisores + build resolvers |
216
245
  | `completo` | Todo: 61 agentes + 181 habilidades + 48 comandos + 77 reglas + 49 hooks |
217
246
 
218
- ### Targets soportados
247
+ <!-- BEGIN:RUNTIME-CONFORMANCE (generado por scripts/generar-claims-runtime.js; no editar) -->
248
+
249
+ ### Conformidad de runtimes
250
+
251
+ > Estado bootstrap: disponibilidad de instalación no equivale a certificación del harness.
252
+
253
+ | Runtime | Target | Soporte público | Certificación |
254
+ |---|---|---|---|
255
+ | claude-code | claude | experimental | unverified |
256
+ | openclaude | openclaude | experimental | unverified |
257
+ | opencode | opencode | experimental | unverified |
258
+ | gemini-cli | gemini | experimental | unverified |
259
+ | cursor | cursor | experimental | unverified |
260
+ | codex-cli | codex | experimental | unverified |
261
+ | github-copilot | copilot | experimental | unverified |
219
262
 
220
- | Target | Runtime | Soporte | Componentes |
221
- |--------|---------|---------|-------------|
222
- | `claude` | Claude Code | Completo | Agentes, skills, comandos, reglas, hooks |
223
- | `openclaude` | OpenClaude | Completo | Agentes, skills, comandos, reglas, hooks |
224
- | `opencode` | OpenCode | Completo | Agentes, skills, comandos, reglas, hooks |
225
- | `gemini` | Gemini CLI | Completo | Agentes, skills, comandos, reglas, hooks |
226
- | `copilot` | GitHub Copilot | Parcial | Solo agentes y reglas (limitación de plataforma) |
227
- | `codex` | Codex CLI | Completo | Agentes en `~/.codex/agents/<name>.toml` (Sub-fase 11) + AGENTS.md con marcadores como índice + skills en `~/.agents/skills/<name>/SKILL.md` (path oficial OpenAI) + hooks en `~/.codex/hooks.json` (6 eventos) + MCP en `~/.codex/config.toml` con `--with-mcp` |
228
- | `cursor` | Cursor | Completo | Agentes en `.cursor/agents/<name>.md` (Subagents) + skills en `.cursor/skills/<name>/SKILL.md` + reglas en `.cursor/rules/*.mdc` + hooks en `.cursor/hooks.json` (17 eventos) + MCP en `.cursor/mcp.json` con `--with-mcp` |
263
+ <!-- END:RUNTIME-CONFORMANCE -->
264
+
265
+ #### Capacidades de instalación por target
266
+
267
+ | Target | Runtime | Artefactos emitidos |
268
+ |---|---|---|
269
+ | `claude` | Claude Code | Agentes, skills, comandos, reglas y hooks |
270
+ | `openclaude` | OpenClaude | Artefactos en `.claude/`; directorio global propio con fallback compatible |
271
+ | `opencode` | OpenCode | Agentes, skills, comandos, reglas y configuración |
272
+ | `gemini` | Gemini CLI | Agentes, skills, comandos, reglas y configuración |
273
+ | `cursor` | Cursor | Agentes, skills, reglas, hooks y configuración MCP |
274
+ | `codex` | Codex CLI | Agentes TOML, AGENTS.md, skills, hooks y configuración MCP |
275
+ | `copilot` | GitHub Copilot | Agentes y reglas consolidadas |
229
276
 
230
- > **OpenClaude** usa los mismos directorios de proyecto que Claude Code (`.claude/`). Instalar `--target openclaude` en un proyecto con Claude Code aplica a ambos simultáneamente.
277
+ > OpenClaude comparte `.claude/` con Claude Code en instalaciones de proyecto.
231
278
 
232
279
  ### Ejemplos
233
280
 
@@ -522,7 +569,7 @@ swl-ses/
522
569
  comandos/swl/ # 48 comandos slash
523
570
  reglas/ # 37 reglas base + 40 por lenguaje
524
571
  hooks/ # 49 hooks + 76 librerías en hooks/lib/
525
- schemas/ # 15 JSON Schemas
572
+ schemas/ # 18 JSON Schemas
526
573
  contextos/ # 3 modos de desarrollo
527
574
  instintos/ # Instintos YAML con confianza
528
575
  plantillas/ # Templates para .planning/
@@ -1,73 +1,73 @@
1
- <!--
2
- Fragmento compartido — Intent Specification (8 partes)
3
- Adaptado de: Pawel Huryn — "Lead Agents Like Humans" (Product Compass, 2026-05)
4
- URL fuente: temp/Lead-agents-like-humans.md
5
- Importable desde frontmatter de agente: `fragmentos: [_intent-spec]`
6
- Usar SOLO en agentes con `nivelRiesgo: ALTO`. Ver regla intent-engineering.md.
7
- -->
8
-
9
- ## Intent Specification — las 8 partes
10
-
11
- Operas dentro de una especificación de intención de 8 partes. Antes de actuar
12
- sobre cualquier instrucción ambigua, consulta esta especificación. Cuando dos
13
- señales chocan, las partes 4 (Health Metrics) y 6 (Hard Guardrails) tienen
14
- prioridad sobre 3 (Desired Outcomes) — proteger lo que NO debe degradar pesa
15
- más que cumplir el objetivo.
16
-
17
- 1. **Strategy** — visión, mercado, tradeoffs de alto nivel que enmarcan tus
18
- decisiones. Tu `strategy:` en frontmatter declara las 1-3 líneas que aplican
19
- a tu rol.
20
-
21
- 2. **Objective** — el problema que resuelves y por qué importa. Tu
22
- `description:` lo captura. Cuando una instrucción del usuario no menciona
23
- el objetivo, asúmelo desde tu rol.
24
-
25
- 3. **Desired Outcomes** — estados observables que prueban que el objetivo se
26
- cumplió. Define el "done" para cada invocación. Outcomes son estados,
27
- nunca actividades. Verificables sin auto-reporte del agente.
28
-
29
- 4. **Health Metrics** — lo que NO debe degradar mientras persigues el objetivo
30
- (Goodhart's Law: cuando una medida se vuelve target, deja de ser una buena
31
- medida). Tu `healthMetrics:` en frontmatter las lista. Si detectas que una
32
- está bajando, sé más conservador, no más agresivo.
33
-
34
- 5. **Org Context** — sistema (otros agentes, hooks, herramientas) y
35
- organización (proyecto del usuario, dominio). Vive en CLAUDE.md y
36
- contextos/. Te llega por carga inicial, no por instrucción puntual.
37
-
38
- 6. **Constraints** — dos tipos distintos:
39
- - **`steering:`** (prompt-level) — guías de comportamiento, tono, riesgo
40
- preferido. Influyen tu razonamiento pero NO te obligan. Puedes
41
- desviarte si el caso lo justifica, documentando por qué.
42
- - **`hardGuardrails:`** (orchestration-level) — restricciones aplicadas
43
- por hooks, schemas, permisos, sandbox. NO puedes desviarte de estas
44
- bajo ninguna circunstancia, ni con justificación. Si una hard guardrail
45
- bloquea una tarea legítima, escala — no la rodees.
46
-
47
- 7. **Autonomy Boundaries** — qué decisiones tomas solo, cuáles propones,
48
- cuáles requieren humano. Tu `nivelRiesgo:` declara el techo (BAJO = full
49
- autonomy, MEDIO = guarded, ALTO = requiere HITL en operaciones
50
- irreversibles). Recovery Catalog de `seguridad-agentes.md` documenta
51
- reprompt/reduce-autonomy/escalate/terminate.
52
-
53
- 8. **Stop Rules** — cuándo detenerse:
54
- - **Halt** — restricciones en conflicto, confianza cae dos veces seguidas,
55
- `maxTurnos` alcanzado.
56
- - **Escalate** — fuera de scope, tema legal/compliance detectado,
57
- frustración persistente del usuario.
58
- - **Complete** — Desired Outcomes alcanzados; el usuario confirma.
59
-
60
- No avances cuando deberías detenerte. Reportar parcial con razón es
61
- correcto. Empujar sin entender por qué falla es violación.
62
-
63
- ## Cómo se aplica
64
-
65
- Cuando recibes una instrucción ambigua:
66
-
67
- 1. Mapea contra tu Objective (¿alinea con tu rol?).
68
- 2. Verifica Hard Guardrails (¿alguna se viola?).
69
- 3. Verifica Health Metrics (¿algo está degradando ya?).
70
- 4. Si todo OK, procede con Steering como guía.
71
- 5. Si dudas, escala según Autonomy Boundaries.
72
-
73
- Para detalles operativos y ejemplos por rol, cargar `Skill("proceso-intent-engineering")`.
1
+ <!--
2
+ Fragmento compartido — Intent Specification (8 partes)
3
+ Adaptado de: Pawel Huryn — "Lead Agents Like Humans" (Product Compass, 2026-05)
4
+ URL fuente: temp/Lead-agents-like-humans.md
5
+ Importable desde frontmatter de agente: `fragmentos: [_intent-spec]`
6
+ Usar SOLO en agentes con `nivelRiesgo: ALTO`. Ver regla intent-engineering.md.
7
+ -->
8
+
9
+ ## Intent Specification — las 8 partes
10
+
11
+ Operas dentro de una especificación de intención de 8 partes. Antes de actuar
12
+ sobre cualquier instrucción ambigua, consulta esta especificación. Cuando dos
13
+ señales chocan, las partes 4 (Health Metrics) y 6 (Hard Guardrails) tienen
14
+ prioridad sobre 3 (Desired Outcomes) — proteger lo que NO debe degradar pesa
15
+ más que cumplir el objetivo.
16
+
17
+ 1. **Strategy** — visión, mercado, tradeoffs de alto nivel que enmarcan tus
18
+ decisiones. Tu `strategy:` en frontmatter declara las 1-3 líneas que aplican
19
+ a tu rol.
20
+
21
+ 2. **Objective** — el problema que resuelves y por qué importa. Tu
22
+ `description:` lo captura. Cuando una instrucción del usuario no menciona
23
+ el objetivo, asúmelo desde tu rol.
24
+
25
+ 3. **Desired Outcomes** — estados observables que prueban que el objetivo se
26
+ cumplió. Define el "done" para cada invocación. Outcomes son estados,
27
+ nunca actividades. Verificables sin auto-reporte del agente.
28
+
29
+ 4. **Health Metrics** — lo que NO debe degradar mientras persigues el objetivo
30
+ (Goodhart's Law: cuando una medida se vuelve target, deja de ser una buena
31
+ medida). Tu `healthMetrics:` en frontmatter las lista. Si detectas que una
32
+ está bajando, sé más conservador, no más agresivo.
33
+
34
+ 5. **Org Context** — sistema (otros agentes, hooks, herramientas) y
35
+ organización (proyecto del usuario, dominio). Vive en CLAUDE.md y
36
+ contextos/. Te llega por carga inicial, no por instrucción puntual.
37
+
38
+ 6. **Constraints** — dos tipos distintos:
39
+ - **`steering:`** (prompt-level) — guías de comportamiento, tono, riesgo
40
+ preferido. Influyen tu razonamiento pero NO te obligan. Puedes
41
+ desviarte si el caso lo justifica, documentando por qué.
42
+ - **`hardGuardrails:`** (orchestration-level) — restricciones aplicadas
43
+ por hooks, schemas, permisos, sandbox. NO puedes desviarte de estas
44
+ bajo ninguna circunstancia, ni con justificación. Si una hard guardrail
45
+ bloquea una tarea legítima, escala — no la rodees.
46
+
47
+ 7. **Autonomy Boundaries** — qué decisiones tomas solo, cuáles propones,
48
+ cuáles requieren humano. Tu `nivelRiesgo:` declara el techo (BAJO = full
49
+ autonomy, MEDIO = guarded, ALTO = requiere HITL en operaciones
50
+ irreversibles). Recovery Catalog de `seguridad-agentes.md` documenta
51
+ reprompt/reduce-autonomy/escalate/terminate.
52
+
53
+ 8. **Stop Rules** — cuándo detenerse:
54
+ - **Halt** — restricciones en conflicto, confianza cae dos veces seguidas,
55
+ `maxTurnos` alcanzado.
56
+ - **Escalate** — fuera de scope, tema legal/compliance detectado,
57
+ frustración persistente del usuario.
58
+ - **Complete** — Desired Outcomes alcanzados; el usuario confirma.
59
+
60
+ No avances cuando deberías detenerte. Reportar parcial con razón es
61
+ correcto. Empujar sin entender por qué falla es violación.
62
+
63
+ ## Cómo se aplica
64
+
65
+ Cuando recibes una instrucción ambigua:
66
+
67
+ 1. Mapea contra tu Objective (¿alinea con tu rol?).
68
+ 2. Verifica Hard Guardrails (¿alguna se viola?).
69
+ 3. Verifica Health Metrics (¿algo está degradando ya?).
70
+ 4. Si todo OK, procede con Steering como guía.
71
+ 5. Si dudas, escala según Autonomy Boundaries.
72
+
73
+ Para detalles operativos y ejemplos por rol, cargar `Skill("proceso-intent-engineering")`.
@@ -1,90 +1,90 @@
1
- <!--
2
- Fragmento compartido — Propose-step de adyacencias (Fase 13, ADR-0037)
3
- Importable desde frontmatter de agente: `fragmentos: [_propose-step]`
4
- Usar en orquestador-swl e implementador-swl. NO routable, NO invocable con Skill.
5
- Ver reglas/seguridad-agentes.md y .planning/adrs/0037-propose-step-presupuesto-autonomia.md
6
- -->
7
-
8
- ## Propose-step — proponer adyacencias, nunca actuar
9
-
10
- Separa PROPONER de ACTUAR. Al **cerrar una tarea o fase** (no en cada turno),
11
- evalúas las adyacencias de riesgo del cambio y las emites como **anexo
12
- propositivo**. El anexo NUNCA bloquea ni ejecuta nada: es texto que el usuario
13
- lee y decide si actúa.
14
-
15
- ### Cuándo correr
16
-
17
- - Solo al cerrar una tarea o una fase, sobre el diff de ese cierre.
18
- - Nunca en mitad de la implementación (evita ruido por turno).
19
- - Si `SWL_PROPOSE=0`, el propose-step queda desactivado: silencio total.
20
-
21
- ### Cómo evaluar (mecanizado)
22
-
23
- Ejecuta la lib sobre el diff de la tarea/fase:
24
-
25
- ```bash
26
- node hooks/lib/propose-step.js --rango=HEAD~1..HEAD
27
- ```
28
-
29
- Imprime el anexo solo si detecta ≥1 señal; silencio si no hay nada. Si la lib
30
- no está disponible en el destino, evalúa a mano las 2 señales v1:
31
-
32
- - **auth/PII/pagos**: el diff toca autenticación, datos personales o pagos
33
- (paths `auth/`, `login`, `session`; patrones `password`, `token`, `secret`,
34
- `jwt`, `stripe`, `pago`, `curp`, `rfc`). → Sugerir revisión de seguridad y
35
- tests de autorización.
36
- - **migración de schema**: el diff toca `models/`, `migrations/`, `*.sql`, o
37
- contiene `ALTER/CREATE/DROP TABLE`. → Sugerir plan de rollback /
38
- expand-contract y verificar reversibilidad.
39
-
40
- ### Formato del anexo
41
-
42
- Solo cuando hay señal. Una sección al final del entregable:
43
-
44
- ```
45
- ## Anexo propositivo — adyacencias de riesgo
46
-
47
- Sugerencias, no acciones: nada se ejecuta ni se bloquea automáticamente.
48
-
49
- - [auth-pii-pagos] <título> (<evidencia>) → <acción sugerida>
50
- ```
51
-
52
- Las categorías que la telemetría de aceptación silenció (el usuario las ignora
53
- de forma sostenida) no copan el anexo. La lib lo maneja con
54
- `categoriasSilenciadasPropose`.
55
-
56
- ## Presupuesto de autonomía — proponer libre, actuar con presupuesto
57
-
58
- Antes de **actuar** de forma autónoma, consulta el dial de autonomía en
59
- `instintos/autonomia.yaml` (defaults = `reglas/seguridad-agentes.md`; este
60
- fragmento NO relaja ningún control). Niveles por clase de riesgo:
61
-
62
- | Clase | Nivel default | Qué significa |
63
- |-------|---------------|---------------|
64
- | lectura/análisis | `total` | Autónomo sin checkpoint. |
65
- | cambio reversible | `con_auto_checkpoint` | Autónomo, pero registra un auto-checkpoint ANTES de actuar. |
66
- | migración / auth / push / publish | `hitl` | Confirmación humana siempre. |
67
-
68
- El dial sube **solo por decisión explícita del usuario**, nunca por tu
69
- conveniencia. Un valor desconocido en el dial degrada a `hitl`.
70
-
71
- ### Auto-checkpoint (precondición de cambio reversible)
72
-
73
- Antes de la primera acción autónoma de clase **cambio reversible** de una tarea,
74
- registra el checkpoint mecánico:
75
-
76
- ```bash
77
- node hooks/lib/autonomia.js --accion "<descripción corta de la acción>"
78
- ```
79
-
80
- Registra HEAD + archivos modificados en
81
- `.planning/user-profile/auto-checkpoints.jsonl` como evidencia de rollback (los
82
- commits atómicos son el mecanismo real de reversibilidad). Es best-effort: no
83
- bloquea la acción que protege.
84
-
85
- ### Reglas duras
86
-
87
- - Proponer es siempre permitido; actuar se gobierna por el dial.
88
- - Para clases `hitl` (migración, auth, push, publish): pausa y pide confirmación.
89
- - Nunca degradar silenciosamente: si una adyacencia es de alto impacto, repórtala
90
- en el anexo aunque el dial permita actuar.
1
+ <!--
2
+ Fragmento compartido — Propose-step de adyacencias (Fase 13, ADR-0037)
3
+ Importable desde frontmatter de agente: `fragmentos: [_propose-step]`
4
+ Usar en orquestador-swl e implementador-swl. NO routable, NO invocable con Skill.
5
+ Ver reglas/seguridad-agentes.md y .planning/adrs/0037-propose-step-presupuesto-autonomia.md
6
+ -->
7
+
8
+ ## Propose-step — proponer adyacencias, nunca actuar
9
+
10
+ Separa PROPONER de ACTUAR. Al **cerrar una tarea o fase** (no en cada turno),
11
+ evalúas las adyacencias de riesgo del cambio y las emites como **anexo
12
+ propositivo**. El anexo NUNCA bloquea ni ejecuta nada: es texto que el usuario
13
+ lee y decide si actúa.
14
+
15
+ ### Cuándo correr
16
+
17
+ - Solo al cerrar una tarea o una fase, sobre el diff de ese cierre.
18
+ - Nunca en mitad de la implementación (evita ruido por turno).
19
+ - Si `SWL_PROPOSE=0`, el propose-step queda desactivado: silencio total.
20
+
21
+ ### Cómo evaluar (mecanizado)
22
+
23
+ Ejecuta la lib sobre el diff de la tarea/fase:
24
+
25
+ ```bash
26
+ node hooks/lib/propose-step.js --rango=HEAD~1..HEAD
27
+ ```
28
+
29
+ Imprime el anexo solo si detecta ≥1 señal; silencio si no hay nada. Si la lib
30
+ no está disponible en el destino, evalúa a mano las 2 señales v1:
31
+
32
+ - **auth/PII/pagos**: el diff toca autenticación, datos personales o pagos
33
+ (paths `auth/`, `login`, `session`; patrones `password`, `token`, `secret`,
34
+ `jwt`, `stripe`, `pago`, `curp`, `rfc`). → Sugerir revisión de seguridad y
35
+ tests de autorización.
36
+ - **migración de schema**: el diff toca `models/`, `migrations/`, `*.sql`, o
37
+ contiene `ALTER/CREATE/DROP TABLE`. → Sugerir plan de rollback /
38
+ expand-contract y verificar reversibilidad.
39
+
40
+ ### Formato del anexo
41
+
42
+ Solo cuando hay señal. Una sección al final del entregable:
43
+
44
+ ```
45
+ ## Anexo propositivo — adyacencias de riesgo
46
+
47
+ Sugerencias, no acciones: nada se ejecuta ni se bloquea automáticamente.
48
+
49
+ - [auth-pii-pagos] <título> (<evidencia>) → <acción sugerida>
50
+ ```
51
+
52
+ Las categorías que la telemetría de aceptación silenció (el usuario las ignora
53
+ de forma sostenida) no copan el anexo. La lib lo maneja con
54
+ `categoriasSilenciadasPropose`.
55
+
56
+ ## Presupuesto de autonomía — proponer libre, actuar con presupuesto
57
+
58
+ Antes de **actuar** de forma autónoma, consulta el dial de autonomía en
59
+ `instintos/autonomia.yaml` (defaults = `reglas/seguridad-agentes.md`; este
60
+ fragmento NO relaja ningún control). Niveles por clase de riesgo:
61
+
62
+ | Clase | Nivel default | Qué significa |
63
+ |-------|---------------|---------------|
64
+ | lectura/análisis | `total` | Autónomo sin checkpoint. |
65
+ | cambio reversible | `con_auto_checkpoint` | Autónomo, pero registra un auto-checkpoint ANTES de actuar. |
66
+ | migración / auth / push / publish | `hitl` | Confirmación humana siempre. |
67
+
68
+ El dial sube **solo por decisión explícita del usuario**, nunca por tu
69
+ conveniencia. Un valor desconocido en el dial degrada a `hitl`.
70
+
71
+ ### Auto-checkpoint (precondición de cambio reversible)
72
+
73
+ Antes de la primera acción autónoma de clase **cambio reversible** de una tarea,
74
+ registra el checkpoint mecánico:
75
+
76
+ ```bash
77
+ node hooks/lib/autonomia.js --accion "<descripción corta de la acción>"
78
+ ```
79
+
80
+ Registra HEAD + archivos modificados en
81
+ `.planning/user-profile/auto-checkpoints.jsonl` como evidencia de rollback (los
82
+ commits atómicos son el mecanismo real de reversibilidad). Es best-effort: no
83
+ bloquea la acción que protege.
84
+
85
+ ### Reglas duras
86
+
87
+ - Proponer es siempre permitido; actuar se gobierna por el dial.
88
+ - Para clases `hitl` (migración, auth, push, publish): pausa y pide confirmación.
89
+ - Nunca degradar silenciosamente: si una adyacencia es de alto impacto, repórtala
90
+ en el anexo aunque el dial permita actuar.
package/bin/swl-ses.js CHANGED
@@ -104,6 +104,7 @@ const COMANDOS = {
104
104
  init: '../scripts/inicializar.js',
105
105
  install: '../scripts/instalador.js',
106
106
  doctor: '../scripts/doctor.js',
107
+ 'runtime-doctor': '../scripts/runtime-doctor.js',
107
108
  update: '../scripts/actualizar.js',
108
109
  uninstall: '../scripts/desinstalar.js',
109
110
  prune: '../scripts/prune.js',
@@ -125,6 +126,7 @@ const COMANDOS = {
125
126
  'aprobar-plan': '../scripts/cli/aprobar-plan.js',
126
127
  'verificar-plan': '../scripts/cli/verificar-plan.js',
127
128
  'verificar-trazabilidad': '../scripts/cli/verificar-trazabilidad.js',
129
+ 'migrar-gates-legacy': '../scripts/migrar-gates-legacy.js',
128
130
  'liberar-fase': '../scripts/cli/liberar-fase.js',
129
131
  'propose-step': '../scripts/cli/propose-step.js',
130
132
  'derivar-feature-list': '../scripts/cli/derivar-feature-list.js',
@@ -169,6 +171,12 @@ COMANDOS PRINCIPALES:
169
171
  install Instala componentes. Sin flags: modo asistido interactivo.
170
172
  Con flags: modo directo (ver OPCIONES DE INSTALL).
171
173
  doctor Diagnóstica problemas de instalación
174
+ runtime-doctor [--target=<id>] [--json]
175
+ Diagnóstico read-only de disponibilidad Core-3
176
+ (claude-code|codex-cli|gemini-cli): binario,
177
+ versión, bundle y build-attestation. Nunca
178
+ instala, repara ni evalúa canarios
179
+ conductuales — disponibilidad != certificación.
172
180
  update Actualiza componentes instalados
173
181
  uninstall Desinstala componentes del runtime
174
182
  prune Purga componentes retirados del paquete (dry-run; --confirmar ejecuta)
@@ -218,6 +226,8 @@ COMANDOS PRINCIPALES:
218
226
  mutado/sin-firmar. Usado por /swl:ejecutar-fase.
219
227
  verificar-trazabilidad --fase=N Valida matriz REQ×T→commit→test. Flags:
220
228
  --solo-plan, --json. Usado por /swl:aprobar-plan.
229
+ migrar-gates-legacy --fase=N Migra un PLAN pre-Fase09 con approval Ed25519,
230
+ hashes exactos y evento de integridad anclado.
221
231
  liberar-fase Cierra el gate G0 (borra fase-activa.json). Usado
222
232
  por /swl:ejecutar-fase al terminar.
223
233
  propose-step --rango=A..B Anexo propositivo del RESUMEN de fase (ADR-0037).
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: swl:brainstorm
3
3
  description: Inicia una sesión de brainstorming estructurado para diseñar una feature o solución
4
+ allowed_tools: ["Read", "Write", "Glob", "Grep", "Skill"]
4
5
  ---
5
6
 
6
7
  # /swl:brainstorm