@saulwade/swl-ses 2.5.3 → 2.6.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 (181) hide show
  1. package/CLAUDE.md +192 -192
  2. package/README.md +600 -600
  3. package/agentes/auto-evolucion-swl.md +27 -3
  4. package/bin/swl-ses.js +32 -7
  5. package/comandos/swl/actualizar.md +174 -174
  6. package/comandos/swl/adoptar-proyecto.md +265 -265
  7. package/comandos/swl/aprender.md +836 -823
  8. package/comandos/swl/aprobar-plan.md +146 -146
  9. package/comandos/swl/auditar-deps.md +134 -134
  10. package/comandos/swl/autoresearch.md +264 -264
  11. package/comandos/swl/ayuda.md +224 -224
  12. package/comandos/swl/brainstorm.md +51 -51
  13. package/comandos/swl/briefing.md +119 -119
  14. package/comandos/swl/checkpoint.md +325 -325
  15. package/comandos/swl/claudemd.md +234 -234
  16. package/comandos/swl/compactar.md +310 -310
  17. package/comandos/swl/configurar-ci.md +235 -235
  18. package/comandos/swl/contexto.md +110 -110
  19. package/comandos/swl/contribuir.md +233 -233
  20. package/comandos/swl/crear-skill.md +292 -292
  21. package/comandos/swl/cron.md +194 -194
  22. package/comandos/swl/deuda-codigo.md +97 -97
  23. package/comandos/swl/discutir-fase.md +169 -169
  24. package/comandos/swl/ejecutar-fase.md +233 -233
  25. package/comandos/swl/evaluar-skill.md +520 -505
  26. package/comandos/swl/evolucion-continua.md +73 -0
  27. package/comandos/swl/evolucionar.md +267 -254
  28. package/comandos/swl/exportar-vault.md +583 -583
  29. package/comandos/swl/fix.md +118 -118
  30. package/comandos/swl/gateway.md +158 -158
  31. package/comandos/swl/inbox.md +116 -116
  32. package/comandos/swl/instalar.md +220 -220
  33. package/comandos/swl/instintos.md +86 -86
  34. package/comandos/swl/mapear-codebase.md +312 -312
  35. package/comandos/swl/mcp-status.md +175 -175
  36. package/comandos/swl/modelo.md +100 -100
  37. package/comandos/swl/nemesis.md +433 -433
  38. package/comandos/swl/notificaciones.md +299 -299
  39. package/comandos/swl/nuevo-proyecto.md +251 -251
  40. package/comandos/swl/planear-fase.md +263 -263
  41. package/comandos/swl/plugins.md +256 -256
  42. package/comandos/swl/predecir.md +169 -169
  43. package/comandos/swl/reflect-skills.md +125 -125
  44. package/comandos/swl/release.md +450 -450
  45. package/comandos/swl/revisar-impacto.md +201 -201
  46. package/comandos/swl/revisar.md +330 -330
  47. package/comandos/swl/seguridad.md +189 -189
  48. package/comandos/swl/sesiones.md +200 -200
  49. package/comandos/swl/skill-search.md +113 -113
  50. package/comandos/swl/status.md +343 -343
  51. package/comandos/swl/verificar.md +817 -817
  52. package/comandos/swl/wiki.md +620 -620
  53. package/gateway/cron/jobs.example.json +12 -0
  54. package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -276
  55. package/habilidades/autoresearch/SKILL.md +3 -2
  56. package/habilidades/benchmark-memoria/SKILL.md +7 -7
  57. package/habilidades/changelog-generator/SKILL.md +174 -174
  58. package/habilidades/changelog-generator/scripts/parse-commits.js +2 -1
  59. package/habilidades/checkpoints-verificacion/SKILL.md +6 -0
  60. package/habilidades/context-builder/SKILL.md +4 -0
  61. package/habilidades/doubt-driven-review/SKILL.md +207 -191
  62. package/habilidades/drift-detection/SKILL.md +6 -1
  63. package/habilidades/ejecutar-fase/SKILL.md +6 -6
  64. package/habilidades/eval-framework/SKILL.md +8 -3
  65. package/habilidades/harness-claude-code/SKILL.md +312 -308
  66. package/habilidades/infra-github-actions/SKILL.md +4 -3
  67. package/habilidades/instalar-sistema/SKILL.md +227 -223
  68. package/habilidades/memoria-busqueda/SKILL.md +31 -39
  69. package/habilidades/planear-fase/SKILL.md +358 -350
  70. package/habilidades/proceso-ddia-fundamentos/SKILL.md +3 -2
  71. package/habilidades/swl-claudemd/SKILL.md +6 -7
  72. package/habilidades/swl-dashboard/SKILL.md +11 -43
  73. package/habilidades/tdd-workflow/SKILL.md +749 -744
  74. package/habilidades/validacion-ci-sistema/SKILL.md +1 -1
  75. package/hooks/agente-lifecycle.js +2 -1
  76. package/hooks/aiisms-detector.js +13 -4
  77. package/hooks/audit-trail.js +2 -1
  78. package/hooks/auto-consolidacion.js +2 -1
  79. package/hooks/captura-acciones-post.js +2 -1
  80. package/hooks/captura-acciones-session.js +2 -1
  81. package/hooks/captura-feedback-usuario.js +3 -2
  82. package/hooks/claudemd-bloat-detector.js +12 -3
  83. package/hooks/claudemd-duplicacion-detector.js +13 -3
  84. package/hooks/contexto-iteracion.js +2 -1
  85. package/hooks/degradacion-instintos.js +2 -1
  86. package/hooks/extraccion-aprendizajes.js +109 -15
  87. package/hooks/grafo-contexto.js +2 -1
  88. package/hooks/guardrail-modelo.js +2 -1
  89. package/hooks/inbox-aviso.js +2 -1
  90. package/hooks/inyeccion-contexto.js +2 -1
  91. package/hooks/lib/agent-matcher.js +2 -1
  92. package/hooks/lib/agent-routing.js +2 -1
  93. package/hooks/lib/autonomia.js +5 -3
  94. package/hooks/lib/captura-acciones.js +2 -1
  95. package/hooks/lib/consolidation-lock.js +21 -10
  96. package/hooks/lib/etapa-auto-evolucion.js +10 -4
  97. package/hooks/lib/etapa-metricas.js +2 -1
  98. package/hooks/lib/etapa-perfil-usuario.js +20 -4
  99. package/hooks/lib/evolution-tracker.js +2 -1
  100. package/hooks/lib/gateway-notify.js +193 -179
  101. package/hooks/lib/loop-telemetry.js +5 -4
  102. package/hooks/lib/mcp-health.js +2 -1
  103. package/hooks/lib/memory-search.js +4 -0
  104. package/hooks/lib/merkle-audit.js +58 -6
  105. package/hooks/lib/nudge-tracker.js +2 -1
  106. package/hooks/lib/otlp-exporter.js +2 -1
  107. package/hooks/lib/propose-step.js +3 -2
  108. package/hooks/lib/raiz-proyecto.js +102 -0
  109. package/hooks/lib/run-log.js +2 -1
  110. package/hooks/lib/singleton-guard.js +218 -27
  111. package/hooks/lib/telegram-cliente.js +17 -8
  112. package/hooks/preservar-estado-pre-compact.js +2 -1
  113. package/hooks/proteccion-rutas.js +59 -3
  114. package/hooks/registro-turnos.js +2 -1
  115. package/hooks/resumen-sesion.js +2 -1
  116. package/hooks/risk-scoring.js +2 -1
  117. package/hooks/rotar-audit-auto.js +46 -20
  118. package/hooks/session-briefing.js +127 -1
  119. package/hooks/spec-gate.js +2 -1
  120. package/hooks/sugerir-contribuir.js +6 -3
  121. package/hooks/sugerir-regenerar-inventario.js +3 -2
  122. package/hooks/tdd-gate.js +2 -1
  123. package/hooks/telemetria-agentes.js +2 -1
  124. package/hooks/telemetria-skill-routing.js +2 -1
  125. package/hooks/tracking-costos.js +4 -3
  126. package/hooks/validar-formato-post-subagente.js +2 -1
  127. package/hooks/validar-intent-spec.js +2 -1
  128. package/hooks/validar-memoria-hook.js +13 -3
  129. package/hooks/validar-planning-paths.js +2 -1
  130. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +53 -0
  131. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +372 -0
  132. package/instintos/perfil-usuario.yaml +506 -3
  133. package/instintos/proyecto.yaml +78 -0
  134. package/llms.txt +2 -2
  135. package/manifiestos/canonical-hashes.json +335 -3
  136. package/manifiestos/modulos.json +19 -14
  137. package/manifiestos/planning-paths.json +1 -0
  138. package/manifiestos/skills-lock.json +50 -50
  139. package/package.json +2 -3
  140. package/plugin.json +2 -2
  141. package/scripts/actualizar.js +3 -0
  142. package/scripts/auditar-clases-conocidas.js +32 -4
  143. package/scripts/benchmark-memoria.js +1 -0
  144. package/scripts/cli/autonomia.js +23 -0
  145. package/scripts/cli/benchmark-memoria.js +37 -0
  146. package/scripts/cli/ciclo-autonomo.js +73 -0
  147. package/scripts/cli/ciclo-fase-b.js +102 -0
  148. package/scripts/cli/guardrail-metrics.js +39 -0
  149. package/scripts/cli/loop-telemetry.js +4 -2
  150. package/scripts/cli/memoria-search.js +69 -0
  151. package/scripts/cli/nudge-accionar.js +39 -0
  152. package/scripts/cli/run-eval.js +38 -0
  153. package/scripts/cli/run-skill-evals.js +13 -2
  154. package/scripts/derivar-feature-list.js +15 -14
  155. package/scripts/desinstalar.js +11 -0
  156. package/scripts/doctor.js +24 -10
  157. package/scripts/instalador.js +85 -7
  158. package/scripts/lib/activar-hooks-proyecto.js +12 -0
  159. package/scripts/lib/auditar-invocaciones-comandos.js +96 -6
  160. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -0
  161. package/scripts/lib/ciclo-autonomo/config.js +165 -0
  162. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -0
  163. package/scripts/lib/ciclo-autonomo/fallback.js +77 -0
  164. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -0
  165. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -0
  166. package/scripts/lib/ciclo-autonomo/index.js +301 -0
  167. package/scripts/lib/ciclo-autonomo/lock.js +124 -0
  168. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -0
  169. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -0
  170. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -0
  171. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -0
  172. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +535 -0
  173. package/scripts/lib/estado.js +9 -0
  174. package/scripts/lib/gitignore-manifest.js +8 -1
  175. package/scripts/lib/hooks-settings.js +45 -0
  176. package/scripts/rotar-audit-logs.js +48 -2
  177. package/scripts/run-eval.js +1 -0
  178. package/scripts/run-skill-evals.js +287 -8
  179. package/scripts/smoke-test.js +16 -8
  180. package/scripts/tui/pantallas/install-wizard.js +403 -347
  181. package/scripts/validar.js +40 -1
