@saulwade/swl-ses 2.3.0 → 2.4.1

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 (327) hide show
  1. package/CLAUDE.md +241 -199
  2. package/README.md +597 -597
  3. package/agentes/_intent-spec.md +73 -73
  4. package/agentes/_propose-step.md +90 -90
  5. package/agentes/accesibilidad-wcag-swl.md +2 -2
  6. package/agentes/arquitecto-swl.md +2 -2
  7. package/agentes/auto-evolucion-swl.md +2 -2
  8. package/agentes/backend-api-swl.md +2 -2
  9. package/agentes/backend-csharp-swl.md +2 -2
  10. package/agentes/backend-go-swl.md +2 -2
  11. package/agentes/backend-java-swl.md +2 -2
  12. package/agentes/backend-node-swl.md +2 -2
  13. package/agentes/backend-python-swl.md +2 -2
  14. package/agentes/backend-rust-swl.md +2 -2
  15. package/agentes/backend-workers-swl.md +2 -2
  16. package/agentes/cloud-infra-swl.md +2 -2
  17. package/agentes/consolidador-swl.md +2 -2
  18. package/agentes/datos-swl.md +2 -2
  19. package/agentes/depurador-swl.md +2 -2
  20. package/agentes/devops-ci-swl.md +2 -2
  21. package/agentes/disenador-ui-swl.md +2 -2
  22. package/agentes/documentador-swl.md +2 -2
  23. package/agentes/frontend-angular-swl.md +2 -2
  24. package/agentes/frontend-css-swl.md +2 -2
  25. package/agentes/frontend-react-swl.md +2 -2
  26. package/agentes/frontend-swl.md +2 -2
  27. package/agentes/frontend-tailwind-swl.md +2 -2
  28. package/agentes/gh-fix-ci-swl.md +275 -275
  29. package/agentes/implementador-swl.md +2 -2
  30. package/agentes/investigador-swl.md +2 -2
  31. package/agentes/investigador-ux-swl.md +2 -2
  32. package/agentes/llm-apps-swl.md +2 -2
  33. package/agentes/migrador-swl.md +2 -2
  34. package/agentes/mobile-android-swl.md +2 -2
  35. package/agentes/mobile-cross-swl.md +2 -2
  36. package/agentes/mobile-ios-swl.md +2 -2
  37. package/agentes/mobile-testing-swl.md +2 -2
  38. package/agentes/nemesis-auditor-swl.md +1 -1
  39. package/agentes/notificador-swl.md +2 -2
  40. package/agentes/observabilidad-swl.md +2 -2
  41. package/agentes/orquestador-swl.md +41 -14
  42. package/agentes/pagos-swl.md +2 -2
  43. package/agentes/perfilador-usuario-swl.md +2 -2
  44. package/agentes/planificador-swl.md +2 -2
  45. package/agentes/producto-prd-swl.md +2 -2
  46. package/agentes/red-team-swl.md +218 -218
  47. package/agentes/release-manager-swl.md +2 -2
  48. package/agentes/rendimiento-swl.md +2 -2
  49. package/agentes/resolutor-build-swl.md +2 -2
  50. package/agentes/revisor-angular-swl.md +2 -2
  51. package/agentes/revisor-codigo-swl.md +36 -3
  52. package/agentes/revisor-csharp-swl.md +2 -2
  53. package/agentes/revisor-go-swl.md +2 -2
  54. package/agentes/revisor-java-swl.md +2 -2
  55. package/agentes/revisor-kotlin-swl.md +2 -2
  56. package/agentes/revisor-nextjs-swl.md +2 -2
  57. package/agentes/revisor-php-swl.md +2 -2
  58. package/agentes/revisor-react-swl.md +2 -2
  59. package/agentes/revisor-rust-swl.md +2 -2
  60. package/agentes/revisor-seguridad-swl.md +2 -2
  61. package/agentes/revisor-swift-swl.md +2 -2
  62. package/agentes/revisor-typescript-swl.md +2 -2
  63. package/agentes/sre-swl.md +2 -2
  64. package/agentes/tdd-qa-swl.md +2 -2
  65. package/comandos/swl/briefing.md +119 -119
  66. package/comandos/swl/contexto.md +0 -2
  67. package/comandos/swl/contribuir.md +233 -233
  68. package/comandos/swl/deuda-codigo.md +97 -0
  69. package/comandos/swl/predecir.md +139 -139
  70. package/comandos/swl/sesiones.md +1 -1
  71. package/gateway/agent-executor.js +1 -1
  72. package/gateway/lib/event-channel.js +191 -191
  73. package/habilidades/agent-deep-links/SKILL.md +148 -148
  74. package/habilidades/agentes-como-servicio/SKILL.md +2 -2
  75. package/habilidades/angular-moderno/SKILL.md +24 -1
  76. package/habilidades/auto-evolucion-protocolo/SKILL.md +276 -276
  77. package/habilidades/backend-async-postgres-testing/SKILL.md +215 -215
  78. package/habilidades/backend-error-design/SKILL.md +221 -221
  79. package/habilidades/backend-production-resilience/SKILL.md +288 -288
  80. package/habilidades/benchmark-memoria/SKILL.md +186 -186
  81. package/habilidades/calidad-anti-patrones-universales/SKILL.md +368 -368
  82. package/habilidades/calidad-contract-testing/SKILL.md +165 -165
  83. package/habilidades/calidad-mutation-testing/SKILL.md +170 -170
  84. package/habilidades/changelog-generator/scripts/parse-commits.js +367 -367
  85. package/habilidades/checklist-seguridad/recursos/stride-cobertura.md +60 -60
  86. package/habilidades/contenedores-docker/SKILL.md +3 -1
  87. package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
  88. package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
  89. package/habilidades/drift-detection/SKILL.md +179 -179
  90. package/habilidades/estructura-proyecto-claude/recursos/frontmatter-y-hooks-referencia.md +1 -1
  91. package/habilidades/estructura-proyecto-claude/recursos/mcp-json-template.json +57 -57
  92. package/habilidades/eval-framework/SKILL.md +212 -212
  93. package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
  94. package/habilidades/harness-claude-code/SKILL.md +4 -4
  95. package/habilidades/harness-claude-code/recursos/disciplina-harness-regla.md +253 -252
  96. package/habilidades/legacy-code-rescue/SKILL.md +268 -267
  97. package/habilidades/meta-skills-estandar/SKILL.md +1 -1
  98. package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
  99. package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +2 -2
  100. package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
  101. package/habilidades/perfil-usuario/SKILL.md +200 -200
  102. package/habilidades/postgresql-experto/SKILL.md +3 -1
  103. package/habilidades/prevencion-sobreingenieria/SKILL.md +70 -92
  104. package/habilidades/prevencion-sobreingenieria/recursos/EXAMPLES.md +580 -580
  105. package/habilidades/prevencion-sobreingenieria/recursos/soluciones-nativas.md +166 -0
  106. package/habilidades/prevencion-sobreingenieria/recursos/variables-residuales-post-refactor.md +85 -0
  107. package/habilidades/proceso-ddia-fundamentos/SKILL.md +255 -255
  108. package/habilidades/proceso-ddia-streaming/SKILL.md +231 -231
  109. package/habilidades/proceso-debate-adversarial/recursos/personas.md +105 -105
  110. package/habilidades/proceso-discovery-machote/SKILL.md +157 -157
  111. package/habilidades/proceso-dynamic-workflows/SKILL.md +138 -138
  112. package/habilidades/proceso-dynamic-workflows/recursos/template-adversarial-verify.js +65 -65
  113. package/habilidades/proceso-dynamic-workflows/recursos/template-triage.js +65 -65
  114. package/habilidades/proceso-intent-engineering/SKILL.md +269 -269
  115. package/habilidades/proceso-modular-split/SKILL.md +256 -256
  116. package/habilidades/prompt-engineering/recursos/patrones-avanzados.md +2 -2
  117. package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
  118. package/habilidades/structured-outputs/SKILL.md +2 -2
  119. package/habilidades/swl-claudemd/recursos/contrato-aprender.md +83 -83
  120. package/habilidades/swl-claudemd/recursos/duplicacion-reglas-globales.md +85 -85
  121. package/habilidades/swl-claudemd/recursos/plantillas-init.md +94 -94
  122. package/habilidades/swl-dashboard/SKILL.md +2 -2
  123. package/habilidades/tdd-workflow/recursos/gherkin-bdd.md +111 -111
  124. package/habilidades/validacion-ci-sistema/recursos/validadores-completos.md +1 -1
  125. package/habilidades/validacion-ci-sistema/scripts/validar-sistema.sh +1 -1
  126. package/hooks/audit-trail.js +4 -4
  127. package/hooks/calidad-pre-commit.js +15 -11
  128. package/hooks/captura-acciones-post.js +3 -2
  129. package/hooks/captura-acciones-session.js +3 -2
  130. package/hooks/ciclo-evolucion-subagente.js +26 -26
  131. package/hooks/ciclo-evolucion.js +26 -26
  132. package/hooks/claudemd-bloat-detector.js +161 -161
  133. package/hooks/claudemd-duplicacion-detector.js +170 -170
  134. package/hooks/contexto-iteracion.js +145 -144
  135. package/hooks/contexto-subagente.js +68 -0
  136. package/hooks/guardrail-modelo.js +14 -4
  137. package/hooks/inyeccion-contexto.js +12 -12
  138. package/hooks/lib/agent-routing.js +107 -107
  139. package/hooks/lib/auto-consolidator.js +335 -335
  140. package/hooks/lib/autonomia.js +208 -208
  141. package/hooks/lib/ciclo-evolucion.js +47 -47
  142. package/hooks/lib/deep-links.js +185 -185
  143. package/hooks/lib/error-classifier.js +308 -308
  144. package/hooks/lib/etapa-auto-evolucion.js +701 -701
  145. package/hooks/lib/etapa-metricas.js +388 -388
  146. package/hooks/lib/etapa-perfil-usuario.js +376 -376
  147. package/hooks/lib/loop-telemetry.js +321 -321
  148. package/hooks/lib/merkle-audit.js +96 -96
  149. package/hooks/lib/model-router.js +2 -2
  150. package/hooks/lib/propose-step.js +358 -358
  151. package/hooks/lib/provenance-tracker.js +191 -191
  152. package/hooks/lib/rate-limit-tracker.js +253 -253
  153. package/hooks/lib/resource-quota.js +122 -122
  154. package/hooks/lib/retry-jitter.js +165 -165
  155. package/hooks/lib/security-net.js +201 -201
  156. package/hooks/lib/skill-auditor.js +588 -588
  157. package/hooks/lib/sync-status.js +228 -228
  158. package/hooks/lib/taint-tracker.js +107 -107
  159. package/hooks/lib/text-similarity.js +241 -241
  160. package/hooks/lib/token-estimator.js +1 -0
  161. package/hooks/lib/toon-compressor.js +245 -245
  162. package/hooks/lib/usage-model.js +1 -1
  163. package/hooks/registro-turnos.js +210 -209
  164. package/hooks/session-briefing.js +98 -98
  165. package/hooks/spec-gate.js +212 -211
  166. package/hooks/sugerir-contribuir.js +2 -1
  167. package/hooks/sugerir-regenerar-inventario.js +171 -170
  168. package/hooks/tdd-gate.js +242 -241
  169. package/hooks/telemetria-skill-routing.js +100 -100
  170. package/hooks/validar-formato-post-subagente.js +140 -140
  171. package/hooks/validar-intent-spec.js +242 -242
  172. package/hooks/validar-memoria-hook.js +218 -218
  173. package/hooks/validar-planning-paths.js +134 -134
  174. package/instintos/autonomia.yaml +27 -27
  175. package/instintos/prompt-appendices.yaml +57 -57
  176. package/llms.txt +29 -29
  177. package/manifiestos/agent-output-schemas.json +57 -57
  178. package/manifiestos/canonical-hashes.json +2948 -1964
  179. package/manifiestos/hook-profiles.json +0 -2
  180. package/manifiestos/hooks-config.json +469 -477
  181. package/manifiestos/invariantes-criticos.json +30 -0
  182. package/manifiestos/modulos.json +1390 -1390
  183. package/manifiestos/planning-paths.json +44 -44
  184. package/manifiestos/skills-lock.json +1282 -1282
  185. package/package.json +93 -93
  186. package/plantillas/auditor-veto-template.md +105 -105
  187. package/plantillas/github-workflows/README.md +47 -47
  188. package/plantillas/github-workflows/release-please.yml +44 -44
  189. package/plantillas/github-workflows/swl-ci.yml +107 -107
  190. package/plantillas/github-workflows/swl-security.yml +51 -51
  191. package/plugin.json +369 -371
  192. package/reglas/accesibilidad.md +10 -10
  193. package/reglas/analisis-previo-tareas-grandes.md +172 -172
  194. package/reglas/api-diseno.md +9 -9
  195. package/reglas/arreglar-al-detectar.md +240 -240
  196. package/reglas/auditorias-documentales-estructurales.md +7 -7
  197. package/reglas/cloud-infra.md +8 -8
  198. package/reglas/consultar-vault-primero.md +195 -195
  199. package/reglas/debatir-antes-de-aceptar.md +158 -158
  200. package/reglas/fragmentos-compartidos.md +183 -183
  201. package/reglas/hooks.md +6 -6
  202. package/reglas/intent-engineering.md +218 -218
  203. package/reglas/markitdown.md +8 -8
  204. package/reglas/monitor-ci.md +309 -309
  205. package/reglas/patrones.md +6 -6
  206. package/reglas/sesiones-paralelas.md +180 -180
  207. package/reglas/sin-duplicacion-reglas-globales.md +182 -182
  208. package/reglas/skills-estandar.md +6 -6
  209. package/reglas/testing.md +7 -7
  210. package/reglas/tests-cleanup.md +224 -224
  211. package/reglas/usar-code-review-graph.md +155 -155
  212. package/reglas/usar-context7.md +226 -226
  213. package/reglas/verificar-citas-normativas.md +548 -548
  214. package/schemas/agent-frontmatter.schema.json +5 -3
  215. package/schemas/agent-message.schema.json +73 -73
  216. package/schemas/agent-output-implementacion.schema.json +114 -114
  217. package/schemas/agent-output-planificacion.schema.json +150 -150
  218. package/schemas/agent-output-review.schema.json +98 -98
  219. package/schemas/diary-entry.schema.json +112 -112
  220. package/schemas/hook-profiles.schema.json +54 -54
  221. package/schemas/hooks-config.schema.json +89 -89
  222. package/schemas/modulos.schema.json +38 -38
  223. package/schemas/perfiles.schema.json +36 -36
  224. package/schemas/plugin.schema.json +77 -77
  225. package/schemas/skill-evals.schema.json +119 -119
  226. package/schemas/skill-frontmatter.schema.json +245 -245
  227. package/scripts/audit-tools/audit-history.js +330 -330
  228. package/scripts/audit-tools/bundle-tracker.js +290 -290
  229. package/scripts/audit-tools/canary-monitor.js +352 -352
  230. package/scripts/audit-tools/code-profiler.js +605 -605
  231. package/scripts/audit-tools/dep-doctor.js +320 -320
  232. package/scripts/audit-tools/env-validator.js +206 -206
  233. package/scripts/audit-tools/lib/fs-walk.js +48 -48
  234. package/scripts/audit-tools/lib/output.js +23 -23
  235. package/scripts/audit-tools/migration-checker.js +392 -392
  236. package/scripts/audit-tools/pentest-scanner.js +1436 -1436
  237. package/scripts/benchmark-memoria.js +167 -167
  238. package/scripts/cli/aprobar-plan.js +73 -73
  239. package/scripts/cli/briefing.js +23 -23
  240. package/scripts/cli/ciclo-evolucion.js +26 -26
  241. package/scripts/cli/configurar-ci.js +40 -40
  242. package/scripts/cli/derivar-feature-list.js +25 -25
  243. package/scripts/cli/detectar-host.js +27 -27
  244. package/scripts/cli/diary-entry.js +69 -69
  245. package/scripts/cli/execution-state.js +18 -18
  246. package/scripts/cli/gateway-notify.js +41 -41
  247. package/scripts/cli/liberar-fase.js +42 -42
  248. package/scripts/cli/loop-telemetry.js +125 -125
  249. package/scripts/cli/mark-evolved.js +56 -56
  250. package/scripts/cli/metricas-dora.js +26 -26
  251. package/scripts/cli/near-duplicate.js +55 -55
  252. package/scripts/cli/notificaciones.js +123 -123
  253. package/scripts/cli/propose-step.js +29 -29
  254. package/scripts/cli/schedule-parse.js +19 -19
  255. package/scripts/cli/sugerir-modelo.js +20 -20
  256. package/scripts/cli/verificar-plan.js +36 -36
  257. package/scripts/cli/verificar-trazabilidad.js +35 -35
  258. package/scripts/configurar-branch-protection.js +418 -418
  259. package/scripts/detectar-aprendizajes-duplicados.js +151 -151
  260. package/scripts/field-report.js +199 -199
  261. package/scripts/generar-checklists-consolidados.js +273 -273
  262. package/scripts/generar-matriz-lenguajes.js +271 -271
  263. package/scripts/instalador.js +4 -1
  264. package/scripts/lib/artefactos-python.js +43 -43
  265. package/scripts/lib/auditar-invocaciones-comandos.js +104 -104
  266. package/scripts/lib/benchmark-metrics.js +160 -160
  267. package/scripts/lib/budget-enforcer.js +252 -252
  268. package/scripts/lib/ci-reader.js +193 -193
  269. package/scripts/lib/claude-sessions.js +1 -0
  270. package/scripts/lib/configurar-ci.js +380 -380
  271. package/scripts/lib/contadores-inventario.js +217 -217
  272. package/scripts/lib/detectar-host-swl.js +175 -175
  273. package/scripts/lib/detectar-stack-detallado.js +307 -307
  274. package/scripts/lib/detector-autoduplicacion-intra-archivo.js +234 -234
  275. package/scripts/lib/detector-reglas-duplicadas.js +220 -220
  276. package/scripts/lib/diary-entry.js +234 -234
  277. package/scripts/lib/eval-metrics-store.js +218 -218
  278. package/scripts/lib/eval-quality.js +171 -171
  279. package/scripts/lib/eval-schemas.js +144 -144
  280. package/scripts/lib/eval-self-correct.js +106 -106
  281. package/scripts/lib/eval-validator.js +185 -185
  282. package/scripts/lib/evidencia-release.js +322 -322
  283. package/scripts/lib/gate-hooks-requires.js +249 -249
  284. package/scripts/lib/gate-licencias.js +212 -212
  285. package/scripts/lib/git-metricas.js +257 -257
  286. package/scripts/lib/jaccard-similarity.js +98 -98
  287. package/scripts/lib/longmemeval-runner.js +125 -125
  288. package/scripts/lib/metricas-dora.js +204 -204
  289. package/scripts/lib/npm-version.js +261 -261
  290. package/scripts/lib/paquetes-conocidos.js +50 -50
  291. package/scripts/lib/plan-lock.js +275 -275
  292. package/scripts/lib/pr-analyzer.js +399 -399
  293. package/scripts/lib/preservar-usuario.js +39 -5
  294. package/scripts/lib/prompt-builder.js +264 -264
  295. package/scripts/lib/reglas-globales-conocidas.json +180 -180
  296. package/scripts/lib/resolver-plan-fase.js +37 -37
  297. package/scripts/lib/rrf-fusion.js +175 -175
  298. package/scripts/lib/schema-version.js +164 -164
  299. package/scripts/lib/scoring-instintos.js +277 -277
  300. package/scripts/lib/semantic-search.js +252 -252
  301. package/scripts/lib/tool-cost-analyzer.js +1 -0
  302. package/scripts/limpiar-artefactos-python.js +131 -131
  303. package/scripts/migrar-csv-a-array.js +168 -168
  304. package/scripts/migrar-fase-dominio.js +200 -200
  305. package/scripts/publicar.js +497 -497
  306. package/scripts/run-eval.js +141 -141
  307. package/scripts/tui/componentes/selector-multi.js +189 -189
  308. package/scripts/tui/componentes/selector-unico.js +158 -158
  309. package/scripts/tui/ejecutores.js +375 -375
  310. package/scripts/tui/index.js +162 -162
  311. package/scripts/tui/lib/colores.js +129 -129
  312. package/scripts/tui/lib/render.js +264 -264
  313. package/scripts/tui/lib/teclas.js +113 -113
  314. package/scripts/tui/pantallas/inspect.js +173 -173
  315. package/scripts/tui/pantallas/install-wizard.js +334 -334
  316. package/scripts/tui/pantallas/menu-principal.js +52 -52
  317. package/scripts/tui/pantallas/progreso.js +274 -274
  318. package/scripts/tui/pantallas/resumen.js +132 -132
  319. package/scripts/tui/pantallas/uninstall-wizard.js +208 -208
  320. package/scripts/tui/pantallas/update-wizard.js +232 -232
  321. package/scripts/tui/pantallas/welcome.js +187 -187
  322. package/scripts/validar-userland-vacio.js +110 -110
  323. package/scripts/validar.js +1 -1
  324. package/scripts/verificar-release.js +51 -0
  325. package/hooks/lib/context-compressor.js +0 -657
  326. package/hooks/linea-estado.js +0 -326
  327. package/hooks/monitor-contexto.js +0 -373
