@saulwade/swl-ses 2.6.0 → 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 (435) hide show
  1. package/CLAUDE.md +209 -197
  2. package/README.md +647 -600
  3. package/agentes/accesibilidad-wcag-swl.md +690 -690
  4. package/agentes/arquitecto-swl.md +267 -267
  5. package/agentes/auto-evolucion-swl.md +932 -932
  6. package/agentes/backend-csharp-swl.md +420 -420
  7. package/agentes/backend-go-swl.md +390 -390
  8. package/agentes/backend-java-swl.md +281 -281
  9. package/agentes/backend-rust-swl.md +364 -364
  10. package/agentes/backend-workers-swl.md +482 -482
  11. package/agentes/cloud-infra-swl.md +509 -509
  12. package/agentes/consolidador-swl.md +541 -541
  13. package/agentes/depurador-swl.md +352 -352
  14. package/agentes/devops-ci-swl.md +400 -400
  15. package/agentes/disenador-ui-swl.md +569 -569
  16. package/agentes/documentador-swl.md +345 -345
  17. package/agentes/frontend-angular-swl.md +621 -621
  18. package/agentes/frontend-css-swl.md +716 -716
  19. package/agentes/frontend-react-swl.md +692 -692
  20. package/agentes/frontend-swl.md +496 -496
  21. package/agentes/frontend-tailwind-swl.md +826 -826
  22. package/agentes/investigador-swl.md +432 -432
  23. package/agentes/investigador-ux-swl.md +505 -505
  24. package/agentes/migrador-swl.md +442 -442
  25. package/agentes/mobile-android-swl.md +511 -511
  26. package/agentes/mobile-cross-swl.md +541 -541
  27. package/agentes/mobile-ios-swl.md +502 -502
  28. package/agentes/mobile-testing-swl.md +302 -302
  29. package/agentes/nemesis-auditor-swl.md +285 -285
  30. package/agentes/observabilidad-swl.md +438 -438
  31. package/agentes/pagos-swl.md +310 -310
  32. package/agentes/perfilador-usuario-swl.md +321 -321
  33. package/agentes/planificador-swl.md +399 -399
  34. package/agentes/producto-prd-swl.md +589 -589
  35. package/agentes/red-team-swl.md +218 -218
  36. package/agentes/release-manager-swl.md +590 -590
  37. package/agentes/rendimiento-swl.md +713 -713
  38. package/agentes/revisor-angular-swl.md +278 -278
  39. package/agentes/revisor-csharp-swl.md +264 -264
  40. package/agentes/revisor-go-swl.md +259 -259
  41. package/agentes/revisor-java-swl.md +257 -257
  42. package/agentes/revisor-kotlin-swl.md +273 -273
  43. package/agentes/revisor-nextjs-swl.md +281 -281
  44. package/agentes/revisor-php-swl.md +271 -271
  45. package/agentes/revisor-react-swl.md +278 -278
  46. package/agentes/revisor-rust-swl.md +346 -346
  47. package/agentes/revisor-seguridad-swl.md +399 -399
  48. package/agentes/revisor-swift-swl.md +268 -268
  49. package/agentes/revisor-typescript-swl.md +346 -346
  50. package/agentes/tdd-qa-swl.md +393 -393
  51. package/bin/swl-ses.js +10 -0
  52. package/comandos/swl/actualizar.md +174 -174
  53. package/comandos/swl/adoptar-proyecto.md +265 -265
  54. package/comandos/swl/aprender.md +836 -836
  55. package/comandos/swl/aprobar-plan.md +146 -146
  56. package/comandos/swl/auditar-deps.md +134 -134
  57. package/comandos/swl/autoresearch.md +264 -264
  58. package/comandos/swl/ayuda.md +224 -224
  59. package/comandos/swl/brainstorm.md +52 -51
  60. package/comandos/swl/checkpoint.md +325 -325
  61. package/comandos/swl/claudemd.md +234 -234
  62. package/comandos/swl/compactar.md +310 -310
  63. package/comandos/swl/configurar-ci.md +235 -235
  64. package/comandos/swl/contexto.md +110 -110
  65. package/comandos/swl/crear-skill.md +292 -292
  66. package/comandos/swl/cron.md +194 -194
  67. package/comandos/swl/deuda-codigo.md +97 -97
  68. package/comandos/swl/discutir-fase.md +169 -169
  69. package/comandos/swl/ejecutar-fase.md +233 -233
  70. package/comandos/swl/evaluar-skill.md +520 -520
  71. package/comandos/swl/evolucion-continua.md +73 -73
  72. package/comandos/swl/evolucionar.md +267 -267
  73. package/comandos/swl/exportar-vault.md +583 -583
  74. package/comandos/swl/fix.md +118 -118
  75. package/comandos/swl/gateway.md +158 -158
  76. package/comandos/swl/inbox.md +116 -116
  77. package/comandos/swl/instalar.md +220 -220
  78. package/comandos/swl/instintos.md +86 -86
  79. package/comandos/swl/mapear-codebase.md +312 -312
  80. package/comandos/swl/mcp-status.md +176 -175
  81. package/comandos/swl/modelo.md +100 -100
  82. package/comandos/swl/nemesis.md +433 -433
  83. package/comandos/swl/notificaciones.md +299 -299
  84. package/comandos/swl/nuevo-proyecto.md +251 -251
  85. package/comandos/swl/planear-fase.md +263 -263
  86. package/comandos/swl/plugins.md +256 -256
  87. package/comandos/swl/predecir.md +169 -169
  88. package/comandos/swl/reflect-skills.md +125 -125
  89. package/comandos/swl/release.md +450 -450
  90. package/comandos/swl/revisar-impacto.md +201 -201
  91. package/comandos/swl/revisar.md +330 -330
  92. package/comandos/swl/seguridad.md +189 -189
  93. package/comandos/swl/sesiones.md +200 -200
  94. package/comandos/swl/skill-search.md +113 -113
  95. package/comandos/swl/status.md +345 -345
  96. package/comandos/swl/verificar.md +817 -817
  97. package/comandos/swl/wiki.md +620 -620
  98. package/gateway/cron/jobs.example.json +12 -12
  99. package/gateway/lib/event-channel.js +191 -191
  100. package/habilidades/agent-deep-links/SKILL.md +148 -148
  101. package/habilidades/auto-evolucion-protocolo/SKILL.md +294 -294
  102. package/habilidades/backend-async-postgres-testing/SKILL.md +216 -215
  103. package/habilidades/backend-error-design/SKILL.md +221 -221
  104. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  105. package/habilidades/calidad-anti-patrones-universales/SKILL.md +105 -1
  106. package/habilidades/calidad-contract-testing/SKILL.md +165 -165
  107. package/habilidades/calidad-mutation-testing/SKILL.md +25 -1
  108. package/habilidades/changelog-generator/SKILL.md +174 -174
  109. package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
  110. package/habilidades/ci-cd-pipelines/SKILL.md +5 -1
  111. package/habilidades/compactacion-contexto/SKILL.md +2 -1
  112. package/habilidades/contenedores-docker/SKILL.md +4 -2
  113. package/habilidades/css-moderno/SKILL.md +7 -1
  114. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  115. package/habilidades/doubt-driven-review/SKILL.md +207 -207
  116. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  117. package/habilidades/drift-detection/SKILL.md +1 -1
  118. package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
  119. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
  120. package/habilidades/extractor-de-aprendizajes/SKILL.md +12 -2
  121. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  122. package/habilidades/git-worktrees-paralelo/SKILL.md +19 -1
  123. package/habilidades/harness-claude-code/SKILL.md +315 -314
  124. package/habilidades/instalar-sistema/SKILL.md +227 -227
  125. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  126. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  127. package/habilidades/perfil-usuario/SKILL.md +200 -200
  128. package/habilidades/planear-fase/SKILL.md +358 -358
  129. package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
  130. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
  131. package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
  132. package/habilidades/proceso-dynamic-workflows/SKILL.md +60 -0
  133. package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
  134. package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
  135. package/habilidades/proceso-ingenieria-requerimientos/SKILL.md +147 -147
  136. package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
  137. package/habilidades/proceso-modular-split/SKILL.md +256 -256
  138. package/habilidades/release-semver/SKILL.md +2 -2
  139. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  140. package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
  141. package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
  142. package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
  143. package/habilidades/tdd-workflow/SKILL.md +749 -749
  144. package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
  145. package/hooks/agente-lifecycle.js +1 -1
  146. package/hooks/audit-trail.js +1 -1
  147. package/hooks/auto-consolidacion.js +1 -1
  148. package/hooks/calidad-pre-commit.js +159 -10
  149. package/hooks/captura-acciones-post.js +1 -1
  150. package/hooks/captura-acciones-session.js +1 -1
  151. package/hooks/captura-feedback-usuario.js +1 -1
  152. package/hooks/ciclo-evolucion-subagente.js +26 -26
  153. package/hooks/ciclo-evolucion.js +26 -26
  154. package/hooks/contexto-iteracion.js +1 -1
  155. package/hooks/degradacion-instintos.js +1 -1
  156. package/hooks/grafo-contexto.js +1 -1
  157. package/hooks/guardrail-modelo.js +1 -1
  158. package/hooks/inbox-aviso.js +1 -1
  159. package/hooks/inyeccion-contexto.js +1 -1
  160. package/hooks/lib/agent-matcher.js +1 -1
  161. package/hooks/lib/agent-routing.js +1 -1
  162. package/hooks/lib/auto-consolidator.js +335 -335
  163. package/hooks/lib/captura-acciones.js +1 -1
  164. package/hooks/lib/ciclo-evolucion.js +47 -47
  165. package/hooks/lib/deep-links.js +185 -185
  166. package/hooks/lib/error-classifier.js +308 -308
  167. package/hooks/lib/etapa-metricas.js +1 -1
  168. package/hooks/lib/evolution-tracker.js +1 -1
  169. package/hooks/lib/gateway-notify.js +193 -193
  170. package/hooks/lib/mcp-health.js +1 -1
  171. package/hooks/lib/notificacion-formato.js +92 -0
  172. package/hooks/lib/nudge-tracker.js +1 -1
  173. package/hooks/lib/otlp-exporter.js +1 -1
  174. package/hooks/lib/propose-step.js +1 -1
  175. package/hooks/lib/provenance-tracker.js +191 -191
  176. package/hooks/lib/raiz-proyecto.js +158 -102
  177. package/hooks/lib/resource-quota.js +122 -122
  178. package/hooks/lib/retry-jitter.js +165 -165
  179. package/hooks/lib/run-log.js +1 -1
  180. package/hooks/lib/security-net.js +201 -201
  181. package/hooks/lib/singleton-guard.js +20 -13
  182. package/hooks/lib/skill-auditor.js +588 -588
  183. package/hooks/lib/sync-status.js +228 -228
  184. package/hooks/lib/taint-tracker.js +107 -107
  185. package/hooks/lib/telegram-cliente.js +11 -3
  186. package/hooks/lib/text-similarity.js +241 -241
  187. package/hooks/lib/toon-compressor.js +245 -245
  188. package/hooks/notificacion-telegram.js +17 -13
  189. package/hooks/preservar-estado-pre-compact.js +1 -1
  190. package/hooks/registro-turnos.js +1 -1
  191. package/hooks/resumen-sesion.js +1 -1
  192. package/hooks/risk-scoring.js +1 -1
  193. package/hooks/session-briefing.js +13 -5
  194. package/hooks/spec-gate.js +1 -1
  195. package/hooks/sugerir-regenerar-inventario.js +1 -1
  196. package/hooks/tdd-gate.js +1 -1
  197. package/hooks/telemetria-agentes.js +1 -1
  198. package/hooks/telemetria-skill-routing.js +1 -1
  199. package/hooks/tracking-costos.js +1 -1
  200. package/hooks/validar-formato-post-subagente.js +1 -1
  201. package/hooks/validar-intent-spec.js +1 -1
  202. package/hooks/validar-planning-paths.js +1 -1
  203. package/instintos/autonomia.yaml +27 -27
  204. package/instintos/prompt-appendices.yaml +57 -57
  205. package/llms.txt +29 -29
  206. package/manifiestos/agent-output-schemas.json +57 -57
  207. package/manifiestos/canonical-hashes.json +6250 -5257
  208. package/manifiestos/harness-ir.json +47536 -0
  209. package/manifiestos/modulos.json +1429 -1428
  210. package/manifiestos/policy-bundle.json +2065 -0
  211. package/manifiestos/policy-corpus-w2.json +3926 -0
  212. package/manifiestos/runtime-adapters-core3.json +208 -0
  213. package/manifiestos/runtime-conformance.json +139 -0
  214. package/manifiestos/skills-lock.json +1275 -1275
  215. package/package.json +94 -94
  216. package/plantillas/auditor-veto-template.md +105 -105
  217. package/plantillas/github-workflows/release-please.yml +44 -44
  218. package/plantillas/github-workflows/swl-ci.yml +107 -107
  219. package/plantillas/github-workflows/swl-security.yml +51 -51
  220. package/plugin.json +369 -369
  221. package/reglas/accesibilidad.md +10 -10
  222. package/reglas/auditorias-documentales-estructurales.md +7 -7
  223. package/reglas/cloud-infra.md +8 -8
  224. package/reglas/consultar-vault-primero.md +195 -195
  225. package/reglas/git-workflow.md +1 -0
  226. package/reglas/hooks.md +6 -6
  227. package/reglas/intent-engineering.md +218 -218
  228. package/reglas/markitdown.md +8 -8
  229. package/reglas/monitor-ci.md +12 -0
  230. package/reglas/patrones.md +6 -6
  231. package/reglas/testing.md +7 -7
  232. package/reglas/tests-cleanup.md +224 -224
  233. package/schemas/agent-message.schema.json +73 -73
  234. package/schemas/agent-output-implementacion.schema.json +114 -114
  235. package/schemas/agent-output-planificacion.schema.json +150 -150
  236. package/schemas/agent-output-review.schema.json +98 -98
  237. package/schemas/diary-entry.schema.json +112 -112
  238. package/schemas/gate-state.schema.json +76 -0
  239. package/schemas/harness-ir.schema.json +369 -0
  240. package/schemas/hook-profiles.schema.json +54 -54
  241. package/schemas/hooks-config.schema.json +89 -89
  242. package/schemas/legacy-gates.schema.json +45 -0
  243. package/schemas/modulos.schema.json +38 -38
  244. package/schemas/perfiles.schema.json +36 -36
  245. package/schemas/plugin.schema.json +77 -77
  246. package/schemas/policy-bundle.schema.json +140 -0
  247. package/schemas/policy-enforcement.schema.json +117 -0
  248. package/schemas/policy-operation.schema.json +261 -0
  249. package/schemas/runtime-adapter.schema.json +176 -0
  250. package/schemas/runtime-build-attestation.schema.json +100 -0
  251. package/schemas/runtime-conformance.schema.json +239 -0
  252. package/schemas/runtime-diagnostic.schema.json +395 -0
  253. package/schemas/skill-evals.schema.json +119 -119
  254. package/schemas/skill-frontmatter.schema.json +245 -245
  255. package/schemas/w4-certification-request.schema.json +72 -0
  256. package/schemas/w4-certification-verdict.schema.json +224 -0
  257. package/schemas/w4-corpus.schema.json +172 -0
  258. package/schemas/w4-mutation-report.schema.json +116 -0
  259. package/schemas/w4-replay-result.schema.json +164 -0
  260. package/schemas/w4-scoring-report.schema.json +89 -0
  261. package/scripts/audit-tools/audit-history.js +330 -330
  262. package/scripts/audit-tools/bundle-tracker.js +290 -290
  263. package/scripts/audit-tools/canary-monitor.js +352 -352
  264. package/scripts/audit-tools/code-profiler.js +605 -605
  265. package/scripts/audit-tools/dep-doctor.js +320 -320
  266. package/scripts/audit-tools/env-validator.js +206 -206
  267. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  268. package/scripts/audit-tools/lib/output.js +23 -23
  269. package/scripts/audit-tools/migration-checker.js +392 -392
  270. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  271. package/scripts/auditar-clases-conocidas.js +134 -134
  272. package/scripts/bootstrap-instintos.js +88 -14
  273. package/scripts/canario-hooks.js +166 -166
  274. package/scripts/cli/aprobar-plan.js +73 -73
  275. package/scripts/cli/autonomia.js +23 -23
  276. package/scripts/cli/benchmark-memoria.js +37 -37
  277. package/scripts/cli/briefing.js +23 -23
  278. package/scripts/cli/ciclo-autonomo.js +73 -73
  279. package/scripts/cli/ciclo-evolucion.js +26 -26
  280. package/scripts/cli/ciclo-fase-b.js +102 -102
  281. package/scripts/cli/derivar-feature-list.js +25 -25
  282. package/scripts/cli/detectar-host.js +27 -27
  283. package/scripts/cli/diary-entry.js +69 -69
  284. package/scripts/cli/execution-state.js +18 -18
  285. package/scripts/cli/gateway-notify.js +41 -41
  286. package/scripts/cli/guardrail-metrics.js +39 -39
  287. package/scripts/cli/liberar-fase.js +42 -42
  288. package/scripts/cli/mark-evolved.js +56 -56
  289. package/scripts/cli/memoria-search.js +69 -69
  290. package/scripts/cli/metricas-dora.js +26 -26
  291. package/scripts/cli/near-duplicate.js +55 -55
  292. package/scripts/cli/notificaciones.js +123 -123
  293. package/scripts/cli/nudge-accionar.js +39 -39
  294. package/scripts/cli/propose-step.js +29 -29
  295. package/scripts/cli/run-eval.js +38 -38
  296. package/scripts/cli/schedule-parse.js +19 -19
  297. package/scripts/cli/sugerir-modelo.js +20 -20
  298. package/scripts/cli/verificar-plan.js +36 -36
  299. package/scripts/cli/verificar-trazabilidad.js +35 -35
  300. package/scripts/comandos/install-asistido.js +8 -7
  301. package/scripts/configurar-branch-protection.js +418 -418
  302. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  303. package/scripts/doctor.js +61 -13
  304. package/scripts/evidencia-valor.js +101 -101
  305. package/scripts/field-report.js +16 -16
  306. package/scripts/generar-checklists-consolidados.js +273 -273
  307. package/scripts/generar-claims-runtime.js +1342 -0
  308. package/scripts/generar-harness-ir.js +257 -0
  309. package/scripts/generar-inventario.js +52 -54
  310. package/scripts/generar-policy-bundle.js +202 -0
  311. package/scripts/instalador.js +39 -7
  312. package/scripts/lib/activar-hooks-proyecto.js +116 -116
  313. package/scripts/lib/approval-receipts.js +190 -0
  314. package/scripts/lib/artefactos-python.js +43 -43
  315. package/scripts/lib/benchmark-metrics.js +160 -160
  316. package/scripts/lib/budget-enforcer.js +252 -252
  317. package/scripts/lib/certificacion-loop-state.js +421 -0
  318. package/scripts/lib/ci-reader.js +193 -193
  319. package/scripts/lib/ciclo-autonomo/candidatos.js +174 -174
  320. package/scripts/lib/ciclo-autonomo/config.js +165 -165
  321. package/scripts/lib/ciclo-autonomo/drenador-feedback.js +174 -174
  322. package/scripts/lib/ciclo-autonomo/fallback.js +77 -77
  323. package/scripts/lib/ciclo-autonomo/guard-convivencia.js +139 -139
  324. package/scripts/lib/ciclo-autonomo/higiene-nudges.js +112 -112
  325. package/scripts/lib/ciclo-autonomo/index.js +301 -301
  326. package/scripts/lib/ciclo-autonomo/lock.js +124 -124
  327. package/scripts/lib/ciclo-autonomo/presupuesto.js +122 -122
  328. package/scripts/lib/ciclo-autonomo/puente-degradacion.js +240 -240
  329. package/scripts/lib/ciclo-autonomo/runner-fase-b.js +248 -248
  330. package/scripts/lib/ciclo-autonomo/writer-instintos.js +190 -190
  331. package/scripts/lib/ciclo-autonomo/yaml-instintos.js +591 -535
  332. package/scripts/lib/clasificar-directorio.js +92 -0
  333. package/scripts/lib/contadores-inventario.js +217 -217
  334. package/scripts/lib/detectar-host-swl.js +175 -175
  335. package/scripts/lib/detectar-runtime.js +29 -20
  336. package/scripts/lib/detectar-stack-detallado.js +307 -307
  337. package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
  338. package/scripts/lib/detector-reglas-duplicadas.js +220 -220
  339. package/scripts/lib/eval-metrics-store.js +218 -218
  340. package/scripts/lib/eval-quality.js +171 -171
  341. package/scripts/lib/eval-schemas.js +144 -144
  342. package/scripts/lib/eval-self-correct.js +106 -106
  343. package/scripts/lib/eval-validator.js +185 -185
  344. package/scripts/lib/evidence-verifier.js +192 -0
  345. package/scripts/lib/evidencia-release.js +322 -322
  346. package/scripts/lib/evidencia-valor.js +228 -228
  347. package/scripts/lib/expandir-targets.js +71 -71
  348. package/scripts/lib/frontmatter-canonico.js +509 -0
  349. package/scripts/lib/gate-engine.js +871 -0
  350. package/scripts/lib/gate-hooks-requires.js +249 -249
  351. package/scripts/lib/gate-licencias.js +212 -212
  352. package/scripts/lib/git-config-preflight.js +48 -0
  353. package/scripts/lib/git-metricas.js +257 -257
  354. package/scripts/lib/harness-ir.js +778 -0
  355. package/scripts/lib/harness-source-snapshot.js +309 -0
  356. package/scripts/lib/integrity-ledger.js +1147 -0
  357. package/scripts/lib/jaccard-similarity.js +98 -98
  358. package/scripts/lib/legacy-gate-migration.js +324 -0
  359. package/scripts/lib/limpiar-basura-global.js +204 -0
  360. package/scripts/lib/longmemeval-runner.js +125 -125
  361. package/scripts/lib/metricas-dora.js +204 -204
  362. package/scripts/lib/notificaciones-telegram.js +1 -0
  363. package/scripts/lib/npm-version.js +1 -0
  364. package/scripts/lib/paquetes-conocidos.js +50 -50
  365. package/scripts/lib/plan-lock.js +61 -13
  366. package/scripts/lib/policy-broker.js +338 -0
  367. package/scripts/lib/policy-bundle.js +342 -0
  368. package/scripts/lib/policy-context-provider.js +310 -0
  369. package/scripts/lib/policy-contract.js +479 -0
  370. package/scripts/lib/policy-verifier-utils.js +65 -0
  371. package/scripts/lib/pr-analyzer.js +399 -399
  372. package/scripts/lib/principal-verifier.js +178 -0
  373. package/scripts/lib/prompt-builder.js +264 -264
  374. package/scripts/lib/resolver-plan-fase.js +37 -37
  375. package/scripts/lib/rrf-fusion.js +175 -175
  376. package/scripts/lib/runtime-adapter-contract.js +267 -0
  377. package/scripts/lib/runtime-artifact-verifier.js +426 -0
  378. package/scripts/lib/runtime-build-attestation.js +127 -0
  379. package/scripts/lib/runtime-bundle-installer.js +586 -0
  380. package/scripts/lib/runtime-compiler.js +327 -0
  381. package/scripts/lib/runtime-conformance.js +202 -0
  382. package/scripts/lib/runtime-doctor-core3.js +567 -0
  383. package/scripts/lib/runtime-doctor-input.js +59 -0
  384. package/scripts/lib/runtime-operation-adapter.js +267 -0
  385. package/scripts/lib/schema-version.js +164 -164
  386. package/scripts/lib/semantic-search.js +252 -252
  387. package/scripts/lib/signed-envelope.js +545 -0
  388. package/scripts/lib/single-use-store.js +359 -0
  389. package/scripts/lib/skills-externas.js +31 -0
  390. package/scripts/lib/toml-merge.js +204 -204
  391. package/scripts/lib/transformadores/codex.js +15 -8
  392. package/scripts/lib/transformadores/gemini.js +79 -5
  393. package/scripts/lib/w4-attestation-adapter.js +158 -0
  394. package/scripts/lib/w4-canario.js +337 -0
  395. package/scripts/lib/w4-claims.js +182 -0
  396. package/scripts/lib/w4-corpus-generador.js +542 -0
  397. package/scripts/lib/w4-gate-c5.js +115 -0
  398. package/scripts/lib/w4-harness-bajo-prueba.js +155 -0
  399. package/scripts/lib/w4-matriz-combos.js +55 -0
  400. package/scripts/lib/w4-motor-mutacion.js +1348 -0
  401. package/scripts/lib/w4-motor-replay.js +735 -0
  402. package/scripts/lib/w4-pin-origen.js +54 -0
  403. package/scripts/lib/w4-publicar-request.js +132 -0
  404. package/scripts/lib/w4-revocacion.js +62 -0
  405. package/scripts/lib/w4-runtimes-core3.js +38 -0
  406. package/scripts/lib/w4-scorer-certificacion.js +692 -0
  407. package/scripts/lib/w4-superficie-candidato.js +49 -0
  408. package/scripts/lib/w4-veredicto.js +452 -0
  409. package/scripts/lib/w4-verificar-veredicto.js +302 -0
  410. package/scripts/limpiar-artefactos-python.js +131 -131
  411. package/scripts/mcp-server/auth.js +105 -105
  412. package/scripts/mcp-server/cache.js +106 -106
  413. package/scripts/migrar-csv-a-array.js +168 -168
  414. package/scripts/migrar-fase-dominio.js +200 -200
  415. package/scripts/migrar-gates-legacy.js +108 -0
  416. package/scripts/publicar-certification-request.js +115 -0
  417. package/scripts/runtime-doctor.js +107 -0
  418. package/scripts/tui/componentes/selector-multi.js +189 -189
  419. package/scripts/tui/componentes/selector-unico.js +158 -158
  420. package/scripts/tui/ejecutores.js +375 -375
  421. package/scripts/tui/lib/colores.js +129 -129
  422. package/scripts/tui/lib/render.js +264 -264
  423. package/scripts/tui/lib/teclas.js +113 -113
  424. package/scripts/tui/pantallas/install-wizard.js +408 -403
  425. package/scripts/tui/pantallas/menu-principal.js +52 -52
  426. package/scripts/tui/pantallas/progreso.js +274 -274
  427. package/scripts/tui/pantallas/resumen.js +132 -132
  428. package/scripts/validar-userland-vacio.js +110 -110
  429. package/scripts/verificar-aislamiento-swl-eval.js +87 -0
  430. package/scripts/verificar-empaquetado-downstream.js +375 -0
  431. package/scripts/verificar-loop-constructor.js +215 -0
  432. package/scripts/verificar-trazabilidad.js +13 -6
  433. package/scripts/verificar-veredicto-real.js +84 -0
  434. package/instintos/.backups/perfil-usuario.yaml.2026-07-10-165128.bak +0 -53
  435. package/instintos/.backups/proyecto.yaml.2026-07-10-165128.bak +0 -372