@@ -20,6 +20,9 @@ instintos:
20
20
  tags: ["decision", "arquitectura"]
21
21
  created_at: "2026-04-19"
22
22
  seccion_origen: "Decisiones de arquitectura"
23
+ effective_confidence: 0.362
24
+ maturity: "candidate"
25
+ origen: "ciclo-autonomo"
23
26
 
24
27
  - id: inst-002
25
28
  pattern: "Pipeline mobile"
@@ -34,6 +37,9 @@ instintos:
34
37
  tags: ["decision", "arquitectura"]
35
38
  created_at: "2026-04-19"
36
39
  seccion_origen: "Decisiones de arquitectura"
40
+ effective_confidence: 0.362
41
+ maturity: "candidate"
42
+ origen: "ciclo-autonomo"
37
43
 
38
44
  - id: inst-003
39
45
  pattern: "Fragmentación de criterio en CLAUDE.md"
@@ -48,6 +54,9 @@ instintos:
48
54
  tags: ["decision", "arquitectura"]
49
55
  created_at: "2026-04-19"
50
56
  seccion_origen: "Decisiones de arquitectura"
57
+ effective_confidence: 0.362
58
+ maturity: "candidate"
59
+ origen: "ciclo-autonomo"
51
60
 
52
61
  - id: inst-004