@@ -1,240 +1,240 @@
1
- # Regla: Detectar → Informar → Arreglar en el mismo turno
2
-
3
- Esta regla es OBLIGATORIA y aplica a todo trabajo que Claude ejecute en cualquier
4
- proyecto del usuario. Consolida cuatro feedbacks repetidos en sesiones distintas
5
- entre 2026-04-23 y 2026-05-03 con la misma señal: el usuario rechaza entregas
6
- parciales, deuda silenciosa y bypass de errores ajenos.
7
-
8
- ---
9
-
10
- ## Principio
11
-
12
- > Cuando detectes un error, bug, inconsistencia, anomalía o problema secundario
13
- > durante la ejecución de cualquier trabajo, **informa al usuario brevemente Y
14
- > procede a resolverlo en el mismo turno**. Nunca lo dejes como pendiente, deuda
15
- > implícita, "ya estaba antes" ni "fuera del scope".
16
-
17
- Esta regla resume cuatro feedbacks separados que el usuario reforzó como mismo
18
- principio:
19
-
20
- - "No me gustan las cosas a medias" — rechazo de entregas parciales (2026-04-23).
21
- - "Cuando detectes errores, bugs, inconsistencias y demás informes al usuario y
22
- procedas a solucionar y/o arreglar, además nunca debes dejar pendientes, ni
23
- diferir" (2026-04-30).
24
- - "Resuelve los test que fallan, no bypass" — al detectar intento de excluir
25
- tests del glob para evitar arreglarlos (2026-04-30).
26
- - "Si el job CI falla, hay que arreglarlo todo" — al ver tests rotos
27
- presentados como "preexistentes, no críticos" (2026-05-03).
28
-
29
- ---
30
-
31
- ## Cómo aplicar
32
-
33
- ### Al detectar un problema secundario durante el trabajo principal
34
-
35
- - Reportarlo brevemente al usuario: qué se detectó, dónde, severidad.
36
- - Resolverlo en el mismo turno o en commit separado de la misma sesión.
37
- - NUNCA ofrecer "lo documento como deuda" como primera opción.
38
- - NUNCA usar frases como "son tests con mocks pre-existentes que ya estaban rotos",
39
- "esto estaba antes", "no es del scope inmediato" para evitar el trabajo.
40
-
41
- ### Al ejecutar tests, builds, lints, validadores
42
-
43
- - Si hay failures, listarlos todos y atacarlos todos.
44
- - No distinguir "bugs reales" vs "tests con mocks mal configurados" como excusa
45
- para arreglar solo unos. Si están rotos, arreglarlos.
46
- - Excepción: bugs que requieran decisión arquitectural ambigua del usuario —
47
- pedir esa decisión explícitamente, no diferir como "tu decisión".
48
-
49
- ### Al modificar código adyacente
50
-
51
- - Si tocas líneas con problemas adyacentes (None checks faltantes, schemas
52
- obsoletos, mocks inconsistentes, contadores stale, paths inválidos),
53
- arreglarlos en el mismo commit o en commit separado de la misma sesión.
54
-
55
- ### Al refactorizar
56
-
57
- - Si encuentras código adyacente que se quedó obsoleto por un refactor previo,
58
- actualizarlo. No dejar deuda residual.
59
-
60
- ### Al detectar un error ajeno al trabajo actual
61
-
62
- - NO bypassear (excluir tests del glob, comentar checks, `|| true`,
63
- downgradear a warning, ignorar).
64
- - Resolver de raíz o, si requiere decisión, abrir explícitamente la decisión
65
- con el usuario antes de bypassear.
66
- - El default es resolver, no esquivar.
67
-
68
- ### Al presentar planes con sub-tareas
69
-
70
- - Dar primero la opción "todo completo" con esfuerzo estimado.
71
- - Si por capacity hay que partir el trabajo, hacerlo explícito con razón
72
- concreta: "esta sesión cubre 3.1 a 3.4; la 3.5 va en commit separado por
73
- X razón concreta", no por preferencia genérica.
74
-
75
- ### Al recomendar diferir un patrón o feature
76
-
77
- - Redactar **simultáneamente** el ítem de deuda formal con criterio de disparo
78
- verificable. La oferta "lo dejo apuntado" sin entrada formal no es aceptable.
79
- - Distinción de categorías:
80
- - **DT (deuda técnica)** con plan de cierre.
81
- - **DA (decisión arquitectural)** con trigger verificable.
82
- - **OP (pendiente operacional)** con responsable.
83
- - "Mediano plazo / Q3 / cuando aparezca demanda" sin trigger verificable es
84
- deuda silenciosa. Convertir a DA formal en mismo commit.
85
- - Trigger verificable significa condición observable: "≥2 clientes distintos
86
- reportan", "p95 > 60s en producción documentado", "uso > N veces/mes",
87
- no "cuando sea relevante" o "más adelante".
88
-
89
- ### Hallazgos colaterales con blast radius alto — patrón Hallazgo A/B/C
90
-
91
- Durante el trabajo principal puedes detectar un problema secundario cuyo fix
92
- **no cabe** en la regla general "detectar → informar → arreglar en mismo
93
- turno" porque su blast radius es alto: toca infra compartida, requiere
94
- downtime, modifica contratos públicos, exige decisión arquitectural, o su
95
- remediación dura más que el trabajo principal en curso.
96
-
97
- Aplicar el catálogo de tres opciones explícitas — NUNCA mezclar el fix con
98
- el trabajo principal sin etiquetarlo y NUNCA dejarlo como deuda silenciosa.
99
-
100
- #### Definición operacional
101
-
102
- Un hallazgo colateral cumple **al menos uno** de estos atributos:
103
-
104
- - Su fix toca archivos fuera del scope del trabajo principal (>3 archivos
105
- no relacionados con la tarea actual).
106
- - Requiere operación destructiva (`git filter-branch`, `git filter-repo`,
107
- drop de tabla, rotación de credencial productiva).
108
- - Modifica configuración de infra compartida (CI/CD, branch protection,
109
- permisos de repo, secrets de organización).
110
- - Exige decisión arquitectural ambigua que el agente no puede tomar solo.
111
- - Su remediación dura más que el commit actual del trabajo principal.
112
-
113
- Si NO cumple ninguno de estos atributos, NO es Hallazgo A/B/C — aplicar la
114
- regla general (arreglar en mismo turno).
115
-
116
- #### Las tres opciones explícitas
117
-
118
- | Opción | Cuándo | Acción |
119
- |---|---|---|
120
- | **Hallazgo A — Resolver ahora** | Fix < 30 min, reversible con `git revert`, sin blast radius en infra compartida, sin decisión arquitectural | Pausar trabajo principal, fix en commit separado etiquetado, retomar |
121
- | **Hallazgo B — DT formal con trigger verificable** | Fix con blast radius alto pero NO bloqueante para el trabajo principal. Tiene criterio observable que define cuándo cerrarlo | Redactar entry en `.planning/DEUDA-TECNICA.md` con ID, trigger verificable, plan de cierre paso a paso. Continuar trabajo principal |
122
- | **Hallazgo C — Escalar al usuario** | Fix excede autorización del agente: requiere decisión arquitectural, operación destructiva irreversible, o modifica contratos productivos | Pausar trabajo principal, reportar al usuario con 3 opciones concretas y recomendación, esperar decisión explícita |
123
-
124
- #### Reglas duras
125
-
126
- - **Reportar siempre, independientemente de la opción elegida**: el usuario
127
- ve el hallazgo en el mismo turno, no se entera en el commit posterior.
128
- - **DT formal NO es "lo apunto y veremos"**: requiere ID (`DT-NOMBRE-X`),
129
- trigger verificable observable, plan de cierre con pasos concretos, y
130
- entry visible en `.planning/DEUDA-TECNICA.md` commiteada en mismo turno.
131
- - **NUNCA degradar Hallazgo C a Hallazgo B sin pedirlo**: una decisión
132
- arquitectural disfrazada de DT es deuda silenciosa con cara de proceso.
133
- - **NUNCA "arreglar como parte del trabajo principal" un Hallazgo B/C
134
- sin etiquetarlo**: aunque el fix sea pequeño, si su blast radius es alto
135
- el commit debe ser separado con mensaje explícito ("colateral: cierra
136
- DT-X" o "colateral: aplica fix urgente fuera de scope original").
137
-
138
- #### Ejemplo validado (SIGAF, sesión 2026-05-20)
139
-
140
- Durante implementación de pipeline DevSecOps (gates gitleaks + SAST + deps
141
- + containers), el agente detectó tres hallazgos colaterales:
142
-
143
- - **Hallazgo A — Validator JWT con frozenset + regex**: bug detectado en
144
- `backend/app/core/config.py` donde `_CENTINELA` hardcodeado divergía del
145
- `.env.example` real. Fix < 30 min, reversible, alcance acotado a
146
- validators. Aplicado en commit separado mismo turno + 8 tests de regresión.
147
-
148
- - **Hallazgo B — DT-GHAS-HABILITAR**: detectado que repo PRIVATE en
149
- organización sin GitHub Advanced Security responde 403 al upload SARIF.
150
- Mitigación inmediata con `continue-on-error: true` en step de upload.
151
- DT formal con trigger verificable: "equipo crece >2 personas, auditoría
152
- externa, o licencia GHAS adquirida". Entry en `.planning/DEUDA-TECNICA.md`
153
- con plan de cierre (eliminar `continue-on-error` cuando GHAS activo).
154
-
155
- - **Hallazgo C — DT-HISTORIAL-ENV**: detectado que commit `203a603` en
156
- historial git contenía `ADMIN_PASSWORD=Admin2026!` (ya rotado, ya en
157
- `.gitignore`, pero presente en `git log -p`). Fix requiere `git
158
- filter-branch` o `git filter-repo` (destructivo, irreversible para
159
- colaboradores con clones locales). El agente escaló al usuario; usuario
160
- respondió "estamos en desarrollo y etapa de pruebas" → degradado a DT
161
- formal con trigger "antes del primer deploy productivo, repo público
162
- o colaborador externo".
163
-
164
- Los tres hallazgos quedaron visibles, etiquetados y con trigger observable.
165
- Ninguno se mezcló silenciosamente con el trabajo principal del pipeline.
166
-
167
- #### Anti-patrones específicos
168
-
169
- - **"Lo arreglo de paso porque ya estoy aquí"**: si el fix tiene blast
170
- radius alto, NO va de paso. Va etiquetado o no va.
171
- - **DT sin trigger verificable**: "cuando sea posible", "más adelante",
172
- "cuando tengamos tiempo" — viola la regla general arriba. Trigger debe
173
- ser condición observable.
174
- - **Reportar Hallazgo C como informativo sin pedir decisión**: si la
175
- decisión requiere autorización del usuario, la respuesta NO es
176
- "documentado para tu consideración" — es "elige A, B o C".
177
- - **Aplicar Hallazgo A descubriendo en medio que era Hallazgo C**: si al
178
- empezar el fix detectas que tiene blast radius mayor del estimado,
179
- detente, revierte el WIP, y re-clasifica. NO terminar "porque ya
180
- empezamos".
181
-
182
- ---
183
-
184
- ## Excepciones legítimas
185
-
186
- NO aplicar la regla al pie de la letra cuando:
187
-
188
- 1. **El fix es ambiguo** — varias opciones razonables sin criterio claro para
189
- elegir. Presentar opciones concretas con la recomendación y esperar
190
- decisión rápida.
191
- 2. **El fix es destructivo** — `rm -rf`, `git reset --hard`, `git push --force`,
192
- eliminar tablas de BD. Esos siguen requiriendo confirmación explícita por
193
- separado, sin importar que el problema esté detectado.
194
- 3. **El fix tiene blast radius alto** — modifica configuración de CI, infra
195
- compartida, contratos públicos de API. Presentar plan, pedir confirmación.
196
- 4. **El bug requiere decisión de producto** — comportamiento esperado ambiguo,
197
- breaking change. Explícito al usuario y esperar.
198
-
199
- En todos los casos: presentar la opción y la recomendación, NO dejar el
200
- problema sin reportar.
201
-
202
- ---
203
-
204
- ## Anti-patrones explícitos
205
-
206
- - "Lo dejo como deuda residual" — sin DT/DA formal con criterio de disparo.
207
- - "Esos tests ya estaban rotos antes" — usado para evitar arreglarlos.
208
- - "No es parte del scope inmediato" — para esquivar un fix obvio.
209
- - "Lo documento y tú decides" — para diferir trabajo claro al usuario.
210
- - "Mediano plazo" sin trigger verificable.
211
- - Excluir tests del glob, comentar checks, `|| true`, downgradear severidad de
212
- un linter — para que el CI deje de fallar sin arreglar la causa.
213
- - Mover archivos a `legacy/` o `deprecated/` sin plan de eliminación con
214
- criterio de disparo.
215
-
216
- ---
217
-
218
- ## Relación con otras reglas
219
-
220
- - `seguridad-agentes.md` — sección "Anti-fallback silencioso y anti-degradación"
221
- cubre el mismo principio aplicado a agentes autónomos. Esta regla lo extiende
222
- al trabajo del usuario.
223
- - `git-workflow.md` — los commits siguen siendo atómicos; arreglar un problema
224
- detectado puede requerir varios commits, no uno solo gigante.
225
- - `pruebas.md` — los tests rotos son violaciones a esta regla. No se mergea
226
- con tests rotos (excepción: tests rotos por decisión de producto en proceso).
227
-
228
- ---
229
-
230
- ## Origen de esta regla
231
-
232
- Consolidada el 2026-05-04 a partir de cuatro feedbacks repetidos del usuario en
233
- memorias nativas de Claude Code de los proyectos sigm, swl-ses y emaia
234
- (2026-04-23 a 2026-05-03). Antes vivía duplicada en 4 archivos de feedback
235
- distintos en 2 de los 3 proyectos. Promovida a regla global para eliminar
236
- duplicación y aplicar uniformemente a todo proyecto del usuario.
237
-
238
- Memoria nativa local correspondiente: redundante tras esta regla; mantener solo
239
- una mención mínima en MEMORY.md de cada proyecto si se desea preservar el rastro
240
- histórico, pero el contenido operativo vive aquí.
1
+ # Regla: Detectar → Informar → Arreglar en el mismo turno
2
+
3
+ Esta regla es OBLIGATORIA y aplica a todo trabajo que Claude ejecute en cualquier
4
+ proyecto del usuario. Consolida cuatro feedbacks repetidos en sesiones distintas
5
+ entre 2026-04-23 y 2026-05-03 con la misma señal: el usuario rechaza entregas
6
+ parciales, deuda silenciosa y bypass de errores ajenos.
7
+
8
+ ---
9
+
10
+ ## Principio
11
+
12
+ > Cuando detectes un error, bug, inconsistencia, anomalía o problema secundario
13
+ > durante la ejecución de cualquier trabajo, **informa al usuario brevemente Y
14
+ > procede a resolverlo en el mismo turno**. Nunca lo dejes como pendiente, deuda
15
+ > implícita, "ya estaba antes" ni "fuera del scope".
16
+
17
+ Esta regla resume cuatro feedbacks separados que el usuario reforzó como mismo
18
+ principio:
19
+
20
+ - "No me gustan las cosas a medias" — rechazo de entregas parciales (2026-04-23).
21
+ - "Cuando detectes errores, bugs, inconsistencias y demás informes al usuario y
22
+ procedas a solucionar y/o arreglar, además nunca debes dejar pendientes, ni
23
+ diferir" (2026-04-30).
24
+ - "Resuelve los test que fallan, no bypass" — al detectar intento de excluir
25
+ tests del glob para evitar arreglarlos (2026-04-30).
26
+ - "Si el job CI falla, hay que arreglarlo todo" — al ver tests rotos
27
+ presentados como "preexistentes, no críticos" (2026-05-03).
28
+
29
+ ---
30
+
31
+ ## Cómo aplicar
32
+
33
+ ### Al detectar un problema secundario durante el trabajo principal
34
+
35
+ - Reportarlo brevemente al usuario: qué se detectó, dónde, severidad.
36
+ - Resolverlo en el mismo turno o en commit separado de la misma sesión.
37
+ - NUNCA ofrecer "lo documento como deuda" como primera opción.
38
+ - NUNCA usar frases como "son tests con mocks pre-existentes que ya estaban rotos",
39
+ "esto estaba antes", "no es del scope inmediato" para evitar el trabajo.
40
+
41
+ ### Al ejecutar tests, builds, lints, validadores
42
+
43
+ - Si hay failures, listarlos todos y atacarlos todos.
44
+ - No distinguir "bugs reales" vs "tests con mocks mal configurados" como excusa
45
+ para arreglar solo unos. Si están rotos, arreglarlos.
46
+ - Excepción: bugs que requieran decisión arquitectural ambigua del usuario —
47
+ pedir esa decisión explícitamente, no diferir como "tu decisión".
48
+
49
+ ### Al modificar código adyacente
50
+
51
+ - Si tocas líneas con problemas adyacentes (None checks faltantes, schemas
52
+ obsoletos, mocks inconsistentes, contadores stale, paths inválidos),
53
+ arreglarlos en el mismo commit o en commit separado de la misma sesión.
54
+
55
+ ### Al refactorizar
56
+
57
+ - Si encuentras código adyacente que se quedó obsoleto por un refactor previo,
58
+ actualizarlo. No dejar deuda residual.
59
+
60
+ ### Al detectar un error ajeno al trabajo actual
61
+
62
+ - NO bypassear (excluir tests del glob, comentar checks, `|| true`,
63
+ downgradear a warning, ignorar).
64
+ - Resolver de raíz o, si requiere decisión, abrir explícitamente la decisión
65
+ con el usuario antes de bypassear.
66
+ - El default es resolver, no esquivar.
67
+
68
+ ### Al presentar planes con sub-tareas
69
+
70
+ - Dar primero la opción "todo completo" con esfuerzo estimado.
71
+ - Si por capacity hay que partir el trabajo, hacerlo explícito con razón
72
+ concreta: "esta sesión cubre 3.1 a 3.4; la 3.5 va en commit separado por
73
+ X razón concreta", no por preferencia genérica.
74
+
75
+ ### Al recomendar diferir un patrón o feature
76
+
77
+ - Redactar **simultáneamente** el ítem de deuda formal con criterio de disparo
78
+ verificable. La oferta "lo dejo apuntado" sin entrada formal no es aceptable.
79
+ - Distinción de categorías:
80
+ - **DT (deuda técnica)** con plan de cierre.
81
+ - **DA (decisión arquitectural)** con trigger verificable.
82
+ - **OP (pendiente operacional)** con responsable.
83
+ - "Mediano plazo / Q3 / cuando aparezca demanda" sin trigger verificable es
84
+ deuda silenciosa. Convertir a DA formal en mismo commit.
85
+ - Trigger verificable significa condición observable: "≥2 clientes distintos
86
+ reportan", "p95 > 60s en producción documentado", "uso > N veces/mes",
87
+ no "cuando sea relevante" o "más adelante".
88
+
89
+ ### Hallazgos colaterales con blast radius alto — patrón Hallazgo A/B/C
90
+
91
+ Durante el trabajo principal puedes detectar un problema secundario cuyo fix
92
+ **no cabe** en la regla general "detectar → informar → arreglar en mismo
93
+ turno" porque su blast radius es alto: toca infra compartida, requiere
94
+ downtime, modifica contratos públicos, exige decisión arquitectural, o su
95
+ remediación dura más que el trabajo principal en curso.
96
+
97
+ Aplicar el catálogo de tres opciones explícitas — NUNCA mezclar el fix con
98
+ el trabajo principal sin etiquetarlo y NUNCA dejarlo como deuda silenciosa.
99
+
100
+ #### Definición operacional
101
+
102
+ Un hallazgo colateral cumple **al menos uno** de estos atributos:
103
+
104
+ - Su fix toca archivos fuera del scope del trabajo principal (>3 archivos
105
+ no relacionados con la tarea actual).
106
+ - Requiere operación destructiva (`git filter-branch`, `git filter-repo`,
107
+ drop de tabla, rotación de credencial productiva).
108
+ - Modifica configuración de infra compartida (CI/CD, branch protection,
109
+ permisos de repo, secrets de organización).
110
+ - Exige decisión arquitectural ambigua que el agente no puede tomar solo.
111
+ - Su remediación dura más que el commit actual del trabajo principal.
112
+
113
+ Si NO cumple ninguno de estos atributos, NO es Hallazgo A/B/C — aplicar la
114
+ regla general (arreglar en mismo turno).
115
+
116
+ #### Las tres opciones explícitas
117
+
118
+ | Opción | Cuándo | Acción |
119
+ |---|---|---|
120
+ | **Hallazgo A — Resolver ahora** | Fix < 30 min, reversible con `git revert`, sin blast radius en infra compartida, sin decisión arquitectural | Pausar trabajo principal, fix en commit separado etiquetado, retomar |
121
+ | **Hallazgo B — DT formal con trigger verificable** | Fix con blast radius alto pero NO bloqueante para el trabajo principal. Tiene criterio observable que define cuándo cerrarlo | Redactar entry en `.planning/DEUDA-TECNICA.md` con ID, trigger verificable, plan de cierre paso a paso. Continuar trabajo principal |
122
+ | **Hallazgo C — Escalar al usuario** | Fix excede autorización del agente: requiere decisión arquitectural, operación destructiva irreversible, o modifica contratos productivos | Pausar trabajo principal, reportar al usuario con 3 opciones concretas y recomendación, esperar decisión explícita |
123
+
124
+ #### Reglas duras
125
+
126
+ - **Reportar siempre, independientemente de la opción elegida**: el usuario
127
+ ve el hallazgo en el mismo turno, no se entera en el commit posterior.
128
+ - **DT formal NO es "lo apunto y veremos"**: requiere ID (`DT-NOMBRE-X`),
129
+ trigger verificable observable, plan de cierre con pasos concretos, y
130
+ entry visible en `.planning/DEUDA-TECNICA.md` commiteada en mismo turno.
131
+ - **NUNCA degradar Hallazgo C a Hallazgo B sin pedirlo**: una decisión
132
+ arquitectural disfrazada de DT es deuda silenciosa con cara de proceso.
133
+ - **NUNCA "arreglar como parte del trabajo principal" un Hallazgo B/C
134
+ sin etiquetarlo**: aunque el fix sea pequeño, si su blast radius es alto
135
+ el commit debe ser separado con mensaje explícito ("colateral: cierra
136
+ DT-X" o "colateral: aplica fix urgente fuera de scope original").
137
+
138
+ #### Ejemplo validado (SIGAF, sesión 2026-05-20)
139
+
140
+ Durante implementación de pipeline DevSecOps (gates gitleaks + SAST + deps
141
+ + containers), el agente detectó tres hallazgos colaterales:
142
+
143
+ - **Hallazgo A — Validator JWT con frozenset + regex**: bug detectado en
144
+ `backend/app/core/config.py` donde `_CENTINELA` hardcodeado divergía del
145
+ `.env.example` real. Fix < 30 min, reversible, alcance acotado a
146
+ validators. Aplicado en commit separado mismo turno + 8 tests de regresión.
147
+
148
+ - **Hallazgo B — DT-GHAS-HABILITAR**: detectado que repo PRIVATE en
149
+ organización sin GitHub Advanced Security responde 403 al upload SARIF.
150
+ Mitigación inmediata con `continue-on-error: true` en step de upload.
151
+ DT formal con trigger verificable: "equipo crece >2 personas, auditoría
152
+ externa, o licencia GHAS adquirida". Entry en `.planning/DEUDA-TECNICA.md`
153
+ con plan de cierre (eliminar `continue-on-error` cuando GHAS activo).
154
+
155
+ - **Hallazgo C — DT-HISTORIAL-ENV**: detectado que commit `203a603` en
156
+ historial git contenía `ADMIN_PASSWORD=Admin2026!` (ya rotado, ya en
157
+ `.gitignore`, pero presente en `git log -p`). Fix requiere `git
158
+ filter-branch` o `git filter-repo` (destructivo, irreversible para
159
+ colaboradores con clones locales). El agente escaló al usuario; usuario
160
+ respondió "estamos en desarrollo y etapa de pruebas" → degradado a DT
161
+ formal con trigger "antes del primer deploy productivo, repo público
162
+ o colaborador externo".
163
+
164
+ Los tres hallazgos quedaron visibles, etiquetados y con trigger observable.
165
+ Ninguno se mezcló silenciosamente con el trabajo principal del pipeline.
166
+
167
+ #### Anti-patrones específicos
168
+
169
+ - **"Lo arreglo de paso porque ya estoy aquí"**: si el fix tiene blast
170
+ radius alto, NO va de paso. Va etiquetado o no va.
171
+ - **DT sin trigger verificable**: "cuando sea posible", "más adelante",
172
+ "cuando tengamos tiempo" — viola la regla general arriba. Trigger debe
173
+ ser condición observable.
174
+ - **Reportar Hallazgo C como informativo sin pedir decisión**: si la
175
+ decisión requiere autorización del usuario, la respuesta NO es
176
+ "documentado para tu consideración" — es "elige A, B o C".
177
+ - **Aplicar Hallazgo A descubriendo en medio que era Hallazgo C**: si al
178
+ empezar el fix detectas que tiene blast radius mayor del estimado,
179
+ detente, revierte el WIP, y re-clasifica. NO terminar "porque ya
180
+ empezamos".
181
+
182
+ ---
183
+
184
+ ## Excepciones legítimas
185
+
186
+ NO aplicar la regla al pie de la letra cuando:
187
+
188
+ 1. **El fix es ambiguo** — varias opciones razonables sin criterio claro para
189
+ elegir. Presentar opciones concretas con la recomendación y esperar
190
+ decisión rápida.
191
+ 2. **El fix es destructivo** — `rm -rf`, `git reset --hard`, `git push --force`,
192
+ eliminar tablas de BD. Esos siguen requiriendo confirmación explícita por
193
+ separado, sin importar que el problema esté detectado.
194
+ 3. **El fix tiene blast radius alto** — modifica configuración de CI, infra
195
+ compartida, contratos públicos de API. Presentar plan, pedir confirmación.
196
+ 4. **El bug requiere decisión de producto** — comportamiento esperado ambiguo,
197
+ breaking change. Explícito al usuario y esperar.
198
+
199
+ En todos los casos: presentar la opción y la recomendación, NO dejar el
200
+ problema sin reportar.
201
+
202
+ ---
203
+
204
+ ## Anti-patrones explícitos
205
+
206
+ - "Lo dejo como deuda residual" — sin DT/DA formal con criterio de disparo.
207
+ - "Esos tests ya estaban rotos antes" — usado para evitar arreglarlos.
208
+ - "No es parte del scope inmediato" — para esquivar un fix obvio.
209
+ - "Lo documento y tú decides" — para diferir trabajo claro al usuario.
210
+ - "Mediano plazo" sin trigger verificable.
211
+ - Excluir tests del glob, comentar checks, `|| true`, downgradear severidad de
212
+ un linter — para que el CI deje de fallar sin arreglar la causa.
213
+ - Mover archivos a `legacy/` o `deprecated/` sin plan de eliminación con
214
+ criterio de disparo.
215
+
216
+ ---
217
+
218
+ ## Relación con otras reglas
219
+
220
+ - `seguridad-agentes.md` — sección "Anti-fallback silencioso y anti-degradación"
221
+ cubre el mismo principio aplicado a agentes autónomos. Esta regla lo extiende
222
+ al trabajo del usuario.
223
+ - `git-workflow.md` — los commits siguen siendo atómicos; arreglar un problema
224
+ detectado puede requerir varios commits, no uno solo gigante.
225
+ - `pruebas.md` — los tests rotos son violaciones a esta regla. No se mergea
226
+ con tests rotos (excepción: tests rotos por decisión de producto en proceso).
227
+
228
+ ---
229
+
230
+ ## Origen de esta regla
231
+
232
+ Consolidada el 2026-05-04 a partir de cuatro feedbacks repetidos del usuario en
233
+ memorias nativas de Claude Code de los proyectos sigm, swl-ses y emaia
234
+ (2026-04-23 a 2026-05-03). Antes vivía duplicada en 4 archivos de feedback
235
+ distintos en 2 de los 3 proyectos. Promovida a regla global para eliminar
236
+ duplicación y aplicar uniformemente a todo proyecto del usuario.
237
+
238
+ Memoria nativa local correspondiente: redundante tras esta regla; mantener solo
239
+ una mención mínima en MEMORY.md de cada proyecto si se desea preservar el rastro
240
+ histórico, pero el contenido operativo vive aquí.
@@ -1,10 +1,10 @@
1
- ---
2
- paths:
3
- - "**/scripts/verificar-*.js"
4
- - "**/MANUAL_USO.md"
5
- - "**/manifiestos/**"
6
- - "**/INVENTARIO.md"
7
- ---
1
+ ---
2
+ paths:
3
+ - "**/scripts/verificar-*.js"
4
+ - "**/MANUAL_USO.md"
5
+ - "**/manifiestos/**"
6
+ - "**/INVENTARIO.md"
7
+ ---
8
8
  # Regla: Auditorías documentales estructurales en SWL
9
9
 
10
10
  Esta regla es **OBLIGATORIA** y aplica a todo agente o agente humano que
@@ -1,11 +1,11 @@
1
- ---
2
- paths:
3
- - "**/*.tf"
4
- - "**/*.tfvars"
5
- - "**/Dockerfile*"
6
- - "**/*.bicep"
7
- - "**/docker-compose*.{yml,yaml}"
8
- ---
1
+ ---
2
+ paths:
3
+ - "**/*.tf"
4
+ - "**/*.tfvars"
5
+ - "**/Dockerfile*"
6
+ - "**/*.bicep"
7
+ - "**/docker-compose*.{yml,yaml}"
8
+ ---
9
9
  # Regla: Infraestructura Cloud
10
10
 
11
11
  Esta regla es OBLIGATORIA para todo recurso desplegado en cloud sin excepción.