@@ -1,265 +1,265 @@
1
- ---
2
- name: swl:adoptar-proyecto
3
- description: Incorpora un proyecto existente al sistema SWL. Analiza automáticamente el codebase (stack, arquitectura, dependencias, estado git) y combina los hallazgos con una entrevista corta al usuario para generar los 9 archivos de .planning/ con información real del proyecto — no plantillas vacías.
4
- allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "Agent"]
5
- ---
6
-
7
- # /swl:adoptar-proyecto — Incorporar un proyecto existente al sistema SWL
8
-
9
- Eres el coordinador de adopción de proyectos existentes. Tu misión es convertir un codebase que ya existe en un proyecto SWL completamente documentado, combinando análisis automático del código con preguntas específicas al usuario para lo que no se puede inferir.
10
-
11
- **Diferencia con `/swl:nuevo-proyecto`**: ese comando parte de cero con entrevista larga. Este comando parte de un codebase existente — primero analiza lo que hay, luego solo pregunta lo que falta.
12
-
13
- ## Cuándo usar este comando
14
-
15
- - Al incorporar un proyecto existente al sistema SWL
16
- - Cuando un proyecto ya tiene código pero no tiene `.planning/`
17
- - Cuando se heredó un proyecto y se quiere estructurar con SWL
18
- - Cuando `swl-ses init` ya creó las plantillas vacías y se necesita poblarlas con datos reales
19
-
20
- ## Prerrequisitos
21
-
22
- 1. **SWL instalado** — `swl-ses install` ya ejecutado (global o local)
23
- 2. **Codebase existente** — el proyecto debe tener código fuente (no un directorio vacío — para eso usar `/swl:nuevo-proyecto`)
24
- 3. **Git inicializado** — se usa para detectar estado, ramas y actividad reciente
25
-
26
- ## Paso 0 — Verificar entorno
27
-
28
- 1. Confirmar directorio de trabajo actual.
29
- 2. Verificar que es un repositorio git (`git rev-parse --show-toplevel`).
30
- 3. Si no existe `.planning/`, crearlo junto con `.planning/research/`.
31
- 4. Si ya existen archivos en `.planning/` con contenido real (no plantillas), preguntar:
32
- ```
33
- Ya existe .planning/ con contenido que parece haber sido editado.
34
- ¿Deseas sobrescribirlo o solo llenar los archivos que aún son plantillas vacías?
35
- ```
36
- 5. Leer `CLAUDE.md` y `README.md` si existen — dan contexto rápido.
37
-
38
- ### Detección de plantillas vacías vs contenido real
39
-
40
- Un archivo es "plantilla vacía" si contiene los marcadores originales de las plantillas SWL:
41
- - `[Nombre del Proyecto]` o `[Nombre del proyecto]`
42
- - `YYYY-MM-DD` (más de 2 ocurrencias)
43
- - `[ej.` (ejemplos no reemplazados)
44
- - Tablas con todas las celdas vacías (`| | | |`)
45
-
46
- Un archivo con estos marcadores se sobrescribe. Un archivo sin ellos se preserva.
47
-
48
- ## Paso 1 — Análisis automático del codebase
49
-
50
- Ejecutar `/swl:mapear-codebase` internamente. Este comando genera:
51
- - `.planning/research/ARQUITECTURA.md` — análisis completo de la arquitectura
52
- - `.planning/research/STACK.md` — evaluación del stack tecnológico detectado
53
- - `.planning/research/TRAMPAS.md` — anti-patrones y deuda técnica encontrada
54
-
55
- Capturar los hallazgos clave para usarlos en los pasos siguientes:
56
- - **Nombre del proyecto**: de `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, o nombre del directorio raíz
57
- - **Descripción**: de `README.md` (primer párrafo) o del campo `description` del manifiesto
58
- - **Stack**: lenguajes, frameworks, bases de datos detectados
59
- - **Estructura**: módulos principales y sus responsabilidades
60
- - **Dependencias**: lista clasificada del manifiesto
61
- - **Estado git**: rama actual, último commit, ramas activas, tags existentes
62
- - **Puntos de entrada**: archivos main/index/app detectados
63
- - **Deuda técnica**: TODOs, FIXMEs, archivos grandes, dependencias desactualizadas
64
-
65
- ## Paso 2 — Entrevista corta (solo lo que no se puede inferir)
66
-
67
- Presentar al usuario un resumen de lo detectado y hacer SOLO las preguntas que el análisis no puede responder. Agrupar en un solo bloque:
68
-
69
- ```
70
- He analizado tu proyecto. Esto es lo que detecté:
71
-
72
- Nombre: [detectado]
73
- Descripción: [detectada]
74
- Stack: [detectado]
75
- Módulos: [N] módulos principales detectados
76
- Dependencias: [N] de producción, [N] de desarrollo
77
- Estado git: rama [nombre], [N] commits, último hace [tiempo]
78
-
79
- Para completar la documentación necesito que me confirmes o ajustes:
80
-
81
- 1. ¿La descripción de arriba es correcta? Si no, ¿cuál es la descripción correcta del proyecto?
82
- 2. ¿Quiénes son los usuarios finales? (internos, clientes, público)
83
- 3. ¿Hay una fecha límite o hito próximo importante?
84
- 4. ¿Cuál es la prioridad actual? (nueva feature, estabilización, refactor, migración)
85
- 5. ¿Hay algo roto o urgente que deba reflejarse como riesgo activo?
86
- ```
87
-
88
- ESPERAR respuesta antes de continuar. No inventar respuestas.
89
-
90
- ## Paso 3 — Generar `.planning/PROYECTO.md`
91
-
92
- Combinar los datos detectados con las respuestas del usuario:
93
-
94
- - **Visión**: de la descripción confirmada por el usuario
95
- - **Stack tecnológico**: tabla auto-llenada desde el análisis de dependencias
96
- - **Restricciones técnicas**: inferidas del stack (versiones pinneadas, runtime requerido)
97
- - **Restricciones de negocio**: de la respuesta sobre fechas y prioridades
98
- - **Objetivos**: derivados de la prioridad actual indicada por el usuario
99
- - **No-objetivos**: dejar la sección con nota "Definir con `/swl:discutir-fase`"
100
- - **Equipo**: detectar del git log (contribuidores recientes) + preguntar si aplica
101
-
102
- Para la sección de equipo, inferir desde git:
103
- ```bash
104
- git shortlog -sne --since="6 months ago" | head -10
105
- ```
106
-
107
- ## Paso 4 — Generar `.planning/ESTADO.md`
108
-
109
- Auto-llenar completamente desde el estado actual del repositorio:
110
-
111
- - **Fase activa**: "Adopción inicial — incorporación al sistema SWL"
112
- - **Progreso**: basado en si hay tests, CI, docs
113
- - **Lo hecho en la última sesión**: "Proyecto adoptado por SWL. Análisis inicial completado."
114
- - **Decisiones tomadas**: tabla vacía (se llenará conforme se trabaje)
115
- - **Riesgos activos**: de la deuda técnica detectada + lo que reportó el usuario
116
- - **Métricas actuales**: cobertura de tests (si se detecta), linter status, dependencias outdated
117
- - **Bloqueantes**: lo reportado por el usuario como urgente
118
- - **Próximos pasos**: sugerir `/swl:discutir-fase 1` como siguiente acción
119
-
120
- ## Paso 5 — Generar `.planning/HOJA-RUTA.md`
121
-
122
- Crear un roadmap inicial basado en el estado del proyecto:
123
-
124
- - **Fase 0** (completada): "Adopción SWL — análisis del codebase"
125
- - **Fase 1** (pendiente): Basada en la prioridad indicada por el usuario:
126
- - Si "nueva feature" → "Implementación de [feature descrita]"
127
- - Si "estabilización" → "Estabilización — tests, CI, docs"
128
- - Si "refactor" → "Refactorización de [área detectada con más deuda]"
129
- - Si "migración" → "Migración de [tecnología origen] a [destino]"
130
- - **Fases 2-3**: Marcar como "Por definir con `/swl:discutir-fase`"
131
-
132
- ## Paso 6 — Generar `.planning/REQUISITOS.md`
133
-
134
- Crear una versión inicial con:
135
-
136
- - **Requisitos funcionales**: extraer de los endpoints/rutas detectados, agrupados por módulo
137
- - Listar cada endpoint o funcionalidad detectable como REQ-NNN en estado "Completado" (ya existe)
138
- - Esto da visibilidad de lo que el sistema YA hace
139
- - **Requisitos no funcionales**: parcialmente inferibles:
140
- - Performance: si hay benchmarks o métricas configuradas
141
- - Seguridad: si hay auth configurada (JWT, OAuth, etc.)
142
- - Tests: cobertura actual como baseline
143
- - **Nota**: "Los requisitos de nuevas funcionalidades se definen con `/swl:discutir-fase`"
144
-
145
- ## Paso 7 — Generar archivos de research restantes
146
-
147
- ### `.planning/research/FUNCIONALIDADES.md`
148
-
149
- Listar las funcionalidades detectadas en el codebase:
150
- - Por cada endpoint/ruta encontrada: método, path, descripción inferida
151
- - Por cada modelo/entidad: nombre, campos principales
152
- - Por cada job/worker: nombre, propósito detectado
153
-
154
- ### `.planning/research/RESUMEN.md`
155
-
156
- Consolidar el resumen ejecutivo:
157
- - TL;DR del proyecto (3-5 bullets)
158
- - Stack confirmado con versiones
159
- - Estado actual: qué funciona, qué falta
160
- - Riesgos principales
161
- - Recomendación de próximos pasos
162
-
163
- ### `.planning/research/TRAMPAS.md`
164
-
165
- Si `/swl:mapear-codebase` ya lo generó (opción B), solo verificar. Si no:
166
- - TODOs y FIXMEs agrupados por módulo
167
- - Anti-patrones detectados en el stack (N+1, eval, shell=True, etc.)
168
- - Dependencias con CVEs conocidos (si `pip-audit` o `npm audit` están disponibles)
169
- - Archivos con más de 500 líneas
170
-
171
- ## Paso 8 — Verificar/actualizar CLAUDE.md del proyecto
172
-
173
- Verificar el estado de `CLAUDE.md` en la raíz del proyecto:
174
-
175
- - **Si NO existe**: generarlo con la estructura mínima de `/swl:claudemd init-project`.
176
- **OBLIGATORIO** incluir como primera sección bajo el título:
177
- ```markdown
178
- ## Reglas obligatorias
179
-
180
- Aplica la regla global `usar-sistema-swl.md` (matriz operacional del sistema
181
- SWL), auto-cargada desde `.claude/rules/`. NO duplicar su contenido aquí.
182
- ```
183
- - **Si existe pero NO menciona la regla global `usar-sistema-swl`**: agregar la
184
- mención en una sección "Reglas obligatorias" cerca del inicio del archivo,
185
- preservando el contenido existente. NUNCA usar `@reglas/usar-sistema-swl.md`
186
- — esa ruta no existe en proyectos downstream (las reglas viven en
187
- `.claude/rules/`).
188
- - **Si existe e incluye la mención**: no tocar.
189
-
190
- Esta mención recuerda la matriz operacional del sistema SWL y es el contrato
191
- base de uso del sistema para el proyecto adoptado.
192
-
193
- ### Validación síncrona post-modificación (contrato cruzado con /swl:claudemd)
194
-
195
- Tras generar o modificar `CLAUDE.md` en este paso, ejecutar el auditor
196
- síncrono para verificar que respeta el contrato canónico:
197
-
198
- ```bash
199
- swl-ses audit-claudemd --json
200
- # Fallback si el script no está en el proyecto destino:
201
- npx -y @saulwade/swl-ses@latest audit-claudemd --json
202
- ```
203
-
204
- Evaluar `veredicto`:
205
-
206
- - `OK` → continuar al Paso 9.
207
- - `WARN tamano-total` → el CLAUDE.md preexistente más la modificación
208
- excedió el umbral. Reportar al usuario y proponer extracción a
209
- `@docs/lessons-<tema>.md` antes de cerrar.
210
- - `WARN bullet-gigante` → revisar y condensar el bullet detectado.
211
- - `WARN` otras reglas → reportar al usuario pero permitir continuar.
212
- - `ERROR placeholders` → **DETENER**, revertir la modificación y reportar.
213
-
214
- Detalle del contrato cruzado en `@docs/contrato-aprender-claudemd.md`.
215
-
216
- ## Paso 9 — Reporte final
217
-
218
- ```
219
- === Proyecto adoptado exitosamente ===
220
-
221
- Archivos generados:
222
- ✓ .planning/PROYECTO.md — [N] secciones con datos reales
223
- ✓ .planning/ESTADO.md — estado actual del repositorio
224
- ✓ .planning/HOJA-RUTA.md — roadmap inicial con [N] fases
225
- ✓ .planning/REQUISITOS.md — [N] requisitos existentes documentados
226
- ✓ .planning/research/ARQUITECTURA.md — análisis completo del codebase
227
- ✓ .planning/research/STACK.md — evaluación del stack tecnológico
228
- ✓ .planning/research/FUNCIONALIDADES.md — inventario de funcionalidades
229
- ✓ .planning/research/RESUMEN.md — resumen ejecutivo consolidado
230
- ✓ .planning/research/TRAMPAS.md — deuda técnica y anti-patrones
231
- ✓ CLAUDE.md — creado o actualizado con mención de la regla global usar-sistema-swl
232
-
233
- Hallazgos clave:
234
- 1. [hallazgo más importante]
235
- 2. [segundo hallazgo]
236
- 3. [tercer hallazgo]
237
-
238
- Riesgo principal: [descripción]
239
-
240
- Próximos pasos recomendados:
241
- /swl:discutir-fase 1 ← para definir la primera fase de trabajo
242
- /swl:seguridad --rapido ← baseline de seguridad del proyecto adoptado
243
- (secretos en repo+historial + CVEs en deps);
244
- obligatorio recomendarlo si TRAMPAS.md detectó
245
- manejo de auth, pagos o datos personales
246
- /swl:configurar-ci init ← si el repo vive en GitHub y no tiene pipelines
247
- (documentar la ausencia de CI ya es hallazgo)
248
- ```
249
-
250
- Si el usuario acepta correr `/swl:seguridad --rapido`, su reporte de postura
251
- queda en `.planning/audit/` y los hallazgos CRÍTICOS se listan como "Puntos a
252
- resolver" del arranque — un proyecto adoptado con secretos en el historial no
253
- debe empezar fases nuevas sin decidir qué hacer con ellos (Hallazgo C de
254
- `arreglar-al-detectar.md`).
255
-
256
- ## Reglas de comportamiento
257
-
258
- - NUNCA inventar información que no se detectó ni el usuario proporcionó. Si un campo no se puede inferir, dejarlo con nota "Pendiente — definir con `/swl:discutir-fase`".
259
- - NUNCA modificar archivos de código fuente — solo generar documentación en `.planning/`.
260
- - Si el proyecto tiene menos de 5 archivos de código, sugerir `/swl:nuevo-proyecto` en su lugar.
261
- - Si `.planning/` tiene archivos con contenido real, preservarlos y solo llenar los vacíos.
262
- - La entrevista DEBE ser corta (5 preguntas máximo). Lo que se puede inferir del código, se infiere.
263
- - Los archivos generados deben ser útiles INMEDIATAMENTE — no plantillas con placeholders.
264
- - Si un análisis falla (ej: no hay tests, no hay CI), documentar la ausencia como hallazgo, no como error.
265
- - Preferir exactitud sobre completitud: es mejor un archivo con 3 secciones correctas que uno con 10 secciones adivinadas.
1
+ ---
2
+ name: swl:adoptar-proyecto
3
+ description: Incorpora un proyecto existente al sistema SWL. Analiza automáticamente el codebase (stack, arquitectura, dependencias, estado git) y combina los hallazgos con una entrevista corta al usuario para generar los 9 archivos de .planning/ con información real del proyecto — no plantillas vacías.
4
+ allowed_tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "Agent"]
5
+ ---
6
+
7
+ # /swl:adoptar-proyecto — Incorporar un proyecto existente al sistema SWL
8
+
9
+ Eres el coordinador de adopción de proyectos existentes. Tu misión es convertir un codebase que ya existe en un proyecto SWL completamente documentado, combinando análisis automático del código con preguntas específicas al usuario para lo que no se puede inferir.
10
+
11
+ **Diferencia con `/swl:nuevo-proyecto`**: ese comando parte de cero con entrevista larga. Este comando parte de un codebase existente — primero analiza lo que hay, luego solo pregunta lo que falta.
12
+
13
+ ## Cuándo usar este comando
14
+
15
+ - Al incorporar un proyecto existente al sistema SWL
16
+ - Cuando un proyecto ya tiene código pero no tiene `.planning/`
17
+ - Cuando se heredó un proyecto y se quiere estructurar con SWL
18
+ - Cuando `swl-ses init` ya creó las plantillas vacías y se necesita poblarlas con datos reales
19
+
20
+ ## Prerrequisitos
21
+
22
+ 1. **SWL instalado** — `swl-ses install` ya ejecutado (global o local)
23
+ 2. **Codebase existente** — el proyecto debe tener código fuente (no un directorio vacío — para eso usar `/swl:nuevo-proyecto`)
24
+ 3. **Git inicializado** — se usa para detectar estado, ramas y actividad reciente
25
+
26
+ ## Paso 0 — Verificar entorno
27
+
28
+ 1. Confirmar directorio de trabajo actual.
29
+ 2. Verificar que es un repositorio git (`git rev-parse --show-toplevel`).
30
+ 3. Si no existe `.planning/`, crearlo junto con `.planning/research/`.
31
+ 4. Si ya existen archivos en `.planning/` con contenido real (no plantillas), preguntar:
32
+ ```
33
+ Ya existe .planning/ con contenido que parece haber sido editado.
34
+ ¿Deseas sobrescribirlo o solo llenar los archivos que aún son plantillas vacías?
35
+ ```
36
+ 5. Leer `CLAUDE.md` y `README.md` si existen — dan contexto rápido.
37
+
38
+ ### Detección de plantillas vacías vs contenido real
39
+
40
+ Un archivo es "plantilla vacía" si contiene los marcadores originales de las plantillas SWL:
41
+ - `[Nombre del Proyecto]` o `[Nombre del proyecto]`
42
+ - `YYYY-MM-DD` (más de 2 ocurrencias)
43
+ - `[ej.` (ejemplos no reemplazados)
44
+ - Tablas con todas las celdas vacías (`| | | |`)
45
+
46
+ Un archivo con estos marcadores se sobrescribe. Un archivo sin ellos se preserva.
47
+
48
+ ## Paso 1 — Análisis automático del codebase
49
+
50
+ Ejecutar `/swl:mapear-codebase` internamente. Este comando genera:
51
+ - `.planning/research/ARQUITECTURA.md` — análisis completo de la arquitectura
52
+ - `.planning/research/STACK.md` — evaluación del stack tecnológico detectado
53
+ - `.planning/research/TRAMPAS.md` — anti-patrones y deuda técnica encontrada
54
+
55
+ Capturar los hallazgos clave para usarlos en los pasos siguientes:
56
+ - **Nombre del proyecto**: de `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, o nombre del directorio raíz
57
+ - **Descripción**: de `README.md` (primer párrafo) o del campo `description` del manifiesto
58
+ - **Stack**: lenguajes, frameworks, bases de datos detectados
59
+ - **Estructura**: módulos principales y sus responsabilidades
60
+ - **Dependencias**: lista clasificada del manifiesto
61
+ - **Estado git**: rama actual, último commit, ramas activas, tags existentes
62
+ - **Puntos de entrada**: archivos main/index/app detectados
63
+ - **Deuda técnica**: TODOs, FIXMEs, archivos grandes, dependencias desactualizadas
64
+
65
+ ## Paso 2 — Entrevista corta (solo lo que no se puede inferir)
66
+
67
+ Presentar al usuario un resumen de lo detectado y hacer SOLO las preguntas que el análisis no puede responder. Agrupar en un solo bloque:
68
+
69
+ ```
70
+ He analizado tu proyecto. Esto es lo que detecté:
71
+
72
+ Nombre: [detectado]
73
+ Descripción: [detectada]
74
+ Stack: [detectado]
75
+ Módulos: [N] módulos principales detectados
76
+ Dependencias: [N] de producción, [N] de desarrollo
77
+ Estado git: rama [nombre], [N] commits, último hace [tiempo]
78
+
79
+ Para completar la documentación necesito que me confirmes o ajustes:
80
+
81
+ 1. ¿La descripción de arriba es correcta? Si no, ¿cuál es la descripción correcta del proyecto?
82
+ 2. ¿Quiénes son los usuarios finales? (internos, clientes, público)
83
+ 3. ¿Hay una fecha límite o hito próximo importante?
84
+ 4. ¿Cuál es la prioridad actual? (nueva feature, estabilización, refactor, migración)
85
+ 5. ¿Hay algo roto o urgente que deba reflejarse como riesgo activo?
86
+ ```
87
+
88
+ ESPERAR respuesta antes de continuar. No inventar respuestas.
89
+
90
+ ## Paso 3 — Generar `.planning/PROYECTO.md`
91
+
92
+ Combinar los datos detectados con las respuestas del usuario:
93
+
94
+ - **Visión**: de la descripción confirmada por el usuario
95
+ - **Stack tecnológico**: tabla auto-llenada desde el análisis de dependencias
96
+ - **Restricciones técnicas**: inferidas del stack (versiones pinneadas, runtime requerido)
97
+ - **Restricciones de negocio**: de la respuesta sobre fechas y prioridades
98
+ - **Objetivos**: derivados de la prioridad actual indicada por el usuario
99
+ - **No-objetivos**: dejar la sección con nota "Definir con `/swl:discutir-fase`"
100
+ - **Equipo**: detectar del git log (contribuidores recientes) + preguntar si aplica
101
+
102
+ Para la sección de equipo, inferir desde git:
103
+ ```bash
104
+ git shortlog -sne --since="6 months ago" | head -10
105
+ ```
106
+
107
+ ## Paso 4 — Generar `.planning/ESTADO.md`
108
+
109
+ Auto-llenar completamente desde el estado actual del repositorio:
110
+
111
+ - **Fase activa**: "Adopción inicial — incorporación al sistema SWL"
112
+ - **Progreso**: basado en si hay tests, CI, docs
113
+ - **Lo hecho en la última sesión**: "Proyecto adoptado por SWL. Análisis inicial completado."
114
+ - **Decisiones tomadas**: tabla vacía (se llenará conforme se trabaje)
115
+ - **Riesgos activos**: de la deuda técnica detectada + lo que reportó el usuario
116
+ - **Métricas actuales**: cobertura de tests (si se detecta), linter status, dependencias outdated
117
+ - **Bloqueantes**: lo reportado por el usuario como urgente
118
+ - **Próximos pasos**: sugerir `/swl:discutir-fase 1` como siguiente acción
119
+
120
+ ## Paso 5 — Generar `.planning/HOJA-RUTA.md`
121
+
122
+ Crear un roadmap inicial basado en el estado del proyecto:
123
+
124
+ - **Fase 0** (completada): "Adopción SWL — análisis del codebase"
125
+ - **Fase 1** (pendiente): Basada en la prioridad indicada por el usuario:
126
+ - Si "nueva feature" → "Implementación de [feature descrita]"
127
+ - Si "estabilización" → "Estabilización — tests, CI, docs"
128
+ - Si "refactor" → "Refactorización de [área detectada con más deuda]"
129
+ - Si "migración" → "Migración de [tecnología origen] a [destino]"
130
+ - **Fases 2-3**: Marcar como "Por definir con `/swl:discutir-fase`"
131
+
132
+ ## Paso 6 — Generar `.planning/REQUISITOS.md`
133
+
134
+ Crear una versión inicial con:
135
+
136
+ - **Requisitos funcionales**: extraer de los endpoints/rutas detectados, agrupados por módulo
137
+ - Listar cada endpoint o funcionalidad detectable como REQ-NNN en estado "Completado" (ya existe)
138
+ - Esto da visibilidad de lo que el sistema YA hace
139
+ - **Requisitos no funcionales**: parcialmente inferibles:
140
+ - Performance: si hay benchmarks o métricas configuradas
141
+ - Seguridad: si hay auth configurada (JWT, OAuth, etc.)
142
+ - Tests: cobertura actual como baseline
143
+ - **Nota**: "Los requisitos de nuevas funcionalidades se definen con `/swl:discutir-fase`"
144
+
145
+ ## Paso 7 — Generar archivos de research restantes
146
+
147
+ ### `.planning/research/FUNCIONALIDADES.md`
148
+
149
+ Listar las funcionalidades detectadas en el codebase:
150
+ - Por cada endpoint/ruta encontrada: método, path, descripción inferida
151
+ - Por cada modelo/entidad: nombre, campos principales
152
+ - Por cada job/worker: nombre, propósito detectado
153
+
154
+ ### `.planning/research/RESUMEN.md`
155
+
156
+ Consolidar el resumen ejecutivo:
157
+ - TL;DR del proyecto (3-5 bullets)
158
+ - Stack confirmado con versiones
159
+ - Estado actual: qué funciona, qué falta
160
+ - Riesgos principales
161
+ - Recomendación de próximos pasos
162
+
163
+ ### `.planning/research/TRAMPAS.md`
164
+
165
+ Si `/swl:mapear-codebase` ya lo generó (opción B), solo verificar. Si no:
166
+ - TODOs y FIXMEs agrupados por módulo
167
+ - Anti-patrones detectados en el stack (N+1, eval, shell=True, etc.)
168
+ - Dependencias con CVEs conocidos (si `pip-audit` o `npm audit` están disponibles)
169
+ - Archivos con más de 500 líneas
170
+
171
+ ## Paso 8 — Verificar/actualizar CLAUDE.md del proyecto
172
+
173
+ Verificar el estado de `CLAUDE.md` en la raíz del proyecto:
174
+
175
+ - **Si NO existe**: generarlo con la estructura mínima de `/swl:claudemd init-project`.
176
+ **OBLIGATORIO** incluir como primera sección bajo el título:
177
+ ```markdown
178
+ ## Reglas obligatorias
179
+
180
+ Aplica la regla global `usar-sistema-swl.md` (matriz operacional del sistema
181
+ SWL), auto-cargada desde `.claude/rules/`. NO duplicar su contenido aquí.
182
+ ```
183
+ - **Si existe pero NO menciona la regla global `usar-sistema-swl`**: agregar la
184
+ mención en una sección "Reglas obligatorias" cerca del inicio del archivo,
185
+ preservando el contenido existente. NUNCA usar `@reglas/usar-sistema-swl.md`
186
+ — esa ruta no existe en proyectos downstream (las reglas viven en
187
+ `.claude/rules/`).
188
+ - **Si existe e incluye la mención**: no tocar.
189
+
190
+ Esta mención recuerda la matriz operacional del sistema SWL y es el contrato
191
+ base de uso del sistema para el proyecto adoptado.
192
+
193
+ ### Validación síncrona post-modificación (contrato cruzado con /swl:claudemd)
194
+
195
+ Tras generar o modificar `CLAUDE.md` en este paso, ejecutar el auditor
196
+ síncrono para verificar que respeta el contrato canónico:
197
+
198
+ ```bash
199
+ swl-ses audit-claudemd --json
200
+ # Fallback si el script no está en el proyecto destino:
201
+ npx -y @saulwade/swl-ses@latest audit-claudemd --json
202
+ ```
203
+
204
+ Evaluar `veredicto`:
205
+
206
+ - `OK` → continuar al Paso 9.
207
+ - `WARN tamano-total` → el CLAUDE.md preexistente más la modificación
208
+ excedió el umbral. Reportar al usuario y proponer extracción a
209
+ `@docs/lessons-<tema>.md` antes de cerrar.
210
+ - `WARN bullet-gigante` → revisar y condensar el bullet detectado.
211
+ - `WARN` otras reglas → reportar al usuario pero permitir continuar.
212
+ - `ERROR placeholders` → **DETENER**, revertir la modificación y reportar.
213
+
214
+ Detalle del contrato cruzado en `@docs/contrato-aprender-claudemd.md`.
215
+
216
+ ## Paso 9 — Reporte final
217
+
218
+ ```
219
+ === Proyecto adoptado exitosamente ===
220
+
221
+ Archivos generados:
222
+ ✓ .planning/PROYECTO.md — [N] secciones con datos reales
223
+ ✓ .planning/ESTADO.md — estado actual del repositorio
224
+ ✓ .planning/HOJA-RUTA.md — roadmap inicial con [N] fases
225
+ ✓ .planning/REQUISITOS.md — [N] requisitos existentes documentados
226
+ ✓ .planning/research/ARQUITECTURA.md — análisis completo del codebase
227
+ ✓ .planning/research/STACK.md — evaluación del stack tecnológico
228
+ ✓ .planning/research/FUNCIONALIDADES.md — inventario de funcionalidades
229
+ ✓ .planning/research/RESUMEN.md — resumen ejecutivo consolidado
230
+ ✓ .planning/research/TRAMPAS.md — deuda técnica y anti-patrones
231
+ ✓ CLAUDE.md — creado o actualizado con mención de la regla global usar-sistema-swl
232
+
233
+ Hallazgos clave:
234
+ 1. [hallazgo más importante]
235
+ 2. [segundo hallazgo]
236
+ 3. [tercer hallazgo]
237
+
238
+ Riesgo principal: [descripción]
239
+
240
+ Próximos pasos recomendados:
241
+ /swl:discutir-fase 1 ← para definir la primera fase de trabajo
242
+ /swl:seguridad --rapido ← baseline de seguridad del proyecto adoptado
243
+ (secretos en repo+historial + CVEs en deps);
244
+ obligatorio recomendarlo si TRAMPAS.md detectó
245
+ manejo de auth, pagos o datos personales
246
+ /swl:configurar-ci init ← si el repo vive en GitHub y no tiene pipelines
247
+ (documentar la ausencia de CI ya es hallazgo)
248
+ ```
249
+
250
+ Si el usuario acepta correr `/swl:seguridad --rapido`, su reporte de postura
251
+ queda en `.planning/audit/` y los hallazgos CRÍTICOS se listan como "Puntos a
252
+ resolver" del arranque — un proyecto adoptado con secretos en el historial no
253
+ debe empezar fases nuevas sin decidir qué hacer con ellos (Hallazgo C de
254
+ `arreglar-al-detectar.md`).
255
+
256
+ ## Reglas de comportamiento
257
+
258
+ - NUNCA inventar información que no se detectó ni el usuario proporcionó. Si un campo no se puede inferir, dejarlo con nota "Pendiente — definir con `/swl:discutir-fase`".
259
+ - NUNCA modificar archivos de código fuente — solo generar documentación en `.planning/`.
260
+ - Si el proyecto tiene menos de 5 archivos de código, sugerir `/swl:nuevo-proyecto` en su lugar.
261
+ - Si `.planning/` tiene archivos con contenido real, preservarlos y solo llenar los vacíos.
262
+ - La entrevista DEBE ser corta (5 preguntas máximo). Lo que se puede inferir del código, se infiere.
263
+ - Los archivos generados deben ser útiles INMEDIATAMENTE — no plantillas con placeholders.
264
+ - Si un análisis falla (ej: no hay tests, no hay CI), documentar la ausencia como hallazgo, no como error.
265
+ - Preferir exactitud sobre completitud: es mejor un archivo con 3 secciones correctas que uno con 10 secciones adivinadas.