53
62
  pattern: "Preservación de evoluciones en actualización"
@@ -62,6 +71,9 @@ instintos:
62
71
  tags: ["decision", "arquitectura"]
63
72
  created_at: "2026-04-19"
64
73
  seccion_origen: "Decisiones de arquitectura"
74
+ effective_confidence: 0.373
75
+ maturity: "candidate"
76
+ origen: "ciclo-autonomo"
65
77
 
66
78
  - id: inst-005
67
79
  pattern: "CLAUDE.md lean reduce 77% de tokens por turno"
@@ -76,6 +88,9 @@ instintos:
76
88
  tags: ["decision", "arquitectura"]
77
89
  created_at: "2026-04-19"
78
90
  seccion_origen: "Decisiones de arquitectura"
91
+ effective_confidence: 0.376
92
+ maturity: "candidate"
93
+ origen: "ciclo-autonomo"
79
94
 
80
95
  - id: inst-006
81
96
  pattern: "Detección automática de stack tecnológico"
@@ -90,6 +105,9 @@ instintos:
90
105
  tags: ["decision", "arquitectura"]
91
106
  created_at: "2026-04-19"
92
107
  seccion_origen: "Decisiones de arquitectura"
108
+ effective_confidence: 0.385
109
+ maturity: "candidate"
110
+ origen: "ciclo-autonomo"
93
111
 
94
112
  - id: inst-007
95
113
  pattern: "stderr en hooks causa error en Claude Code"
@@ -104,6 +122,9 @@ instintos:
104
122
  tags: ["anti-patron"]
105
123
  created_at: "2026-04-19"
106
124
  seccion_origen: "Anti-patrones detectados"
125
+ effective_confidence: 0.324
126
+ maturity: "candidate"
127
+ origen: "ciclo-autonomo"
107
128
 
108
129
  - id: inst-008
109
130
  pattern: "Hook que bloquea por error interno"
@@ -118,6 +139,9 @@ instintos:
118
139
  tags: ["anti-patron"]
119
140
  created_at: "2026-04-19"
120
141
  seccion_origen: "Anti-patrones detectados"
142
+ effective_confidence: 0.324
143
+ maturity: "candidate"
144
+ origen: "ciclo-autonomo"
121
145
 
122
146
  - id: inst-009
123
147
  pattern: "Archivos evolucionados sin marcar"
@@ -132,6 +156,9 @@ instintos:
132
156
  tags: ["anti-patron"]
133
157
  created_at: "2026-04-19"
134
158
  seccion_origen: "Anti-patrones detectados"
159
+ effective_confidence: 0.327
160
+ maturity: "candidate"
161
+ origen: "ciclo-autonomo"
135
162
 
136
163
  - id: inst-010
137
164
  pattern: "Agente debilita config de linter en vez de corregir código"
@@ -146,6 +173,9 @@ instintos:
146
173
  tags: ["anti-patron"]
147
174
  created_at: "2026-04-19"
148
175
  seccion_origen: "Anti-patrones detectados"
176
+ effective_confidence: 0.337
177
+ maturity: "candidate"
178
+ origen: "ciclo-autonomo"
149
179
 
150
180
  - id: inst-011
151
181
  pattern: "`.claude/settings.json` no se commitea — hooks deben auto-documentarse"
@@ -160,6 +190,9 @@ instintos:
160
190
  tags: ["anti-patron"]
161
191
  created_at: "2026-04-19"
162
192
  seccion_origen: "Anti-patrones detectados"
193
+ effective_confidence: 0.347
194
+ maturity: "candidate"
195
+ origen: "ciclo-autonomo"
163
196
 
164
197
  - id: inst-012
165
198
  pattern: "Verificar existencia de skills antes de crear nuevos"
@@ -174,6 +207,9 @@ instintos:
174
207
  tags: ["anti-patron"]
175
208
  created_at: "2026-04-19"
176
209
  seccion_origen: "Anti-patrones detectados"
210
+ effective_confidence: 0.347
211
+ maturity: "candidate"
212
+ origen: "ciclo-autonomo"
177
213
 
178
214
  - id: inst-013
179
215
  pattern: "Patrones SQLAlchemy async"
@@ -188,6 +224,9 @@ instintos:
188
224
  tags: ["patron"]
189
225
  created_at: "2026-04-19"
190
226
  seccion_origen: "Patrones exitosos"
227
+ effective_confidence: 0.271
228
+ maturity: "candidate"
229
+ origen: "ciclo-autonomo"
191
230
 
192
231
  - id: inst-014
193
232
  pattern: "Circuit breaker en hooks"
@@ -202,6 +241,9 @@ instintos:
202
241
  tags: ["patron"]
203
242
  created_at: "2026-04-19"
204
243
  seccion_origen: "Patrones exitosos"
244
+ effective_confidence: 0.278
245
+ maturity: "candidate"
246
+ origen: "ciclo-autonomo"
205
247
 
206
248
  - id: inst-015
207
249
  pattern: "Auto-consolidación patrón autoDream"
@@ -216,6 +258,9 @@ instintos:
216
258
  tags: ["patron"]
217
259
  created_at: "2026-04-19"
218
260
  seccion_origen: "Patrones exitosos"
261
+ effective_confidence: 0.28
262
+ maturity: "candidate"
263
+ origen: "ciclo-autonomo"
219
264
 
220
265
  - id: inst-016
221
266
  pattern: "toolBudget por agente"
@@ -230,6 +275,9 @@ instintos:
230
275
  tags: ["patron"]
231
276
  created_at: "2026-04-19"
232
277
  seccion_origen: "Patrones exitosos"
278
+ effective_confidence: 0.289
279
+ maturity: "candidate"
280
+ origen: "ciclo-autonomo"
233
281
 
234
282
  - id: inst-017
235
283
  pattern: "Write-complete-test-once para slices simples"
@@ -244,6 +292,9 @@ instintos:
244
292
  tags: ["patron"]
245
293
  created_at: "2026-04-19"
246
294
  seccion_origen: "Patrones exitosos"
295
+ effective_confidence: 0.289
296
+ maturity: "candidate"
297
+ origen: "ciclo-autonomo"
247
298
 
248
299
  - id: inst-018
249
300
  pattern: "Clasificación automática de mensajes del usuario"
@@ -258,6 +309,9 @@ instintos:
258
309
  tags: ["patron"]
259
310
  created_at: "2026-04-19"
260
311
  seccion_origen: "Patrones exitosos"
312
+ effective_confidence: 0.289
313
+ maturity: "candidate"
314
+ origen: "ciclo-autonomo"
261
315
 
262
316
  - id: inst-019
263
317
  pattern: "Filtro de dominio ANTES de analizar repos externos"
@@ -272,6 +326,9 @@ instintos:
272
326
  tags: ["patron"]
273
327
  created_at: "2026-04-19"
274
328
  seccion_origen: "Patrones exitosos"
329
+ effective_confidence: 0.298
330
+ maturity: "candidate"
331
+ origen: "ciclo-autonomo"
275
332
 
276
333
  - id: inst-020
277
334
  pattern: "`package-lock.json` retiene versión anterior tras bump [CONFIRMADO x2]"
@@ -286,6 +343,9 @@ instintos:
286
343
  tags: ["gotcha"]
287
344
  created_at: "2026-04-19"
288
345
  seccion_origen: "Gotchas del sistema"
346
+ effective_confidence: 0.28
347
+ maturity: "candidate"
348
+ origen: "ciclo-autonomo"
289
349
 
290
350
  - id: inst-021
291
351
  pattern: "APRENDIZAJES.md se infla con contenido no-accionable [CONFIRMADO x2]"
@@ -300,6 +360,9 @@ instintos:
300
360
  tags: ["gotcha"]
301
361
  created_at: "2026-04-19"
302
362
  seccion_origen: "Gotchas del sistema"
363
+ effective_confidence: 0.289
364
+ maturity: "candidate"
365
+ origen: "ciclo-autonomo"
303
366
 
304
367
  - id: inst-022
305
368
  pattern: "Versión debe actualizarse en 15+ archivos — integrar checklist en `/swl:release` [CONFIRMADO x3]"
@@ -314,6 +377,9 @@ instintos:
314
377
  tags: ["gotcha"]
315
378
  created_at: "2026-04-19"
316
379
  seccion_origen: "Gotchas del sistema"
380
+ effective_confidence: 0.289
381
+ maturity: "candidate"
382
+ origen: "ciclo-autonomo"
317
383
 
318
384
  - id: inst-023
319
385
  pattern: "Skills fantasma en `skillsInvocables` rompen el grafo de dependencias"
@@ -328,6 +394,9 @@ instintos:
328
394
  tags: ["gotcha"]
329
395
  created_at: "2026-04-19"
330
396
  seccion_origen: "Gotchas del sistema"
397
+ effective_confidence: 0.302
398
+ maturity: "candidate"
399
+ origen: "ciclo-autonomo"
331
400
 
332
401
  - id: inst-024
333
402
  pattern: "Truncación de reportes de diagnóstico oculta problemas reales"
@@ -342,6 +411,9 @@ instintos:
342
411
  tags: ["gotcha"]
343
412
  created_at: "2026-04-19"
344
413
  seccion_origen: "Gotchas del sistema"
414
+ effective_confidence: 0.302
415
+ maturity: "candidate"
416
+ origen: "ciclo-autonomo"
345
417
 
346
418
  - id: inst-025
347
419
  pattern: "`skillsInvocables: todos` debe expandirse a aristas reales en el grafo"
@@ -356,6 +428,9 @@ instintos:
356
428
  tags: ["gotcha"]
357
429
  created_at: "2026-04-19"
358
430
  seccion_origen: "Gotchas del sistema"
431
+ effective_confidence: 0.302
432
+ maturity: "candidate"
433
+ origen: "ciclo-autonomo"
359
434
 
360
435
  - id: inst-026
361
436
  pattern: "Formato mixto YAML-lista + CSV en `skillsInvocables` causa parsing roto"
@@ -370,3 +445,6 @@ instintos:
370
445
  tags: ["gotcha"]
371
446
  created_at: "2026-04-19"
372
447
  seccion_origen: "Gotchas del sistema"
448
+ effective_confidence: 0.302
449
+ maturity: "candidate"
450
+ origen: "ciclo-autonomo"
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # swl-ses (@saulwade/swl-ses)
2
2
 
3
- > Sistema de ingeniería de software auto-evolutivo multi-runtime polyglot (SDLC completo), distribuido como paquete npm y plugin de Claude Code. 61 agentes, 181 habilidades, 47 comandos, 37 reglas base y 49 hooks. Soporta 11 lenguajes y 7 runtimes (Claude Code, OpenClaude, OpenCode, Gemini, Cursor, Codex, Copilot). Versión 2.5.3.
3
+ > Sistema de ingeniería de software auto-evolutivo multi-runtime polyglot (SDLC completo), distribuido como paquete npm y plugin de Claude Code. 61 agentes, 181 habilidades, 48 comandos, 37 reglas base y 49 hooks. Soporta 11 lenguajes y 7 runtimes (Claude Code, OpenClaude, OpenCode, Gemini, Cursor, Codex, Copilot). Versión 2.6.0.
4
4
 
5
5
  Archivo generado por `node scripts/generar-inventario.js` — no editar a mano. Las cifras se sincronizan con INVENTARIO.md en cada regeneración.
6
6
 
@@ -18,7 +18,7 @@ Archivo generado por `node scripts/generar-inventario.js` — no editar a mano.
18
18
 
19
19
  - [61 agentes especializados](AGENTS.md): orquestación, implementación por stack, revisión, calidad, diseño — fuente en `agentes/`
20
20
  - [181 habilidades cargables bajo demanda](INVENTARIO.md): conocimiento operacional con divulgación progresiva — fuente en `habilidades/`
21
- - [47 comandos /swl:*](COMANDOS.md): ciclo GSD, calidad, release, diagnóstico — fuente en `comandos/swl/`
21
+ - [48 comandos /swl:*](COMANDOS.md): ciclo GSD, calidad, release, diagnóstico — fuente en `comandos/swl/`
22
22
  - [37 reglas base + 40 por lenguaje](INVENTARIO.md): políticas obligatorias por matcher — fuente en `reglas/`
23
23
  - [49 hooks](INVENTARIO.md): telemetría, validación, seguridad; zero-deps, escrituras atómicas — fuente en `hooks/`
24
24